Oracle
ベンチマーク比べするためだけにWin上で動かしたいなーなんて場合はとりあえずCygwinなんですけど、この場合setup.pyスクリプトに手でパッチ当てないとうまく動いてくれません。詳細は以下のとおり。 http://permalink.gmane.org/gmane.comp.python.db.cx-or…
最近ではDBのサンプルデータベースを作るのに専らSuper-Smackを使ってたんですが(使い方は http://thinkit.co.jp/cert/article/0707/2/2/2.htm (自分メモ))久しぶりにconfigureしたらOracle指定ができたので、「あれ?Oracle対応してるのかな?」とか…
最近だとvirtualenv切ってPIPで入れるのがお作法的に綺麗な感じがするので、その手順をメモ。 ■前提条件 ・Pythonの比較的新しめな奴(2.5以降系) ・Oracle Instant Clinetが導入され、sqlplusでの接続確認済 ・Oracle環境変数等設定済 [oracle@oracle11g ~]$…
OEMで手でポチポチやってらんねえーって時に。スクリプトとかにしておくと吉。 ・まずはSYSDBAでログイン $ sqlplus sys/test as sysdba ・表領域追加 create BIGFILE tablespace TEST_20110930 datafile '/opt/oracle/oradata/TEST_20110930.ORA' size 5000…
結論から言うと「OracleのSYSDATEをMySQLに移行する場合はNOW()使え」ということらしい。 http://nippondanji.blogspot.com/2009/04/sysdatenow.html 以下検証ソース。 SQL> CONN / AS SYSDBA SQL> GRANT EXECUTE ON DBMS_LOCK TO SCOTT ; // 権限あげないと…
CentOSに入れるとなんだかんだで13GBくらい食う。なのでVMの場合でも20GBくらいは確保しておいたほうがよい。 MBAだからセコセコやってたら3回くらいやり直すはめに。LVMとか切り直せばいいんでしょうけどめんどくて。 手順は以下の通りやるのがおすすめ。 h…
Oracleのdmpファイルは上位互換はあるが下位互換はないので、11gのexpコマンドで10gに接続してdmp吐こうとすると怒られる。 かといって今更RHEL4(CentOS4)入れて10g入れて、、、なんてやってらんない。 そんなときにdmpを吐くだけならXEを入れてみるのもあり…
ビッグサイズ表領域を使うのが手っ取り早い。 create BIGFILE tablespace TEST_BIGSIZE datafile '/opt/oracle/oradata/TEST_BIGSIZE.ORA' size 50000M AUTOEXTEND ON next 100M maxsize unlimited segment space management AUTO; EnterpriseManagerからも…
Oracleで予約語をカラム名に使うには以下のように" " でくくる。 SQL> select MAX("mode") from TEST; MAX("MODE") ----------- 1ちなみにMySQLの場合は``でくくる。そもそも予約語なんだから最初から使うなよって感じがしますが。
まず、UTF-8とSJISで文字コードを変換したときに化けやすい文字、ってのがある。 http://ja.wikipedia.org/wiki/Unicode#.E6.B3.A2.E3.83.80.E3.83.83.E3.82.B7.E3.83.A5.E3.83.BB.E5.85.A8.E8.A7.92.E3.83.81.E3.83.AB.E3.83.80.E5.95.8F.E9.A1.8Cそんなか…
(Oracle Instantclient Version 10.2.0.4 の場合です)相変わらず変なコツがいるので。まず32bit版を落とす。解凍してライブラリに別名をつける $ ln -s libclntsh.dylib.10.1 libclntsh.dylib $ ln -s libocci.dylib.10.1 libocci.dylib 環境変数の設定~/.ba…
TESTパッケージ内のファンクションを呼び出すには以下のようにしとくのが無難。 set serveroutput on declare arg1 VARCHAR2(200); arg2 VARCHAR2(200); result NUMBER; begin result := TEST.TESTFUNC(arg1, arg2); DBMS_OUTPUT.PUT_LINE(arg1); DBMS_OUTPU…
'aaa' = 'AAA' なんでPKにすると余裕でduplicate keyしたりする。すげえ。これを防ぐにはDDLで VARCHAR(20) BINARY; などとバイナリ指定しないといけない。めんどくせえー ちなみにテーブル名とかOracleは大文字小文字を区別しないのは有名だけど、 MySQLもm…
■システム日付 ・Oracle SYSDATE ・MySQL NOW()■日付型→文字列型変換(YYYY/MM/DD) ・Oracle: TO_DATE(TO_CHAR(SYSDATE), 'YY-MM-DD') ・MySQL: DATE_FORMAT( SYSDATE() , '%Y-%m-%d')■TRUNC(日付) ・Oracle TRUNC(SYSDATE) ・MySQL DATE(SYSDATE())■ADD_MONT…
10gのDBサーバに11gのクライアントからEXPしたりしようとすると ORA-00904: "POLTYP": invalid identifier って出て途中でアボートする。逆(10gでexpしたものを11gにimp)とかは普通にできるので なんつーか割り切った仕様なんですかね。めんどくせえなー
sqlplusは前回の履歴とか呼び出せないのがなんとも切ないですよねー。 以下の手順でrlwrap入れると、シェルで履歴呼び出しとかできるようになります。便利。依存ライブラリのインストール $ yum -y install readline-devel (Debian系は $ apt-get install li…
とりあえずcx_Oracle動けばいいやって感じの場合のメモ。こっからBasicとSDKを拾ってくる http://www.oracle.com/technetwork/jp/topics/index-099943-ja.html■rpmインストール # rpm -ivh oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.rpm # rpm -i…
Linuxでコマンド実行時間を取るのに便利なtimeコマンドですが、sqlplusとかだと途中で入力受付になってそこで止まってしまって計測できないことがあります。そういう時にヒアドキュメントなんですが、いつも忘れちゃうのでメモ。 $ time sqlplus benchmark/t…
普通にphpコマンドで流すと通るのにWebから接続できねー!って場合、apacheユーザのパスにORACLE_HOMEとかが通ってない。かといえ、apacheとかPHPとかソースから入れるのはめんどくさい。。。という糞畜生向けに、起動スクリプトに環境変数を直書きするとい…
Python用Oracleコネクタのインストール方法です。いまんとこ最新の5.1で確認しました。Oracleがインストールされているのと同じサーバーに入れることを前提とします。そうでない場合はOracle instantclientとか入れればいいみたい。その場合の手順は必要にな…
SELECT object_name, object_type FROM user_objects WHERE object_type = 'PROCEDURE' OR object_type = 'FUNCTION' OR object_type = 'PACKAGE' OR object_type = 'LIBRARY' ORDER BY object_type, object_name ;object_typeで指定するスキーマの種類とか…