RHEL4 に Oracle 9i R2(OTN版) をインストールする際のポイント
結構苦戦したので、備忘録として。
- バイナリの入手
US-OTN からバイナリをダウンロードする。ユーザー認証が必要*1なので注意。
http://www.oracle.com/technology/software/products/oracle9i/index.html
- LD_ASSUME_KERNEL を設定する
環境変数 LD_ASSUME_KERNEL を設定しないと、インストールが途中で失敗するとの噂。
RHEL4 の場合は 2.4.19 を設定。*2
- インストーラが起動しない
Unable to load native library: /tmp/OraInstall2003-10-25_03-14-57PM/jre/lib/i386/libjava.so: symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
インストーラを起動しようとすると、こんなエラーが出るかもしれない。このエラー、どうもjdkのバグから発生する問題らしい(詳細は下記)。という訳で、libcwait.c ファイルをダウンロードしてきて、コンパイルしてやる。*3
http://groups.yahoo.co.jp/group/eclipse-ml/message/1259?expand=1
http://www.redhat.com/archives/fedora-list/2003-November/msg06994.html
$ wget ftp://people.redhat.com/drepper/libcwait.c $ gcc -shared -o libcwait.so -fpic -O2 libcwait.c $ export LD_PRELOAD=/foo/libcwait.so ./runInstaller
あとは、DISPLAY関係のトラブルもよくある。下記を参照のこと。
http://www.puschitz.com/InstallingOracle9i.shtml#StartingrunInstaller
私の場合は、
# xhost localhost # su - oracle $ export DISPLAY=localhost:0.0
として解決した。
- インストール中にエラーが起こる
基本的には、ログを追ってみて判断すること。ログの場所は下記。
$ORACLE_BASE/oraInventory/logs/installAction.log $ORACLE_HOME/install/make.log
私の場合は、下記のようなエラーが起こった。
Error invoking target install of makefile /u01/app/oracle/product/9.0.1/plsql/lib/ins_plsql.mk
これは、一般的には下記の方法で解決できるようだ。
http://claris.hp.infoseek.co.jp/oracle/rh7ora9/rh7ora9_install_1.html
しかし、私の場合はうまくいかなかった。make.log を追ってみると
undefined reference to `dl_iterate_phdr@GLIBC_2.2.4' collect2: ld returned 1 exit status make: *** [sqlplus] Error 1
と出ている。これを Google で調べると、下記のような方法での解決例が。
http://d.hatena.ne.jp/stereocat/20051030
ということで、
$ wget http://ftp.kddilabs.jp/Linux/packages/fedora/core/2/i386/os/Fedora/RPMS/compat-gcc-7.3-2.96.126.i386.rpm $ rpm -ivh compat-gcc-7.3-2.96.126.i386.rpm $ cd /usr/bin $ mv gcc gcc343 $ mv gcc296 gcc $ cd $ORACLE_HOME/plsql/lib $ make -f ins_plsql.mk install
としてインストール続行。
- インストーラが文字化けする
多分、Javaが要求する日本語フォントがないために文字化けしているのだと思う(インストーラ起動時のコンソールログを確認してみてください)。フォントを入れて解決する、もしくは、環境変数 LANG=C として英語でインストーラを起動する。ものぐさな人は後者がオススメ。私は後者でやりました。
- 参考になったサイト