このFAQでは、MIRACLE LINUX V4.0にOracle Database 10g Release 1 (10.1.0.3)をインストールする方法、およびPatch Set 10.1.0.5を適用する方法について説明します。10.1.0.3をインストールする方法としては、次の2つの方法があります。
このFAQではInstall Navigator for Oracle (以下、oranavi)を使わない方法について説明します。oranavi を使う方法につきましては、oranaviを起動すると表示されるドキュメントをご覧下さい。
※Install Navigator for Oracleとは、Oracle製品のインストールを支援するユーティリティです。とても簡単にOracleをインストールできるのでお勧めです。
この文書では、おもにOSのインストールからOracle Universal Installerの起動までについて説明します。Oracle Universal Installerが起動してからは、下記のOracle製品マニュアルをご覧ください。
※[Red Hat Enterprise Linux 4]もしくは[Red Hat Enterprise Linux ES/AS 3] の記述を、[MIRACLE LINUX V4.0] に置き換えて参照して下さい。
- OS のインストール
Oracle Database 10g Release 1 (10.1.0.3) for Linux x86を使用する場合には、MIRACLE LINUX V4.0(for x86)を、Oracle Database 10g Release 1 (10.1.0.3) for Linux x86-64を使用する場合には、MIRACLE LINUX V4.0 for x86-64をインストールします。
MIRACLE LINUX V4.0 for x86-64上でOracle Database 10g Release 1 (10.1.0.3) for Linux x86を稼動させることはサポートされていませんので、ご注意ください。
OSのインストレーションガイドに従ってインストールします。インストールの種類では「すべて」を選択してください。
また、ハードウェア要件は下記の通りです。ディスクパーティション設定の際には、注意してください。
項目 | 内容 |
搭載メモリ | 512MB以上 |
空きディスク領域 | 2.5GB以上 (バイナリ:1.5GB。DB:1.0GB) 。コンパニオンをインストールするためにはさらに1GB以上。 |
スワップ領域 | 1GBもしくは搭載メモリサイズの2倍。2GB以上のメモリを搭載しているシステムでは、メモリサイズの1から2倍 |
その他 | /tmpに400MB以上の空きディスク領域 |
- ハードウェア要件の確認
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% /
|
- ソフトウェア要件の確認
MIRACLE LINUX V4.0 に Oracle Database 10g をインストールする際には、OSインストール時にインストールの種類で「すべて」を選択し、全てのパッケージをインストールする必要があります。
- カーネルパラメータの設定
MIRACLE LINUXのカーネルパラメータはOracleに最適化されています。そのため特に変更する必要はございません。
カーネルパラメータを確認するには/etc/sysctl.confファイルを参照して下さい。
# vi /etc/sysctl.conf
kernel.msgmnb = 65535
kernel.msgmni = 2878
kernel.sem = 256 32000 100 142
kernel.shmmax = 2147483648
fs.file-max = 131072
net.ipv4.ip_local_port_range = 1024 65000
|
設定ファイル変更の際には、「sysctl -p」で、設定した値を動的に有効にします。
- シェル制限の設定
シェル制限とは、ユーザーごとの最大プロセス数や最大オープンファイル数など、ユーザーごとに設定する制限値です。MIRACLE LINUX V4.0 では、シェル制限はあらかじめ設定されています。/etc/security/limits.confに、次の内容が設定されていることを確認してください。
rootユーザーが変更できる上限値のハードリミットと、一般ユーザーが変更できる上限値のソフトリミットがあります。
# vi /etc/security/limits.conf
* hard nproc 16384
* soft nofile 2048
* hard nofile 65536
|
- インストールユーザーおよびグループの作成
このセクションではOracleオーナーとなるユーザーおよびグループを作成します。今回は次の条件でインストールします。
項目 | 値 |
Oracleオーナー | oracle |
Oracleインストール用グループ | oinstall |
Oracle管理者用グループ | dba |
グローバルデータベース名 | orcl |
Oracleのインストール先 | /opt/app/oracle |
Oracleホーム | /opt/app/oracle/product/10.1.0/db_1 |
データベースの作成先 | /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
|
- インストール先ディレクトリの作成
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 (10.1.0.3)のインストール
Oracle Database 10g (10.1.0.3)のインストールを開始します。oracleユーザーでログインしてXウィンドウを起動します。インストール時には、root ユーザーも使用するので、ターミナルを2つ起動して、1つをrootユーザーにします。
Oracle Database 10gのCD-ROMをドライブにセットしてマウントします。(デバイス名はシステムに接続された機器の種類により変わりますので、 /etc/fstabの内容を参照してください。)
# mount /media/cdrecorder
|
ここからは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ユーザーでインストーラーを起動します。10.1.0.3はRed Hat Enterprise linux 4やMIRACLE LINUX V4.0より前に作成されているため、インストーラのOSバージョンチェックで以下のようなエラーが出ます。
オペレーティング・システムのバージョンを確認中: 必須redhat-2.1, redhat-3, SuSE-9, SuSE-8 or UnitedLinux-1.0
失敗しました <<<<
|
このエラーを回避するため、以下のようなオプションを付けて起動してください。
$ /media/cdrecorder/runInstaller -paramFile=/usr/share/oranavi/oraparam.ini
|
このoraparam.iniファイルは、オラクル社よりパッチP4153257_10103_LINUX.zipとして提供されていますが、MIRACLE LINUX V4.0では上記ディレクトリに同梱しておりますので、パッチを使用する必要はありません。
あとは画面の指示に従ってインストールします。詳細はOracleの製品マニュアルをご覧ください。
注意事項として、「ファイル場所の指定」ウィンドウにおいて、インストール先のパス(ORACLE_HOME)にはデフォルトの値が入っていますので、自分の設定したいORACLE_HOMEの場所に書き換えるようにしてください。この例では/opt/app/oracle/product/10.1.0/db_1を指定します。
- Oracle Database 10g (10.1.0.3)のインストール後の設定
インストールが終わったら画面の指示に従ってroot.shを実行します。それからOracle Universal Installerを終了します。ここではOracle Universal Installer終了後の作業について説明します。
インストールのときにはORACLE_BASEとORACLE_SIDしか設定していなかったので、そのほかの環境変数も設定します。これで自由にSQL*Plusを起動できるようになります。前回よりも後ろの位置に追加してください。ORACLE_HOMEは、Oracle Universal Installerで設定したものを使用してください。
$ cd
$ vi .bash_profile
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
export NLS_LANG=Japanese_Japan.AL32UTF8
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
|
設定した値を有効にします。
- Oracle Database 10g Release 1 Patch Set 10.1.0.5のインストール
Oracle Database 10g Release 1 Patch Set 10.1.0.5のインストールを開始します。
CD-ROMをOracle Database 10g Release 1 Patch Set 10.1.0.5に入れ替えてマウントします。
# eject
CD-ROMを入れ替えて、
# mount /media/cdrecorder
|
次に既に動いているOracleデータベース関連プロセスを終了します。
$ sqlplus "/as sysdba"
SQL> shutdown immediate
SQL> exit
$ emctl stop dbconsole (←失敗した場合は、再度実行することでstopに成功することがあります)
$ lsnrctl stop
|
またrootユーザーでOracle Cluster Synchronization Services(OCSS)デーモンを終了します。
# /etc/init.d/init.cssd stop
|
oracleユーザーでPatch Set 10.1.0.5に含まれるインストーラーを起動します。
$ /media/cdrecorder/runInstaller
|
あとは画面の指示に従ってインストールします。
インストールが終わったら画面の指示に従ってroot.shを実行し、それからOracle Universal Installerを終了します。
これでインストール作業は終了です。あとはマニュアルなどを参考に操作してください。