このドキュメントでは Oracle 8.0.5 と Oracle 8.0.5.1 Enterprise Edition の Linux 版を FreeBSD にインストールするための手順を解説します。
まずは Ports Collection から linux_base と linux_devtools をインストールしてください。 これらの ports は FreeBSD 3.2 のリリース後にコレクションに加えられました。 もし FreeBSD 3.2 もしくはそれよりも古いものを使っている場合は ports コレクションをアップデートしましょう。ついでに FreeBSD をアップデートするのもいいでしょう。もし linux_base-6.1 や linux_devtools-6.1 でうまくいかなければ 5.2 を試してみてください。
もし賢いエージェント (intelligent agent) を起動したいなら Red Hat Tcl パッケージ tcl-8.0.3-20.i386.rpm もインストールする必要があるでしょう。 公式の RPM パッケージをインストールするには一般的に次のようにします。
# rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm package
パッケージのインストール時にエラーが出てはいけません。
Oracleをインストールする前に、適切な環境を設定する必要があります。 このドキュメントでは、 Oracle のインストールガイドに書いてあるようなことではなく FreeBSD で Linux 用 Oracle を動かすために特別に必要なことのみを解説します。
Oracle インストールガイドにあるように、 シェアードメモリーの最大サイズを設定しなければいけません。 FreeBSD では SHMMAX を使わないようにしてください。 SHMMAX は単に SHMMAXPGS と PGSIZE から計算されるだけなのです。 従って、SHMMAXPGS を使うようにしましょう。 インストールガイドに記述されている他のオプションは使えます。 例えば以下のようにします。
options SHMMAXPGS=10000 options SHMMNI=100 options SHMSEG=10 options SEMMNS=200 options SEMMNI=70 options SEMMSL=61
これらのオプションを意図した Oracle の使い方に合わせて設定してください。
また、 次のオプションがカーネルのコンフィギュレーションファイルにあることも確認します。
options SYSVSHM #SysV shared memory options SYSVSEM #SysV semaphores options SYSVMSG #SysV interprocess communication
他のアカウントを作るのと同じように Oracle 用のアカウントを作ります。 Oracle 用のアカウントに特別なのは Linux のシェルを割り当てるところだけです。 /etc/shells に /compat/linux/bin/bash を加え、Oracle 用のアカウントに設定します。
ORACLE_HOME や ORACLE_SID といった通常の Oracle 用の変数の他に次の変数も設定しなければなりません。
変数 | 値 |
---|---|
LD_LIBRARY_PATH | $ORACLE_HOME/lib |
CLASSPATH | $ORACLE_HOME/jdbc/lib/classes111.zip |
PATH | /compat/linux/bin /compat/linux/sbin /compat/linux/usr/bin /compat/linux/usr/sbin /bin /sbin /usr/bin /usr/sbin /usr/local/bin $ORACLE_HOME/bin |
全ての環境変数は .profile で設定することをお勧めします。 完璧なサンプルは以下の通りです。
ORACLE_BASE=/oracle; export ORACLE_BASE ORACLE_HOME=/oracle; export ORACLE_HOME LD_LIBRARY_PATH=$ORACLE_HOME/lib export LD_LIBRARY_PATH ORACLE_SID=ORCL; export ORACLE_SID ORACLE_TERM=386x; export ORACLE_TERM CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip export CLASSPATH PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:$ORACLE_HOME/bin export PATH
インストーラーを起動する前に、/var/tmp に .oracle という名前のディレクトリを作る必要がありますが、 これは Linux エミュレーターにおけるちょっとした不整合のためです。 このディレクトリは誰でもが書けるか、もしくは oracle ユーザーのものにしておきます。 これで特に問題なく Oracle がインストールできるでしょう。 もし問題が起こったら、まずは Oracle の配布物や設定をチェックしてください。 Oracle のインストールが終わったら次の二つのサブセクションで解説するパッチを当てます。
よくあるトラブルは、TCP プロトコルアダプターが正しくインストールされていないことです。 そのため、一切 TCP リスナーを起動することができないのです。 次の操作はこの問題を解決するのに役立ちます。
# cd $ORACLE_HOME/network/lib # make -f ins_network.mk ntcontab.o # cd $ORACLE_HOME/lib # ar r libnetwork.a ntcontab.o # cd $ORACLE_HOME/network/lib # make -f ins_network.mk install
もう一度 root.sh を起動するのを忘れないように!
Oracle をインストールする時、root で行なう必要のあるいくつかの操作は root.sh と呼ばれるシェルスクリプトに記録されます。 root.sh は orainst ディレクトリにあります。次のパッチを root.sh に当てて 正しい場所にある chown コマンドを使うようにするか、 代わりに Linux ネイティブなシェルのもとでスクリプトを走らせましょう。
*** orainst/root.sh.orig Tue Oct 6 21:57:33 1998 --- orainst/root.sh Mon Dec 28 15:58:53 1998 *************** *** 31,37 **** # This is the default value for CHOWN # It will redefined later in this script for those ports # which have it conditionally defined in ss_install.h ! CHOWN=/bin/chown # # Define variables to be used in this script --- 31,37 ---- # This is the default value for CHOWN # It will redefined later in this script for those ports # which have it conditionally defined in ss_install.h ! CHOWN=/usr/sbin/chown # # Define variables to be used in this script
CD-ROM からのインストールでない場合は root.sh のソースにパッチを当ててもいいでしょう。 rthd.sh という名前でソースツリーの orainst というディレクトリにあります。
genclntsh スクリプトは一つの共有クライアントライブラリを生成するのに用いられます。 これはデモを作る時に使われます。 PATH の定義をコメントアウトするために次のパッチを当ててください。
*** bin/genclntsh.orig Wed Sep 30 07:37:19 1998 --- bin/genclntsh Tue Dec 22 15:36:49 1998 *************** *** 32,38 **** # # Explicit path to ensure that we're using the correct commands #PATH=/usr/bin:/usr/ccs/bin export PATH ! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH # # each product MUST provide a $PRODUCT/admin/shrept.lst --- 32,38 ---- # # Explicit path to ensure that we're using the correct commands #PATH=/usr/bin:/usr/ccs/bin export PATH ! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH # # each product MUST provide a $PRODUCT/admin/shrept.lst
インストラクションに従えば、Linux でと同じように Oracle を起動できるでしょう。
本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。
FreeBSD に関する質問がある場合には、ドキュメント を読んだ上で <questions@FreeBSD.org> まで (英語で)
連絡してください。
本文書に関する質問については、<doc@FreeBSD.org> まで電子メールを (英語で)
送ってください。