nDiki : Oracle

Oracle - オラクル

Oracle Corporation、あるいは日本オラクル株式会社のこと。 また単に Oracle と言えば Oracle Database を指すことも多い。

Perl からは DBI用ドライバ DBD::Oracle を使用することで、接続できる。

2002年3月6日 (水)

14:15 Oracle8i for Linux

Oracle 8i Enterprise Edition for Linux R8.1.7 トライアル版がやっと、ダウンロードできた。 とりあえずインストール。

16:30 とりあえず入れた

/usr/local/oracle/product/8.1.7/bin/dbassist でデータベース作ってみる。

18:00 うまくいかない

データベースが作れない。 再インストールしたけど、駄目。 やっぱり kernel のパラメータきちんといじらないと駄目なのかな……

[ 3月6日全て ]

2005年5月19日 (木)

DBD::Oracle 1.16 を Debian GNU/Linux sid に入れる

インストール方法は「Instant Client10g」を参考にした。

Oracle クライアントライブラリを取得

Oracle Technology Network License のもとで配布されている、Oracle Database 10g の instant client を利用する。 30日間試用可能。

  • instantclient-basic-linux32-10.1.0.3.zip
  • instantclient-sdk-linux32-10.1.0.3.zip
  • instantclient-sqlplus-linux32-10.1.0.3.zip

をダウンロード。

Oracle クライアントライブラリを展開

/usr/local/oracle の下に展開。シンボリックリンクをいくつか設定する。

 mkdir /usr/local/oracle
 cd /usr/local/oracle
 unzip /tmp/instantclient-basic-linux32-10.1.0.3.zip
 unzip /tmp/instantclient-sdk-linux32-10.1.0.3.zip
 unzip /tmp/instantclient-sqlplus-linux32-10.1.0.3.zip
 cd instantclient10_1
 ln -s . lib
 ln -s libclntsh.so.10.1 libclntsh.so
 ln -s libocci.so.10.1 libocci.so

ビルド環境を設定

環境変数を設定する

 export ORACLE_HOME=/usr/local/oracle/instantclient10_1
 export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH

DBD::Oracle を deb パッケージ化

まずはソースアーカイブを展開。

 tar ztvf DBD-Oracle-1.16.tar.gz
 cd DBD-Oracle-1.16

次に Makefile.PL を編集

 5a6,7
 > push(@ARGV, '-l');
 >
 279c281
 <     my @h_dirs = find_headers();
 ---
 >     #my @h_dirs = find_headers();
 283c285
 <         push @h_dirs, 'network/public';
 ---
 >         #push @h_dirs, 'network/public';
 289c291,292
 <     my $inc = join " ", map { "-I$OH/$_" } @h_dirs;
 ---
 >     #my $inc = join " ", map { "-I$OH/$_" } @h_dirs;
 >     my $inc ="-I/usr/local/oracle/instantclient10_1/sdk/include";
 725c728
 < exit 0;
 ---
 > #exit 0;
 1606a1610
 > 1;

ヘッダファイルディレクトリ自動取得を止めて決め打ちにし、また Makefile.PL 実行時に -l を指定するようにする。 それから dh-make-perl がモジュール依存関係取得するため Makefile.PL を require した際に真を返さないでエラーになってしまうようなので、これも修正。

でパッケージ化。

 rm META.yml # あると dh-make-perl が deb パッケージ名をつけ間違える?
 dh-make-perl --build --notest

deb パッケージ

 libdbd-oracle-perl_1.16-1_i386.deb

ができあがるので、これを dpkg でインストール。

実行時

とりあえず、手近のサーバに接続して、簡単な select が動くことを確認。

いまのところ DBD::Oracle を使用するPerlプログラム実行時にも LD_LIBRARY_PATH を同様に設定しておく必要あり。

Makefile.PL 書き換え時に、

 $opts{dynamic_lib}->{OTHERLDFLAGS} .=
   '-Wl,-rpath -Wl,/usr/local/oracle/instantclient10_1';

-rpath を指定してみたが、

 DBI connect('host=192.168.x.x;sid=dbsid','usr',...) failed: ERROR OCIEnvNlsCreate (check ORACLE_HOME and NLS settings etc.) at test.pl line 3
 ERROR OCIEnvNlsCreate (check ORACLE_HOME and NLS settings etc.) at test.pl line 5.

というエラーが出て駄目。

[ 5月19日全て ]

2010年9月15日 (水)

今日のさえずり: 「謎が解けそうだよ!」(代償は大量のデバッグログコード)

  • 09:24Twitter? 目の前には新・午後の紅茶の広告。どこが新しいの(両方とも)?
  • 10:07 Evernote の今回のサイクルではじめて 250MB 弱までいった。今日の午後には新サイクルに入るはず。
  • 10:57 MongoDB におけるアトミック操作について確認。
  • 12:10 弁当 350円。 (@ 向日葵 和泉町店・カレー食堂) http://4sq.com/9oazrC
  • 12:25 今日は環境変数 ComSpec が comspec から ComSpec に戻ってるよ……。
  • 16:56 もちっとホットケーキ 105円。 (@ ファミリーマート神田佐久間町店) http://4sq.com/biJuCj
  • 17:42 「じっちゃん、謎が解けそうだよ!」(代償は大量のデバッグログコード)。
  • 19:47 会社出ようとしたら雨。
  • 20:14 前のおばちゃんが JTB 箱根パンフレットを上目遣いで激しく睨んでて怖い。
  • 22:57 Berkeley DB って今 Oracle なのか。猫の時代しか知らない。
  • 23:59 MongoDB みたいなドキュメント指向データベースで組み込みデータベースって無いのかな。カジュアルに使いたい。MongoDB を自力で埋め込むのは大変だろうし、GNU AGPLv3 を意識しなければならないし。
  • 24:08 ああ、やっぱり PARKER のエスプリ欲しい。 http://amzn.to/cw8Fnp
  • 24:28 明日 9:00 出社だった。寝る。
[ 9月15日全て ]

2011年11月7日 (月)

今日のさえずり: 終点の渋谷駅を前に減速しながら建物の中に吸い込まれていく様が銀河鉄道999

2011年11月07日

[ 11月7日全て ]

2015年5月27日 (水)

今日のさえずり: データの寿命を考えて自作日記システムは(記事データは)テキストファイルですって言ったら驚かれた

2015年05月27日

[ 5月27日全て ]

About

Naney Naneymx

Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。

※本サイトの内容は個人的見解であり所属組織とは関係ありません。

Process Time: 0.021821s / load averages: 0.34, 0.30, 0.27