11.4. Oracle のインストール
戻る | 第11章 Linux バイナリ互換機能 | 次へ

## 11.4. Oracle のインストール

寄贈: Moolenaar Marcel [FAMILY Given].

### 11.4.1. はじめに

このドキュメントでは Oracle 8.0.5 と Oracle 8.0.5.1 Enterprise Edition の Linux 版を FreeBSD にインストールするための手順を解説します。

### 11.4.2. Linux 環境のインストール

まずは 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``

パッケージのインストール時にエラーが出てはいけません。

### 11.4.3. Oracle 環境の構築

Oracleをインストールする前に、適切な環境を設定する必要があります。 このドキュメントでは、 Oracle のインストールガイドに書いてあるようなことではなく FreeBSD で Linux 用 Oracle を動かすために特別に必要なことのみを解説します。

#### 11.4.3.1. カーネルのチューニング

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

#### 11.4.3.2. Oracle 用アカウント

他のアカウントを作るのと同じように Oracle 用のアカウントを作ります。 Oracle 用のアカウントに特別なのは Linux のシェルを割り当てるところだけです。 `/etc/shells` に `/compat/linux/bin/bash` を加え、Oracle 用のアカウントに設定します。

#### 11.4.3.3. 環境設定

`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

### 11.4.4. Oracle のインストール

インストーラーを起動する前に、`/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` を起動するのを忘れないように!

#### 11.4.4.1. 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` というディレクトリにあります。

#### 11.4.4.2. genclntsh へのパッチ

`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

### 11.4.5. Oracle の起動

インストラクションに従えば、Linux でと同じように Oracle を起動できるでしょう。

戻る | 上に戻る | 次へ
11.3. Mathematica のインストール | ホーム | 11.5. SAP R/3 (4.6B - IDES) のインストール

本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。

FreeBSD に関する質問がある場合には、 ドキュメント を読んだ上で <questions@FreeBSD.org> まで (英語で) 連絡してください。
本文書に関する質問については、 <doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。