このFAQでは、MIRACLE LINUX Standard Edition V2.1にOracle Database 10g Release 1 (10.1.0)をインストールする方法について説明します。インストールする方法としては、次の2つの方法があります。
このFAQではInstall Navigator for Oracle(以下、oranavi)を使わない方法について説明します。oranaviを使う場合は、Oracle Database 10gに対応したoranaviをご利用ください。Oracle Database10gに対応したoranaviは、アップデート情報のページからダウンロードできます。
※Install Navigator for Oracleとは、Oracle製品のインストールを支援するユーティリティです。とても簡単にOracleをインストールできるのでお勧めです。
インストールは下記の手順で行います。この文書では、おもにOSのインストールからOracle Universal Installerの起動までについて説明します。Oracle Universal Installerが起動してからについては、下記のOracle製品マニュアルをご覧ください。
なおMIRACLE LINUX Standard Edition V2.1 Update 3をご使用のときは、MIRACLE LINUX Oracle9i Release 2 対応キットのインストールやカーネルのアップデートは不要です。すぐにOracleのインストール作業を開始できます。
- OS のインストール
インストレーションガイドに従ってインストールします。インストールの種類では「標準的オラクル RDBMS 用サーバー」などを選択してください。また、ハードウェア要件は下記の通りです。ディスクパーティション設定の際には、注意してください。
項目 | 内容 |
搭載メモリ | 512MB以上 |
空きディスク領域 | 2.5GB以上(バイナリ:1.5GB。DB:1.0GB)。コンパニオンをインストールするためにはさらに1GB以上。 |
スワップ領域 | 1GBもしくは搭載メモリサイズの2倍。2GB以上のメモリを搭載しているシステムでは、メモリサイズの1から2倍 |
その他 | /tmpに400MB以上の空きディスク領域 |
- MIRACLE LINUX Oracle9i Release 2 対応キットの適用
MIRACLE LINUX Oracle9i Release 2対応キットを適用します。MIRACLE LINUX Oracle9i Release 2対応キット(以下R2キット)は、MIRACLE LINUX Standard Edition V2.1をOracle9i Release 2以降のOracle製品に対応させるためのアップデートパッケージ集です。
なおR2キットは、製品版MIRACLE LINUXに同梱されています。製品の出荷時期によっては、R2キットが同梱されていないことがあります。そのときにはMIRACLE LINUX社のアップデート情報ページからダウンロードしてください。
またMIRACLE LINUX Standard Edition V2.1 Update 3をご使用のときは、MIRACLE LINUX Oracle9i Release 2 対応キットの適用は不要です。次に進んでください。
R2キットが適用されているかどうかは、次のコマンドでわかります。次のように表示されればインストールされています。
# rpm -qa | grep -i mlkit
mlkit-se21R2-1.0-3ml
|
- ハードウェア要件の確認
Oracle Database 10gをインストールするには、前記のハードウェア要件を満たす必要があります。それぞれについて確認します。
搭載メモリとスワップサイズは、次のコマンドで調べられます。MemTotalが搭載メモリで、SwapTotalがスワップです。
$ cat /proc/meminfo
total: used: free: shared: buffers: cached:
Mem: 1052545024 1036943360 15601664 179281920 191262720 573591552
Swap: 542826496 32862208 509964288
MemTotal: 1027876 kB
MemFree: 15236 kB
MemShared: 175080 kB
Buffers: 186780 kB
Cached: 543004 kB
SwapCached: 17144 kB
Active: 587336 kB
Inact_dirty: 326404 kB
Inact_clean: 8268 kB
Inact_target: 256936 kB
HighTotal: 131008 kB
HighFree: 11524 kB
LowTotal: 896868 kB
LowFree: 3712 kB
SwapTotal: 2030104 kB
SwapFree: 498012 kB
BigPagesFree: 0 kB
|
Oracleをインストールするパーティションにハードウェア要件を満たす空きがあることを確認します。
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 26G 21G 3.7G 85% /
/dev/sda1 68M 11M 54M 16% /boot
|
同様に/tmpを含むパーティションに400MB以上の空きがあることを確認します。空きがないときには、TEMP環境変数を使って回避できます。
$ df -h /tmp
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 26G 21G 3.7G 85% /
|
- 不足しているパッケージのインストール
Oracle Database 10gをMIRACLE LINUX Standard Edition V2.1にインストールするときのソフトウェア要件は次の通りです。このセクションでは、RPMの追加もしくはアップデートを行います。
MIRACLE LINUX Standard Edition V2.1 Update 3をご使用のときは、これらのパッケージはデフォルトでインストールされます。またカーネルパラメータも最適化されているので「6.シェル制限の設定」に進んでください。
RPMもしくはアップデートキット |
MIRACLE LINUX Oracle9i Release 2 対応キット |
kernel-2.4.9-e.25.32ml 以上 |
openmotif-2.1.30-11 以上 |
mlsetver-1.0-1ml 以上(任意) |
アップデートパッケージは
アップデート情報のページからダウンロードできます。
- カーネルのアップデート
現在使用しているカーネルのバージョンは「uname -r」で調べます。要件を満たしていないときにはカーネルをアップデートしてください。カーネルのアップデート方法はカーネルのアップデート方法をご覧ください。
$ uname -r
2.4.9-e.25.52ml
|
- openmotif, mlsetverのインストール
openmotifとmlsetverがインストールされていることを確認します。次のように表示されればインストールされています。
$ rpm -q openmotif mlsetver
openmotif-2.1.30-11
mlsetver-1.0-2ml
|
不足しているパッケージがあるときにはインストールします。openmotifは、R2キットの"Miracle/RPMS"ディレクトリに収録されています。次の例は、R2キットのCD-ROMからインストールする方法です。またmlsetverは、アップデート情報ページのページからダウンロードできます。
# mount /mnt/cdrom
# cd /mnt/cdrom/Miracle/RPMS
# rpm -ivh openmotif-2.1.30-11.i686.rpm
# rpm -ivh mlsetver-1.0-2ml.i686.rpm
|
- その他パッケージのアップデート(任意)
R2キットには2003年1月15までに公開されたアップデートパッケージが収録しています。それ以降に公開されたアップデートパッケージをインストールするときは、MIRACLE LINUX 社のアップデート情報ページからダウンロードします。
- カーネルパラメータの設定
MIRACLE LINUXのカーネルパラメータはOracleに最適化されています。そのため特に変更しなくてもインストールできますが、shmmaxは、搭載メモリにかかわらず「2147483648」にすることをお勧めします。
oranaviではshmmaxを変更しません。インストール時にエラーが発生するとき
には「2147483648」に変更してみてください。
カーネルパラメータを設定するには/etc/sysctl.confファイルを使用します。
# vi /etc/sysctl.conf
kernel.shmmax = 2147483648
|
「sysctl -p」で、設定した値を動的に有効にします。
- シェル制限の設定
シェル制限とは、ユーザーごとの最大プロセス数や最大オープンファイル数など、ユーザーごとに設定する制限値です。シェル制限には、rootユーザーが変更できる上限値のハードリミットと、一般ユーザーが変更できる上限値のソフトリミットがあります。/etc/security/limits.confに次の内容を追加します。変更した値はすぐに変更されます。
# vi /etc/security/limits.conf
* hard nproc 16384
* hard nofile 65536
|
- インストールユーザーおよびグループの作成
このセクションではOracleオーナーとなるユーザーおよびグループを作成します。今回は次の条件でインストールします。
項目 | 値 |
Oracleオーナー | oracle |
Oracleインストール用グループ | oinstall |
Oracle管理者用グループ | dba |
グローバルデータベース名 | orcl |
Oracleのインストール先 | /opt/app/oracle |
データベースの作成先 | /opt/app/oracle/oradata |
インストール用ユーザーグループ「oinstall」と管理者用グループ「dba」を作成します。
# groupadd oinstall
# groupadd dba
|
oracleユーザーを作成します。作成したらパスワードも設定します。
# useradd -g oinstall -G dba oracle
# passwd oracle
Changing password for user oracle
New password:<ここにパスワードを入力>
Retype new password:<同じパスワードを入力>
passwd: all authentication tokens updated successfully
|
MIRACLE LINUXのデフォルトでは、一般ユーザーは"su"コマンドを実行できません。rootユーザーになることも、他のユーザーになることもできません。そのため、次のようにwheelグループに追加します。
# usermod -G wheel,dba oracle
|
- インストール先ディレクトリの作成
Oracleのインストール先ディレクトリを作成します。今回はORACLE_BASEを/opt/app/oracleとしていますが、/u01/app/oracleや/opt/oracleなどでも構いません。
# mkdir -p /opt/app/oracle
# chown oracle:oinstall /opt/app/oracle
# chmod 775 /opt/app/oracle
|
- 環境変数の設定
Oracle Database 10gに必要な環境変数をoracleユーザーに設定します。Oracle9i Databaseでは、ORACLE_HOMEやNLS_LANGなども設定していましたが、Oracle Database 10gでは、インストール時にはORACLE_BASEとORACLE_SIDだけになりました。それ以外の環境変数は、インストール後に設定します。
また、これまではrootユーザーで作業してきましたが、ここからはoracleユーザーで作業します。rootユーザーとはコマンドプロンプトが違うので注意してください。rootユーザーは"#"で、一般ユーザーは"$"です。
$ cd
$ vi .bash_profile
export ORACLE_BASE=/opt/app/oracle
export ORACLE_SID=orcl
ulimit -n 65536 >/dev/null 2>&1
ulimit -u 16384 >/dev/null 2>&1
|
設定した値を有効にします。
ssh経由で接続したときのエラー
ssh経由で接続すると、次のエラーが発生することがあります。
bash: ulimit: cannot modify limit: Operation not permitted
この原因は、ssh接続時に、/etc/security/limits.confの設定は反映されないからです。sshではセキュリティ確保のため、ssh経由で接続したプロセスに対し、そのユーザーが本来持っている権限以上の変更はできません。
ssh経由でも/etc/security/limits.confの設定を有効にしたいときには、sshdの設定ファイルに次の1行を追加します。
# vi /etc/sshd/sshd_config
UsePrivilegeSeparation no
sshdデーモンを再起動します。
# service sshd restart
ただし、この設定はセキュリティホールにつながる可能性があります。外部からアクセスできるサーバーには絶対に設定しないでください。
|
- Oracle Database 10gのインストール
Oracle Database 10gのインストールのインストールを開始します。oracleユーザーでログインしてX-Windowsを起動します。インストール時には、rootユーザーも使用するので、ktermを2つ起動して、1つをrootユーザーにします。
Oracle Database 10gのCD-ROMをドライブにセットしてマウントします。
rootユーザーでmlsetverを実行します。このコマンドを実行しないとOracleのインストーラーが起動しません。 Update 3 では、この作業は不要です。
# mlsetver -v as21
Now, this system has been faked by mlsetver.
==== uname -r ====
2.4.9-e.25.52ml
==== /etc/redhat-release ====
Red Hat Linux Advanced Server release 2.1AS (Pensacola)
|
ここからはoracleユーザーの作業です。ハードウェア要件の確認で、/tmpの空き容量が少ないときには、十分に空きのあるディレクトリを環境変数TEMP,TMPDIRに指定します。
$ mkdir /opt/app/oracle/tmp
$ export TEMP=/opt/app/oracle/tmp
$ export TMPDIR=/opt/app/oracle/tmp
|
ORACLE_HOMEやTNS_ADMINなどが設定されていないことを確認します。設定してあるときはunsetします。
$ echo $ORACLE_HOME
$ echo $TNS_ADMIN
設定してあるときのみ実行:
$ unset ORACLE_HOME
$ unset TNS_ADMIN
|
oracleユーザーでインストーラーを起動します。あとは画面の指示に従ってインストールします。詳細はOracleの製品マニュアルをご覧ください。
$ /mnt/cdrom/runInstaller
|
- インストール後の設定
インストールが終わったら画面の指示に従ってroot.shを実行します。それからOracle Universal Installerを終了します。ここではOracle Universal Installer終了後の作業について説明します。
mlsetverを実行したときには、rootユーザーで"mlsetver -r"を実行します。mlsetverを実行していないときには、この作業は不要です。
# mlsetver -r
Reset setting.
Now, this system is original setting.
==== uname -r ====
2.4.9-e.25.32mlsmp
==== /etc/redhat-release ====
Red Hat Linux release 7.1 (Seawolf)
|
インストールのときにはORACLE_BASEとORACLE_SIDしか設定していなかったので、そのほかの環境変数も設定します。これで自由にSQL*Plusを起動できるようになります。前回よりも後ろの位置に追加してください。ORACLE_HOMEは、Oracle Universal Installerで設定したものを使用してください。デフォルトでは、$ORACLE_BASE/product/10.1.0/db_1です。
$ cd
$ vi .bash_profile
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
export NLS_LANG=Japanese_Japan.JA16EUC
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
|
設定した値を有効にします。これでインストール作業は終了です。あとはマニュアルなどを参考に操作してください。