AND OR
用語辞典、過去のコラムの内容を検索する?

千歳忍の独り言

なんでも解説!

2006年 3月

2005年 < 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 > 2007年

 

もくじ

3月22日・・・・・Oracleでドン



 

4月5日
コラム書くの1年ぶりだぜ(前回と同じセリフ)


oracle10gをインストールしてみた

  php4.3.xとoracleを組み合わせる必要があったのでメモ。php5だったら、ワンセットになったのがあるのになぁ。OSはFedora Core 3(4はphp5になっちゃうから)
 まずは本体のダウンロード。zip形式なので、解凍したものをCD-Rに焼き焼き(どうも、USのサイトにはrpmもあるみたい)
 同時にインスタントクライアントも使うので、同時にダウンロード。rpmはUSのサイトにしかないので注意。oracle-instantclient-basic-10.2.0.1-1.i386.rpm、 oracle-instantclient-devel-10.2.0.1-1.i386.rpm、 oracle-instantclient-sqlplus-10.2.0.1-1.i386.rpm。あとからphpのソースファイルが必要になるので、これも併せてダウンロード。php-4.3.11-2.8.src.rpm。
 oracleのインストールにはGUIが必須なので、珍しくXを導入。
 今回のOSインストールでは入らなかった必要パッケージをyumで追加導入。
gcc
compat-db
compat-gcc
compat-gcc-c++
compat-libstdc++
compat-libstdc++-devel
openmotif21
libaio

グループとユーザー作成
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle

そのままではX Windowの実行権がないので、rootのauthorityファイルをコピー
cp /root/.Xauthority /home/oracle
chown oracle:dba /home/oracle/.Xauthority

 .bash_profileにXAUTHORITYを設定

export XAUTHORITY=/home/oracle/.Xauthority

 カーネル・パラメータを変更
/etc/sysctl.confに追記
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range=1024 65000
net.core.wmem_max=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.rmem_default=262144
net.core.optmem_max=262144

 んで、コンソールからrunInstallerを実行。ウィザードに従ってOracleのインストールを完了させる。
 続いてインスタントクライアントのインストール
rpm -ivh oracle-instantclient-basic-10.2.0.1-1.i386.rpm oracle-instantclient-devel-10.2.0.1-1.i386.rpm oracle-instantclient-sqlplus-10.2.0.1-1.i386.rpm

 これを行ってから、phpのソースをリビルド。(rpm-buildがインストールされていなければ、これも入れるべし)
rpm -ivh php-4.3.11-2.8.src.rpm
specファイルを書き換え(%define with_oci8 1)
rpmbuild -ba php.spec

 多分、すげーパッケージがないと怒られるので、この場合仕方なくインストールすべし。
  今回足りなかったのは
bzip2-devel curl-devel db4-devel expat-devel gmp-devel aspell-devel httpd-devel libjpeg-devel libpng-devel pam-devel libstdc++-devel openssl-devel zlib-devel pcre-devel libtool krb5-devel libc-client-devel cyrus-sasl-devel openldap-devel mysql-devel postgresql-devel unixODBC-devel net-snmp-devel elfutils-devel libxslt-devel libxml2-devel ncurses-devel freetype-devel flex php-devel

 でまあ、リビルドしてみるも
error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.

  と、つれないメッセージ。config.logを覗いてみると、cc1plusが見つけられてないみたい。
 pathに
/usr/lib/gcc-lib/i386-redhat-linux/3.3.4

  を追加して、rpmbuild実行したんだけど、なぜかoci8.soが作成されない。仕方なくphp本家から、同バージョンのphp-4.3.11.tar.gzをダウンロード。configureで--with-oci8-instant-client=shared,/usr/lib/oracle/10.2.0.1/client/libを指定し、make。出来上がったoci8.soを/usr/lib/php4にコピーしました。
 
php.ini中に「extension=oci8.so」を追加。

すると、すんなり成功。うお、長い道のりだったぜ!
export LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.1/client/lib/
export ORACLE_HOME=/opt/app/oracle
export NLS_LANG=JAPANESE_JAPAN.JA16EUC
export ORACLE_SID=oraoraora

 環境変数にいろいろ設定して完了。





当ページは「千歳忍」の独り言です。
極力真実に基づいて記述するようにしていますが、当方の思い違いや表記の方法によって一般的な解釈と異なる場合が有ります。意見や訂正の要請は大歓迎です。また、書いてほしいネタも募集しています。その場合はこちらまでどうぞ。

[戻る]