このFAQでは、Asianux Server 4にOracle Database 11g Release 2 (11.2)をインストールする方法について説明します。インストールする方法としては、次の2つの方法があります。
このFAQではInstall Navigator for Oracle(以下、oranavi)を使わない方法について説明します。oranavi を使う方法につきましては、oranaviを起動すると表示されるドキュメントをご覧下さい。
※Install Navigator for Oracleとは、Oracle製品のインストールを支援するユーティリティです。とても簡単にOracle Database をインストールできるのでお勧めです。
インストールは下記の手順で行います。この文書では、主にOSのインストールからOracle Universal
Installerの起動までについて説明します。Oracle Universal
Installerが起動してからについては、下記のOracle製品マニュアルをご覧ください。
Oracle Database 11g のインストール作業では root ユーザと oracle ユーザで作業を行いますが、oracleユーザとrootユーザの実行するコマンドはコマンドプロンプトを分けて表記していますので注意してください。root ユーザは "#" で、一般ユーザは "$" です。
- OS のインストール
Oracle Database 11g Release 2 (11.2) for Linux x86を使用する場合には、Asianux Server 4 for x86(32bit)を、Oracle Database 11g Release 2 (11.2) for Linux x86-64を使用する場合には、Asianux Server 4 for x86-64(64bit)を使用します。
OSのインストレーションガイドに従ってインストールします。インストールの種類では「すべて」を選択してください。
また、ハードウェア要件は下記の通りです。ディスクパーティション設定の際には、注意してください。
項目 |
内容 |
補足(確認方法など) |
搭載メモリ |
1GB以上 |
・メモリ容量の確認 # grep MemTotal /proc/meminfo |
空きディスク領域 |
(x86の場合)
ソフトウェア:3.88GB〜3.95GB
データベース:1.5GB〜1.7GB
(x86-64の場合)
ソフトウェア:4.22GB〜4.35GB
データベース:1.5GB〜1.7GB
|
・ディスク領域の確認 # df インストールディレクトリ |
スワップ領域 |
搭載メモリが1GB以上2GB未満:メモリサイズの1.5倍 搭載メモリが2GB以上16GB未満:メモリサイズと同じ値 搭載メモリが16GB以上:16GB |
・スワップ容量の確認 # grep SwapTotal /proc/meminfo ・スワップの追加 1) パーティションを作成し領域タイプをswapに設定 2) /etc/fstabにswapパーティションの行を追加 3) # swapon -a |
その他 |
/tmpに1GB以上の空きディスク領域 |
・/tmpの領域サイズの確認 # fdisk /tmp |
- ハードウェア要件の確認
Oracle Database 11gをインストールするには、前記のハードウェア要件を満たす必要があります。それぞれについて確認します。
搭載メモリとスワップサイズは、次のコマンドで調べられます。MemTotalが搭載メモリで、SwapTotalがスワップサイズとなります。
$ cat /proc/meminfo
# cat /proc/meminfo
MemTotal: 1940108 kB
MemFree: 1417452 kB
Buffers: 50796 kB
Cached: 265836 kB
SwapCached: 0 kB
Active: 197328 kB
Inactive: 253892 kB
Active(anon): 134676 kB
Inactive(anon): 3200 kB
Active(file): 62652 kB
Inactive(file): 250692 kB
Unevictable: 0 kB
Mlocked: 0 kB
HighTotal: 1189832 kB
HighFree: 775744 kB
LowTotal: 750276 kB
LowFree: 641708 kB
SwapTotal: 2097144 kB
SwapFree: 2097144 kB
Dirty: 236 kB
Writeback: 0 kB
AnonPages: 134604 kB
Mapped: 86620 kB
Shmem: 3292 kB
Slab: 38700 kB
(...)
Oracle Database をインストールするパーティションにハードウェア要件を満たす空き容量があることを確認します。
$ df -h
Filesystem Size Used Avail Use% マウント位置
/dev/sda3 23G 10G 12G 47% /
tmpfs 948M 264K 948M 1% /dev/shm
/dev/sda1 194M 42M 143M 23% /boot
同様に/tmpを含むパーティションに1GB以上の空き容量があることを確認します。空きがないときには、TEMP環境変数を使って回避できます。
- ソフトウェア要件の確認
Asianux Server 4にOracle Database 11gをインストールする際には、OSインストール時にインストールの種類で「すべて」を選択する事を推奨しますが、「すべて」以外を選択した場合は、次のパッケージをあらかじめインストールしておいて下さい。
x86の場合
binutils-2.20.51.0.2-5.34.AXS4.i686
compat-libcap1-1.10-1.i686
compat-libstdc++-33-3.2.3-69.AXS4.i686
gcc-4.4.6-4.AXS4.i686
gcc-c++-4.4.6-4.AXS4.i686
glibc-2.12-1.80.AXS4.5.i686
glibc-devel-2.12-1.80.AXS4.5.i686
ksh-20100621-16.AXS4.i686
libaio-0.3.107-10.AXS4.i686
libaio-devel-0.3.107-10.AXS4.i686
libgcc-4.4.6-4.AXS4.i686
libstdc++-4.4.6-4.AXS4.i686
libstdc++-devel-4.4.6-4.AXS4.i686
make-3.81-20.AXS4.i686
sysstat-9.0.4-20.AXS4.i686
unixODBC-2.2.14-11.AXS4.i686
unixODBC-devel-2.2.14-11.AXS4.i686
|
x86_64の場合
binutils-2.20.51.0.2-5.34.AXS4.x86_64
compat-libcap1-1.10-1.x86_64
compat-libstdc++-33-3.2.3-69.AXS4.i686
compat-libstdc++-33-3.2.3-69.AXS4.x86_64
gcc-4.4.6-4.AXS4.x86_64
gcc-c++-4.4.6-4.AXS4.x86_64
glibc-2.12-1.80.AXS4.5.i686
glibc-2.12-1.80.AXS4.5.x86_64
glibc-devel-2.12-1.80.AXS4.5.i686
glibc-devel-2.12-1.80.AXS4.5.x86_64
ksh-20100621-16.AXS4.x86_64
libaio-0.3.107-10.AXS4.i686
libaio-0.3.107-10.AXS4.x86_64
libaio-devel-0.3.107-10.AXS4.i686
libaio-devel-0.3.107-10.AXS4.x86_64
libgcc-4.4.6-4.AXS4.i686
libgcc-4.4.6-4.AXS4.x86_64
libstdc++-4.4.6-4.AXS4.i686
libstdc++-4.4.6-4.AXS4.x86_64
libstdc++-devel-4.4.6-4.AXS4.i686
libstdc++-devel-4.4.6-4.AXS4.x86_64
make-3.81-20.AXS4.x86_64
sysstat-9.0.4-20.AXS4.x86_64
unixODBC-2.2.14-11.AXS4.i686
unixODBC-2.2.14-11.AXS4.x86_64
unixODBC-devel-2.2.14-11.AXS4.i686
unixODBC-devel-2.2.14-11.AXS4.x86_64
|
- カーネルパラメータの設定
カーネルパラメータを確認するには/etc/sysctl.confファイルを参照して下さい。以下のようにカーネルパラメータを設定します。
x86の場合
# vi /etc/sysctl.conf
fs.file-max = 6815744
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 = 1048576
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 = 9000 65500
net.ipv4.tcp_syncookies = 1
x86-64の場合
# vi /etc/sysctl.conf
fs.file-max = 6815744
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 = 1048576
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 = 9000 65500
net.ipv4.tcp_syncookies = 1
カーネルパラメータの変更は、/etc/sysctl.confファイルを修正し、以下のコマンドを実行することで、設定した値を動的に有効にすることができます。
# sysctl -p
- シェル制限の設定
シェル制限とは、ユーザーごとの最大プロセス数や最大オープンファイル数など、ユーザーごとに設定する制限値です。Asianux Server 4ではシェル制限はあらかじめ設定されていませんので、/etc/security/limits.confに次の内容を追加してください。rootユーザーが変更できる上限値のハードリミットと、一般ユーザーが変更できる上限値のソフトリミットがあります。
# vi /etc/security/limits.conf
oracle hard nproc 16384
oracle soft nproc 2048
oracle hard nofile 65536
- インストールユーザーおよびグループの作成
このセクションではOracleオーナーとなるユーザーおよびグループを作成します。今回は次の条件でインストールします。
項目 |
値 |
Oracleオーナー |
oracle |
Oracle Databaseインストール用グループ |
oinstall |
Oracle Database管理者用グループ |
dba |
グローバルデータベース名 |
orcl |
Oracle Databaseのインストール先 |
/opt/app/oracle |
Oracleホーム |
/opt/app/oracle/product/11.2.0/db_1 |
データベースの作成先 |
/opt/app/oracle/oradata |
インストール用ユーザーグループ「oinstall」と管理者用グループ「dba」を作成します。
# groupadd oinstall
# groupadd dba
oracleユーザーを作成します。作成したらパスワードも設定します。
# useradd -g oinstall -G dba oracle
# passwd oracle
ユーザー oracle のパスワードを変更。
新しいパスワード: <ここにパスワードを入力>
新しいパスワードを再入力してください: <同じパスワードを入力>
passwd: 全ての認証トークンが正しく更新できました。
- インストール先ディレクトリの作成
Oracle Databaseのインストール先ディレクトリを作成します。今回はインストール先を/opt/app/oracleとしていますが、/u01/app/oracleや/opt/oracleなどでも構いません。
# mkdir -p /opt/app/oracle
# chown -R oracle:oinstall /opt/app
# chmod -R 775 /opt/app
- フォントの設定(oranavi がインストールされていない場合のみ)
Asianux 4 でデフォルトのフォントが変更されたため、oranavi がインストールされていない場合、oracle のインストーラを起動すると文字化けすることがあります。回避策として英語環境でインストールするか、あるいは次の方法でフォントのシンボリックリンクを作成することでインストーラを日本語で表示させることができます。以下の例は代替フォントとしてVLGothic を用いる例です。
# mkdir -p /usr/share/fonts/ja
# mkdir -p /usr/share/fonts/ja/TrueType
# cd /usr/share/fonts/ja/TrueType
# ln -s ../../vlgothic/VL-Gothic-Regular.ttf kochi-gothic-subst.ttf
- 環境変数の設定
これまではrootユーザで作業してきましたが、ここからはoracleユーザで作業します。
Oracle Database 11g ではOracleに関連する環境変数をソフトウェアインストール時に
oracleユーザに設定する必要はありません (シェル起動ファイルにOracleに関連する環境変
数の定義があれば削除する)。しかし何も設定しない場合は、インストーラのデフォルトとし
て以下の場所へインストールされます。
- インベントリ・ディレクトリ:$HOME/oraInventory
- ORACLEホーム:$HOME/oracle/product/11.2.0/db_1
- データファイル格納ディレクトリ:$HOME/oracle/product/11.2.0/oradata
よって、環境変数ORACLE_BASEとORACLE_HOMEについては事前に設定しておくと、自分の指定した場所へインストールを行うことができます。ここでは以下のように値を設定します。
$ export ORACLE_BASE=/opt/app/oracle
$ export ORACLE_HOME=/opt/app/oracle/product/11.2.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 Windowを起動します。インストール時には、rootユーザーも使用するのでターミナルを2つ起動して、1つをrootユーザーにします。
$ su -
Password:
Oracle Database11gのDVD-ROMをドライブにセットします。通常X Windowシステムを起動している場合は、自動的にDVD-ROMがマウントされま
す。手動でマウントするときにはrootユーザで以下のコマンドを実行してください。
以下の例は /dev/cdrom を /mnt/cdrom にマウントする例です。
# mkdir /mnt/cdrom
# mount /dev/cdrom /mnt/cdrom
ハードウェア要件の確認で/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ユーザーでインストーラーを起動します。
$ /media/Database/runInstaller
/mnt/cdrom 以下にマウントした場合は、以下のコマンドを実行してください。
$ /mnt/cdrom/runInstaller
あとは画面の指示に従ってインストールします。詳細はOracleの製品マニュアルをご覧ください。
【注意事項】
- Xウィンドウの表示エラー
もしrootユーザで起動したXウィンドウ環境で、oracleユーザーでインストーラーを起動する場合や、リモートシステム上のXウィンドウにインス
トーラを表示させる場合などは、以下のエラーメッセージがJavaのエラーメッセージと共に表示されることがあります。この場合には、インストーラを表示
させる環境でxhostを実行してインストーラの表示を許可するか、インストーラ実行環境で正しいDISPLAY環境変数を設定しなおしてください。
Xlib: connection to "xxxx:0.0" refused by server
Xlib: No protocol specified
- 前提条件チェックの実行でのパッケージの失敗
pdksh がインストールされていないためステータスに失敗が表示されることがあります。この
場合、 ksh がインストールされていれば問題ありません。
また x86_64 の環境の場合、前提条件のチェックの実行で次のi686アーキテクチャのパッ
ケージをインストールしたのにもかかわらずステータスに失敗が表示されることがあります。
compat-libstdc++
libaio
libaio-devel
libgcc
libstdc++
unixODBC
unixODBC-devel
|
いずれの場合も他に問題がないことを確かめてから「すべて無視」にチェックを入れて進んでください。
- インストール後の設定
インストールが終わったら画面の指示に従って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.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
これでインストール作業は終了です。あとはマニュアルなどを参考に操作してください。