このFAQでは、MIRACLE LINUX V4.0にOracle Database 10g Release 2 (10.2)をインストールする方法について説明します。インストールする方法としては、次の2つの方法があります。
このFAQではInstall Navigator for Oracle(以下、oranavi)を使わない方法について説明します。oranavi を使う方法につきましては、oranaviを起動すると表示されるドキュメントをご覧下さい。
※Install Navigator for Oracleとは、Oracle製品のインストールを支援するユーティリティです。とても簡単にOracleをインストールできるのでお勧めです。
インストールは下記の手順で行います。この文書では、主にOSのインストールからOracle Universal
Installerの起動までについて説明します。Oracle Universal
Installerが起動してからについては、下記のOracle製品マニュアルをご覧ください。
- OS のインストール
Oracle Database 10g Release 2 (10.2) for Linux x86を使用する場合には、MIRACLE LINUX V4.0(for x86)を、Oracle Database 10g Release 2 (10.2) for Linux x86-64を使用する場合には、MIRACLE LINUX V4.0 for x86-64をインストールします。 MIRACLE LINUX V4.0 for x86-64上でOracle Database 10g Release 2 (10.2) for Linux x86を稼動させることはサポートされていませんので、ご注意ください。
OSのインストレーションガイドに従ってインストールします。インストールの種類では「すべて」を選択してください。
また、ハードウェア要件は下記の通りです。ディスクパーティション設定の際には、注意してください。
項目 | 内容 | 補足(確認方法など) |
搭載メモリ | 1024MB以上 | ・メモリ容量の確認 # grep MemTotal /proc/meminfo |
空きディスク領域 | ソフトウェア:1.5GB〜3.5GB データベース:1.2GB | ・ディスク領域の確認 # df インストールディレクトリ |
スワップ領域 | 搭載メモリが1GB未満:メモリサイズの2倍 搭載メモリが1GB以上2GB未満:メモリサイズの1.5倍 搭載メモリが2GB以上8GB未満:メモリサイズと同じ値 搭載メモリが8GB以上:メモリサイズの0.75倍 | ・スワップ容量の確認 # grep SwapTotal /proc/meminfo ・スワップの追加 1) パーティションを作成し領域タイプをswapに設定 2) /etc/fstabにswapパーティションの行を追加 3) # swapon -a |
その他 | /tmpに400MB以上の空きディスク領域 | ・/tmpの領域サイズの確認 # fdisk /tmp |
- ハードウェア要件の確認
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に最適化されています。ただし、Oracle Database 10g Release 2では、第2版のマニュアルから以下のパラメータの推奨値が変更されましたので、このパラメータに関しては、ご自分のシステムの設定値を注意して確認してください。
推奨値が変更されたパラメータ | 以前の値 | 新しい値 |
/proc/sys/net/core/rmem_default | 262144 | 1048576 |
/proc/sys/net/core/rmem_max | 262144 | 1048576 |
カーネルパラメータを確認するには/etc/sysctl.confファイルを参照して下さい。
# vi /etc/sysctl.conf
カーネルパラメータの変更は、/etc/sysctl.confファイルを修正し、以下のコマンドを実行することで、設定した値を動的に有効にすることができます。
# sysctl -p
- シェル制限の設定
シェル制限とは、ユーザーごとの最大プロセス数や最大オープンファイル数など、ユーザーごとに設定する制限値です。MIRACLE LINUXV4.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.2.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のインストール先ディレクトリを作成します。今回はインストール先を/opt/app/oracleとしていますが、/u01/app/oracleや/opt/oracleなどでも構いません。
# mkdir -p /opt/app/oracle
# chown oracle:oinstall /opt/app/oracle
# chmod 775 /opt/app/oracle
- 環境変数の設定
これまではrootユーザーで作業してきましたが、ここからはoracleユーザーで作業します。oracleユーザとrootユーザーの実行す
るコマンドはコマンドプロンプトを分けて表記していますので注意してください。rootユーザーは"#"で、一般ユーザーは"$"です。
Oracle Database 10g Release2のマニュアルでは、Oracleに関連する環境変数をソフトウェアインストール時にoracleユーザーに設定する必要はない(シェル起動ファイルにOracleに関連する環境変数の定義があれば削除する)旨の記述があります。しかし何も設定しない場合は、インストーラのデフォルトとして、以下の場所へインストールされるようです。
- インベントリ・ディレクトリ:$HOME/oraInventory
- ORACLEホーム:$HOME/oracle/product/10.2.0/db_1
- データファイル格納ディレクトリ:$HOME/oracle/product/10.2.0/oradata
よって、環境変数ORACLE_BASEとORACLE_HOMEについては事前に設定しておくと、自分の指定した場所へインストールを行うことができます。ここでは以下のように値を設定します。
$ export ORACLE_BASE=/opt/app/oracle
$ export ORACLE_HOME=/opt/app/oracle/product/10.2.0/db_1
ただし以前より使用しているoracleユーザで新規にインストールを行う際は、既存のデータベースに影響を与えないように、環境変数の設定には注意してください。
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ウィンドウを起動します。インストール時には、rootユーザーも使用するので、ターミナルを2つ起動して、1つをrootユーザーにします。
$ su -
Password:
Oracle Database10gのCD-ROMをドライブにセットします。通常Xウィンドウシステムを起動している場合は、自動的にCD-ROMがマウントされます。手動でマウントするときにはrootユーザで以下のコマンドを実行してください。(デバイス名はシステムに接続された機器の種類により変わりますので、/etc/fstabの内容を参照してください。)
# mount /media/cdrecorder
ハードウェア要件の確認で、/tmpの空き容量が少ないときには、十分に空きのあるディレクトリを環境変数TEMP,TMPDIRに指定します。
$ mkdir /opt/app/oracle/tmp
$ export TEMP=/opt/app/oracle/tmp
$ export TMPDIR=/opt/app/oracle/tmp
TNS_ADMINが設定されていないことを確認します。設定してあるときはunsetします。
$ echo $TNS_ADMIN
設定してあるときのみ実行:
$ unset TNS_ADMIN
また間違ったORACLE_BASEやORACLE_HOMEが設定されていないことを再度確認してください。
次にoracleユーザーでインストーラーを起動します。あとは画面の指示に従ってインストールします。詳細はOracleの製品マニュアルをご覧ください。
$ /media/cdrecorder/runInstaller
【注意事項】
- Xウィンドウの表示エラー
もしrootユーザで起動したXウィンドウ環境で、oracleユーザーでインストーラーを起動する場合や、リモートシステム上のXウィンドウにインストーラを表示させる場合などは、以下のエラーメッセージがJavaのエラーメッセージと共に表示されることがあります。この場合には、インストーラを表示させる環境でxhostを実行してインストーラの表示を許可するか、インストーラ実行環境で正しいDISPLAY環境変数を設定しなおしてください。
Xlib: connection to "xxxx:0.0" refused by server
Xlib: No protocol specified
- netca(Oracle Net Configuration Assistant)の起動エラー
ネットワーク設定をdhcpで行ったり、ホスト名が正しく設定されていない場合に、netcaの実行時に以下のようなエラーが出て起動できない場合があります。
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : 11 occurred at PC=0x31E603
Function=index+0x63
Library=/lib/tls/libc.so.6
Current Java thread:
at oracle.net.common.NetGetEnv.getDNSDomain(Native Method)
at oracle.net.ca.ConfigureProfile.setDefaultProfileParams(Unknown Source)
at oracle.net.ca.InitialSetup.setupConfigObjects(Unknown Source)
at oracle.net.ca.InitialSetup.(Unknown Source)
at oracle.net.ca.NetCA.main(Unknown Source)
この場合、ホスト名に指定された文字列からドメイン部分が取得できないことが問題です。このような環境では、"dnsdomainname"コマンドを実行したときに「不明なホスト」(Unknown host)と表示されます。回避するためには、ホスト名("hostname"を実行して表示される文字列)からIPアドレスが取得できるように、/etc/hostsファイルへ定義を追加するなどして対処してください。
- インストール後の設定
インストールが終わったら画面の指示に従ってroot.shを実行します。それからOracle Universal Installerを終了します。ここではOracle Universal Installer終了後の作業について説明します。
関連する環境変数をOracleユーザのシェル起動ファイルに設定します。これらの設定はファイルの最後に追加してください。
$ cd
$ vi .bash_profile
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl
export NLS_LANG=Japanese_Japan.AL32UTF8
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
ulimit -n 65536 > /dev/null 2>&1
ulimit -u 16384 > /dev/null 2>&1
以下のコマンドを実行するか、再度Oracleユーザでログインすれば、設定した値が有効になりSQL*Plusを起動できます。
$ . .bash_profile
これでインストール作業は終了です。あとはマニュアルなどを参考に操作してください。