Oracle Database 10g R2 をOranaviを使わずにインストールする方法
[概 要]
本ドキュメントでは、Asianux Server 3にOracle Database 10g Release 2 (10.2)を、Oranaviを使わずにインストールする方法について説明します。
Asianux Server 3にOracle Database 10g Release 2 (10.2)をインストールする方法としては、以下のA、B2つの方法があります。
A: Install Navigator for Oracleを使う方法
B: Install Navigator for Oracleを使わない方法
AのInstall Navigator for Oracleとは、Oracle製品のインストールを支援するユーティリティです。大変簡単にOracleをインストールできるため、通常はこちらを推奨します。
Asianux Server 3 for x86(32bit)
Asianux Server 3 for x86-64(64bit)
Oracle Database 10g Release 2 (10.2) for Linux x86
Oracle Database 10g Release 2 (10.2) for Linux x86-64
インストールは下記の流れで行います。この文書では、主にOSのインストールからOracle Universal Installerの起動までについて説明します。Oracle Universal Installer起動後の操作については、下記のOracle製品マニュアルをご覧ください。
・Oracle Database インストレーション・ガイド 10g リリース2(10.2)for Linux
・Oracle Database クイック・インストレーション・ガイド 10g リリース2(10.2) for Linux
※インストール環境に応じて、x86またはx86-64の文書を参照してください。
1.OS のインストールとソフトウェア要件
2.ハードウェア要件の確認
3.カーネルパラメータの設定
4.固定IPアドレスとホスト名の設定
5.シェル制限の設定
6.インストールユーザーおよびグループの作成
7.インストール先ディレクトリの作成
11. CDのマウント
12. TEMP、TMPDIRの設定
13. TNS_ADMINの確認
14. ORACLE_BASE、ORACLE_HOMEの確認
15. インストーラ(OUI)起動
16. インストール時の注意事項
17. インストール後の設定
※ソフトウェア要件について
Oracle Database 10g Release 2 (10.2) for Linux x86を使用する場合には、Asianux Server 3 for x86(32bit)を、Oracle Database 10g Release 2 (10.2) for Linux x86-64を使用する場合には、Asianux Server 3 for x86-64(64bit) をインストールします。 Asianux Server 3 for x86-64(64bit) 上でOracle Database 10g Release 2 (10.2) for Linux x86を稼動させることはサポートされていませんので、ご注意ください。
1.OS のインストール
OSのインストレーションガイドに従ってインストールします。インストールの種類では「基本パッケージ:すべて」を選択してください。
ミドルウェアパッケージ、仮想化パッケージについては必須ではありません。
2.ハードウェア要件の確認
下記が必要なハードウェア要件です。
-
項目内容補足(確認方法など)搭載メモリ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の領域サイズの確認
# df /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% /
3.カーネルパラメータの設定
Asianux Server 3のカーネルパラメータはOracleに最適化されています。ただし、Oracle Database 10g Release 2では、第2版のマニュアルから以下のパラメータの推奨値が変更されましたので、これらのパラメータに関しては、ご使用のシステムの設定値を注意して確認してください。
-
推奨値が変更されたパラメータ以前の値新しい値/proc/sys/net/core/rmem_default2621441048576/proc/sys/net/core/rmem_max2621441048576
カーネルパラメータを確認するには/etc/sysctl.confファイルを参照して下さい。
# vi /etc/sysctl.conf
カーネルパラメータの変更は、/etc/sysctl.confファイルを修正し、以下のコマンドを実行することで、設定した値を動的に有効にすることができます。
# sysctl -p
4.固定IPアドレスとホスト名の設定
Oracleインストール時にDHCP割当てのIPアドレスを使用していると警告が表示されます。
そのため、インストール前に固定のIPアドレス設定を行うことを推奨します。
また、ホスト名が正しく設定されていないと netca(Oracle Net Configuration Assistant)の起動エラーとなる場合が有りますので、事前に確認しておくことを推奨します。
IPアドレス設定およびホスト名の設定はrootユーザにてsystem-config-network-guiを使用して行えます。
# system-config-network-gui
また、hostnameコマンドの結果に対してpingを行った場合、127.0.0.1と解決される場合でも、DHCPを使用していると警告が表示される場合があります。/etc/hostsに固定IPアドレスとホスト名を記載することを推奨します。
# hostname
example.example.com
# ping example.example.com
5.シェル制限の設定
シェル制限とは、ユーザーごとの最大プロセス数や最大オープンファイル数など、ユーザーごとに設定する制限値です。Asianux Server 3では、シェル制限はあらかじめ設定されています。/etc/security/limits.confに、次の内容が設定されていることを確認してください。rootユーザーが変更できる上限値のハードリミットと、一般ユーザーが変更できる上限値のソフトリミットがあります。
# vi /etc/security/limits.conf
* hard nproc 16384
* soft nofile 2048
* hard nofile 65536
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
※この設定はセキュリティホールにつながる可能性があります。外部からアクセスできるサーバーには絶対に設定しないでください。
6.インストールユーザーおよびグループの作成
このセクションではOracleオーナーとなるユーザーおよびグループを作成します。今回は次の条件でインストールします。
-
項目値OracleオーナーoracleOracleインストール用グループoinstallOracle管理者用グループdbaグローバルデータベース名orclOracleのインストール先/opt/app/oracleOracleホーム/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
7.インストール先ディレクトリの作成
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
8.環境変数の設定
これまでは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ユーザで新規にインストールを行う際は、既存のデータベースに影響を与えないように、環境変数の設定には注意してください。
9.oracleユーザでXウィンドウ起動
Oracle Database 10gのインストールを開始します。
Xが必要なので、oracleユーザーでログインしてXウィンドウを起動します。
10.ターミナルの準備
ターミナルを2つ起動します。インストール時には、rootユーザーも使用するので、1つをrootユーザーにします。
$ su -
Password:
11.CDのマウント
Oracle Database10gのCD-ROMをドライブにセットします。通常Xウィンドウシステムを起動している場合は、KDEが自動的にCD-ROMを検知し、操作を聞いてきます。
[開く]を選択すれば、自動的に/media以下にCD-ROMがマウントされます。
手動でマウントするときには、rootユーザで以下のコマンドを実行してください。
# mount -t iso9660 /dev/cdrom /media/
12.TEMP、TMPDIRの設定
ハードウェア要件の確認で、/tmpの空き容量が少ないときには、十分に空きのあるディレクトリを環境変数TEMP,TMPDIRに指定します。
$ mkdir /opt/app/oracle/tmp
$ export TEMP=/opt/app/oracle/tmp
$ export TMPDIR=/opt/app/oracle/tmp
13.TNS_ADMINの確認
TNS_ADMINが設定されていないことを確認します。設定してあるときはunsetします。
$ echo $TNS_ADMIN
下記は設定してあるときのみ実行します。
$ unset TNS_ADMIN
14.ORACLE_BASE、ORACLE_HOMEの確認
間違ったORACLE_BASEやORACLE_HOMEが設定されていないことを再度確認してください。
$ env | grep ORACLE
ORACLE_BASE=/opt/app/oracle
ORACLE_HOME=/opt/app/oracle/product/10.2.0/db_1
15.インストーラ(OUI)起動
次にoracleユーザーでインストーラーを起動します。あとは画面の指示に従ってインストールします。詳細はOracleの製品マニュアルをご覧ください。
$ /media/cdrecorder/runInstaller -ignoresysprereqs
-ignoresysprereqsは前提条件のチェックを行わないオプションです。
Oracle10g R2はAsianux Server 3より先に開発されているため、前提条件のチェックが行えませんが、この文書の前提条件に準拠した上でインストールするのであれば問題ありません。
また、インストール時の[製品固有の前提条件チェック] で[オペレーティング・システムの要件] および[オペレーティング・システム・パッケージの要件]、[カーネルパラメータ] について警告や検証を確認されますが、同様にこの文書の前提条件に準拠した上でインストールするのであれば問題ありません。
16.インストール時の注意事項
16.1. Xウィンドウの表示エラー
rootユーザで起動したXウィンドウ環境で、oracleユーザーでインストーラーを起動する場合や、リモートシステム上のXウィンドウにインストーラを表示させる場合などは、以下のエラーメッセージがJavaのエラーメッセージと共に表示されることがあります。
この場合には、インストーラを表示させる環境でxhostを実行してインストーラの表示を許可するか、インストーラ実行環境で正しいDISPLAY環境変数を設定しなおしてください。
Xlib: connection to "xxxx:0.0" refused by server
Xlib: No protocol specified
oracleユーザでxclock等を実行して正常に表示されることを確認してください。
16.2. 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)
この場合、ホスト名に指定された文字列からドメイン部分が取得できないことが問題です。
前述の[固定IPアドレスとホスト名の設定]を参照して対処を行ってください。
17.インストール後の設定
インストール終了後、画面の指示に従って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
これでインストール作業は終了です。操作については、マニュアルなどをご参照ください。
"Installation Guides"をご参照ください。
・ Oracle Database インストレーション・ガイド 10g リリース2(10.2)for Linux x86
・ Oracle Database クイック・インストレーション・ガイド 10g リリース2(10.2)for Linux x86
・ Oracle Database インストレーション・ガイド 10g リリース2(10.2)for Linux x86-64
・ Oracle Database クイック・インストレーション・ガイド 10g リリース2(10.2)for Linux x86-64
2008年 4月 18日 新規作成