Oracle RAC構築のためのLinux準備
目次
構成
想定環境
Oracle Database 11g R2をインストールするサーバ構成を以下の通りとしました。 開発環境などを想定した最低限の構成としています。
Linux、Oracle製品をインストールするディスクの構成は以下の通りです。
データベースを格納するディスクの構成は以下の通りです。
サーバ構成
OSバージョン
Red Hat Enterprise Linux 5.9 64bit
Oracle Database 11.2.0.3.0からRHEL6もサポートしていますが、 OracleASMLibがRHEL6をサポートしていないようなので、ちょっと古いですが バージョン5.9を利用しました。
ソフトウェア一覧
Oracle Database 11g Release 2 (11.2.0.3.0) for Linux x86-64
Oracle Database 11g Release 2 Grid Infrastructure (11.2.0.3.0) for Linux x86-64
パッケージ一覧
以下のパッケージが必要となります。 足りないとインストール時にエラーになります。 前提パッケージも考慮してリストアップしています。 Linuxインストール時に選択したパッケージグループは後述の手順をご参照ください。 Linuxのインストール時に選択したパッケージグループが異なる場合、 下記パッケージの他に必要なパッケージが存在する場合があるためご注意ください。
■RHEL5.9メディア同梱
compat-libstdc++-33-3.2.3-61.x86_64.rpm
compat-libstdc++-33-3.2.3-61.i386.rpm
libaio-devel-0.3.106-5.x86_64.rpm
libaio-devel-0.3.106-5.i386.rpm
sysstat-7.0.2-12.el5.x86_64.rpm
unixODBC-libs-2.2.11-10.el5.i386.rpm
unixODBC-2.2.11-10.el5.i386.rpm
unixODBC-devel-2.2.11-10.el5.i386.rpm
unixODBC-libs-2.2.11-10.el5.x86_64.rpm
unixODBC-2.2.11-10.el5.x86_64.rpm
unixODBC-devel-2.2.11-10.el5.x86_64.rpm
kernel-debug-2.6.18-348.el5.x86_64.rpm
kernel-xen-2.6.18-348.el5.x86_64.rpm
■Oracle Technology Networkからダウンロード
【ダウンロードサイト】 http://www.oracle.com/technetwork/server-storage/linux/downloads/rhel5-084877.html
oracleasm-support-2.1.8-1.el5.x86_64.rpm
oracleasm-2.6.18-348.el5-2.0.5-1.el5.x86_64.rpm
oracleasm-2.6.18-348.el5debug-2.0.5-1.el5.x86_64.rpm
oracleasm-2.6.18-348.el5xen-2.0.5-1.el5.x86_64.rpm
oracleasmlib-2.0.4-1.el5.x86_64.rpm
■Oracleのインストールメディア同梱
cvuqdisk-1.0.9-1.rpm
環境構築
インストール
Oracle Databaseのインストールは基本的にはGUI環境で行うため、 Linuxインストール時にX Window等必要なパッケージをインストールしておきます。 RHEL5.9のインストール時に指定するパッケージグループは以下の通りとします。 最低限このパッケージ群がインストールされていると、Oracleのインストールが楽になります。
デスクトップ環境 | GNOMEデスクトップ環境 |
---|---|
アプリケーション | (なし) |
開発 | 開発ツール 開発ライブラリ |
サーバー | (なし) |
ベースシステム | X Window System ベース |
言語 | 日本語のサポート |
設定
パッケージのインストール
Oracle Databaseの前提パッケージをインストールします。 Oracleのウェブサイトで公開されているパッケージだと、 実際のインストール時に前提不足と表示されるので、1つ追加しています。 DVDドライブにRHEL5.9のDVD-ROMをセットし、以下のコマンドを実行します。
# mount /dev/cdrom /media/cdrom # cd /media/cdrom/Server/ # rpm -ihv compat-libstdc++-33-3.2.3-61.x86_64.rpm Preparing... ########################################### [100%] 1:compat-libstdc++-33 ########################################### [100%] # rpm -ihv compat-libstdc++-33-3.2.3-61.i386.rpm Preparing... ########################################### [100%] 1:compat-libstdc++-33 ########################################### [100%] # rpm -ihv libaio-devel-0.3.106-5.x86_64.rpm Preparing... ########################################### [100%] 1:libaio-devel ########################################### [100%] # rpm -ihv libaio-devel-0.3.106-5.i386.rpm Preparing... ########################################### [100%] 1:libaio-devel ########################################### [100%] # rpm -ihv sysstat-7.0.2-12.el5.x86_64.rpm Preparing... ########################################### [100%] 1:sysstat ########################################### [100%] # rpm -ihv unixODBC-libs-2.2.11-10.el5.i386.rpm Preparing... ########################################### [100%] 1:unixODBC-libs ########################################### [100%] # rpm -ihv unixODBC-2.2.11-10.el5.i386.rp Preparing... ########################################### [100%] 1:unixODBC ########################################### [100%] # rpm -ihv unixODBC-devel-2.2.11-10.el5.i386.rpm Preparing... ########################################### [100%] 1:unixODBC-devel ########################################### [100%] # rpm -ihv unixODBC-libs-2.2.11-10.el5.x86_64.rpm Preparing... ########################################### [100%] 1:unixODBC-libs ########################################### [100%] # rpm -ihv unixODBC-2.2.11-10.el5.x86_64.rpm Preparing... ########################################### [100%] 1:unixODBC ########################################### [100%] # rpm -ihv unixODBC-devel-2.2.11-10.el5.x86_64.rpm Preparing... ########################################### [100%] 1:unixODBC-devel ########################################### [100%] # rpm -ihv kernel-debug-2.6.18-348.el5.x86_64.rpm Preparing... ########################################### [100%] 1:kernel-debug ########################################### [100%] # rpm -ihv kernel-xen-2.6.18-348.el5.x86_64.rpm Preparing... ########################################### [100%] 1:kernel-xen ########################################### [100%] # cd / # umount /dev/cdrom
OracleASMLibのパッケージはOracle Technology Networkからダウンロード後に、 WinSCPなどを利用して /tmp/oracle-asmlib/ ディレクトリへアップロードしておきます。 (アップロード先はどこでも良いです)
# cd /tmp/oracle-asmlib/ # ls -l total 196 -rw-r--r-- 1 root root 25420 May 19 03:22 oracleasm-2.6.18-348.el5-2.0.5-1.el5.x86_64.rpm -rw-r--r-- 1 root root 25855 May 19 03:22 oracleasm-2.6.18-348.el5debug-2.0.5-1.el5.x86_64.rpm -rw-r--r-- 1 root root 25636 May 19 03:22 oracleasm-2.6.18-348.el5xen-2.0.5-1.el5.x86_64.rpm -rw-r--r-- 1 root root 14176 May 19 03:23 oracleasmlib-2.0.4-1.el5.x86_64.rpm -rw-r--r-- 1 root root 90225 May 19 03:23 oracleasm-support-2.1.8-1.el5.x86_64.rpm # rpm -ihv ./*.rpm Preparing... ########################################### [100%] 1:oracleasm-support ########################################### [ 20%] 2:oracleasm-2.6.18-348.el########################################### [ 40%] 3:oracleasm-2.6.18-348.el########################################### [ 60%] 4:oracleasm-2.6.18-348.el########################################### [ 80%] 5:oracleasmlib ########################################### [100%]
最後に cvuqdisk パッケージをインストールします。 このパッケージはOracleのインストールメディアに同梱されています。 OracleのインストールメディアをDVDドライブにセットして以下のコマンドを実行します。
# mount /dev/cdrom /media/cdrom # rpm -ihv /media/cdrom/grid/rpm/cvuqdisk-1.0.9-1.rpm Preparing... ########################################### [100%] Using default group oinstall to install package 1:cvuqdisk ########################################### [100%] # umount /dev/cdrom
グループの作成
必要なグループを作成します。
# groupadd -g 501 oinstall # groupadd -g 502 dba # groupadd -g 503 oper # groupadd -g 504 asmadmin # groupadd -g 505 asmdba # groupadd -g 506 asmoper
作成後に確認します。
# tail /etc/group stapdev:x:158: haldaemon:x:68: avahi-autoipd:x:159: gdm:x:42: oinstall:x:501: ←これが追加された dba:x:502: ←これが追加された oper:x:503: ←これが追加された asmadmin:x:504: ←これが追加された asmdba:x:505: ←これが追加された asmoper:x:506: ←これが追加された
ユーザの作成
続いて必要なユーザを作成し、パスワードを設定します。
# useradd -u 501 -g oinstall -G asmdba,asmoper,asmadmin grid # passwd grid Changing password for user grid. New UNIX password: ←入力したパスワードは表示されない Retype new UNIX password: ←入力したパスワードは表示されない passwd: all authentication tokens updated successfully. # useradd -u 502 -g oinstall -G dba,asmdba oracle # passwd oracle Changing password for user oracle. New UNIX password: ←入力したパスワードは表示されない Retype new UNIX password: ←入力したパスワードは表示されない passwd: all authentication tokens updated successfully.
ユーザのリソース制限変更
Oracleインストールユーザのリソース制限を変更します。
# cd /etc/security/ # vi limits.conf
※ファイルの末尾に追加※
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
カーネルパラメータの変更
カーネルパラメータを変更します。デフォルトでOracleの要件を満たしていないものを対象に変更します。
# cd /etc/ # vi sysctl.conf
※ファイルの末尾に追加※
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 4294967296
kernel.shmmax = 68719476736
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
設定ファイル変更後に変更を反映させます。
# sysctl -p net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 68719476736 kernel.shmall = 4294967296 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 4294967296 kernel.shmmax = 68719476736 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
ディレクトリの作成
Oracle Grid InfrastructureとOracle Databaseのインストールディレクトリを作成します。
# mkdir -p /u01/app/oracle # mkdir -p /u01/app/oracle/oradata # mkdir -p /u01/app/oracle/fast_recovery_area # chown -R oracle /u01 # mkdir -p /u01/app/grid # mkdir -p /u01/app/11.2.0/grid # mkdir -p /u01/app/oraInventory # chown grid /u01/app/grid # chown -R grid /u01/app/11.2.0 # chown grid /u01/app/oraInventory # chgrp -R oinstall /u01 # chmod -R 775 /u01
hostsファイルの変更
hostsファイル、もしくはDNSサーバで名前解決できるようになっていないと インストール中にエラーが出力されるので、事前に登録しておきます。
# cd /etc/ # vi hoststs
※ファイルの末尾に追加※
192.168.10.101 rac-node1 # public
192.168.10.102 rac-node2 # public
192.168.10.103 rac-vip1 # VIP
192.168.10.104 rac-vip2 # VIP
192.168.10.105 rac-scan1 # SCAN
192.168.20.101 rac-int1 # private(interconnect)
192.168.20.102 rac-int2 # private(interconnect)
192.168.0.101 rac-maint1 # maintenance
192.168.0.102 rac-maint2 # maintenance
NTPクライアント設定
Oracle Grid InfrastructureではNTPかctsssdによる時刻同期が必要です。 外部のNTPサーバとの同期は必須ではありませんが、少なくともクラスタ・メンバ間で 時刻を同期する必要があります。 ここではNTPによりインターネット上のntp.nict.jpと時刻同期を行うこととします。 また、NTPはSLEWモードを利用する必要があります。 以下ではまずはNTPクライアントとしての設定を行います。
# cd /etc/ # vi ntp.conf
※該当箇所を変更、または追加※ restrict default kod nomodify notrap nopeer noquery restrict -6 default kod nomodify notrap nopeer noquery ↓変更 #restrict default kod nomodify notrap nopeer noquery #restrict -6 default kod nomodify notrap nopeer noquery restrict default ignore
restrict -6 ::1
↓変更
#restrict -6 ::1
restrict 133.243.238.163 mask 255.255.255.255 nomodify notrap noquery restrict 133.243.238.164 mask 255.255.255.255 nomodify notrap noquery restrict 133.243.238.243 mask 255.255.255.255 nomodify notrap noquery restrict 133.243.238.244 mask 255.255.255.255 nomodify notrap noquery
server 0.rhel.pool.ntp.org
server 1.rhel.pool.ntp.org
server 2.rhel.pool.ntp.org
↓変更
#server 0.rhel.pool.ntp.org
#server 1.rhel.pool.ntp.org
#server 2.rhel.pool.ntp.org
server -4 ntp.nict.jp iburst
server -4 ntp.nict.jp iburst
server -4 ntp.nict.jp iburst
続いてntpdの起動オプションを変更して、slewモードで起動させる設定にします。
# cd /etc/sysconfig/ # vi ntpd
※該当箇所を変更※ OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid" ↓変更 OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"
一通り設定が終わったらntpdを起動し、自動起動の設定を行います。 また、時刻が同期されていることを確認します。
# /etc/rc.d/init.d/ntpd start Starting ntpd: [ OK ] # chkconfig ntpd on # chkconfig --list ntpd ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off # ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *ntp-b2.nict.go. .NICT. 1 u 371 512 377 10.761 -19.646 1.672 +ntp-a2.nict.go. .NICT. 1 u 490 512 377 9.035 -20.087 2.440 +ntp-b3.nict.go. .NICT. 1 u 486 512 377 10.721 -18.724 1.055 LOCAL(0) .LOCL. 10 l 16 64 377 0.000 0.000 0.001
以上でOracleインストール前の準備は終了です。Oracle Grid Infrastructureの「runInstaller」を実行してインストールを開始します。