このFAQでは、Asianux Server 3にOracle Database 11g Release 1 (11.1)をインストールする方法について説明します。インストールする方法としては、次の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 11g Release 1 (11.1) for Linux x86を使用する場合には、Asianux Server 3 for x86(32bit)を、Oracle Database 11g Release 1 (11.1) for Linux x86-64を使用する場合には、Asianux Server 3 for x86-64(64bit)を使用します。 Asianux Server 3 for x86-64(64bit)上でOracle Database 11g Release 1 (11.1) for Linux x86を稼動させることはサポートされていませんので、ご注意ください。
OSのインストレーションガイドに従ってインストールします。インストールの種類では「すべて」を選択してください。
また、ハードウェア要件は下記の通りです。ディスクパーティション設定の際には、注意してください。
項目 |
内容 |
補足(確認方法など) |
搭載メモリ |
1024MB以上 |
・メモリ容量の確認 # grep MemTotal /proc/meminfo |
空きディスク領域 |
(x86の場合)
ソフトウェア:1.5GB〜3.5GB
データベース:1.6GB〜1.81GB
(x86-64の場合)
ソフトウェア:3.5GB〜5.0GB
データベース:1.6GB〜2.14GB
|
・ディスク領域の確認 # 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 11をインストールするには、前記のハードウェア要件を満たす必要があります。それぞれについて確認します。
搭載メモリとスワップサイズは、次のコマンドで調べられます。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% /
- ソフトウェア要件の確認
Asianux Server 3にOracle Database 11gをインストールする際には、OSインストール時にインストールの種類で「すべて」を選択し、全てのパッケージをインストールする必要があります。
- カーネルパラメータの設定
カーネルパラメータを確認するには/etc/sysctl.confファイルを参照して下さい。以下のようにカーネルパラメータを設定します。
x86の場合
# vi /etc/sysctl.conf
fs.file-max = 206173
kernel.core_uses_pid = 1
kernel.msgmax = 65536
kernel.msgmnb = 65535
kernel.msgmni = 2878
kernel.panic = 10
kernel.sem = 256 32000 100 142
kernel.shmall = 268435456
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sysrq = 0
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.ip_forward = 0
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_syncookies = 1
x86-64の場合
# vi /etc/sysctl.conf
fs.file-max = 206173
kernel.core_uses_pid = 1
kernel.msgmax = 65536
kernel.msgmnb = 65535
kernel.msgmni = 2878
kernel.panic = 10
kernel.sem = 256 32000 100 142
kernel.shmall = 4294967296
kernel.shmmax = 68719476736
kernel.shmmni = 4096
kernel.sysrq = 0
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.ip_forward = 0
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_syncookies = 1
カーネルパラメータの変更は、/etc/sysctl.confファイルを修正し、以下のコマンドを実行することで、設定した値を動的に有効にすることができます。
# sysctl -p
- シェル制限の設定
シェル制限とは、ユーザーごとの最大プロセス数や最大オープンファイル数など、ユーザーごとに設定する制限値です。Asianux Server 3では、シェル制限はあらかじめ設定されています。/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/11.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のインストール先ディレクトリを作成します。今回はインストール先を/opt/app/oracleとしていますが、/u01/app/oracleや/opt/oracleなどでも構いません。
# mkdir -p /opt/app/oracle
# chown -R oracle:oinstall /opt/app
# chmod -R 775 /opt/app
- 環境変数の設定
これまではrootユーザーで作業してきましたが、ここからはoracleユーザーで作業します。oracleユーザとrootユーザーの実行す
るコマンドはコマンドプロンプトを分けて表記していますので注意してください。rootユーザーは"#"で、一般ユーザーは"$"です。
Oracle Database 11g
Oracleに関連する環境変数をソフトウェアインストール時にoracleユーザーに設定する必要はありません(シェル起
動ファイルにOracleに関連する環境変数の定義があれば削除する)。しかし、何も設定しない場合は、インストーラのデフォルトとし
て、以下の場所へインストールされます。
- インベントリ・ディレクトリ:$HOME/oraInventory
- ORACLEホーム:$HOME/oracle/product/11.1.0/db_1
- データファイル格納ディレクトリ:$HOME/oracle/product/11.1.0/oradata
よって、環境変数ORACLE_BASEとORACLE_HOMEについては事前に設定しておくと、自分の指定した場所へインストールを行うことができます。ここでは以下のように値を設定します。
$ export ORACLE_BASE=/opt/app/oracle
$ export ORACLE_HOME=/opt/app/oracle/product/11.1.0/db_1
インベントリ・ディレクトリは、デフォルトで$ORACLE_BASE/../oraInventoryに作成されます。
ただし以前より使用している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 11gのインストール
Oracle Database 11gのインストールのインストールを開始します。oracleユーザーでログインしてXウィンドウを起動します。インストール時には、rootユーザーも使用するので、ターミナルを2つ起動して、1つをrootユーザーにします。
$ su -
Password:
Oracle
Database11gの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
- インストール後の設定
インストールが終わったら画面の指示に従ってorainstRoot.shと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/11.1.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
これでインストール作業は終了です。あとはマニュアルなどを参考に操作してください。