OSS Fan ~OSSでLinuxサーバ構築~

作成日: 2013/06/01
更新日: 2013/06/08

OSSでLinuxサーバ構築

Oracle RAC構築のためのLinux準備

トップページOSSでLinuxサーバ構築 > 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
ベース
言語 日本語のサポート

設定

(1) パッケージのインストール

 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

(2) グループの作成

 必要なグループを作成します。

# 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: ←これが追加された

(3) ユーザの作成

 続いて必要なユーザを作成し、パスワードを設定します。

# 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.

(4) ユーザのリソース制限変更

 Oracleインストールユーザのリソース制限を変更します。

# cd /etc/security/
# vi limits.conf
ファイル名:/etc/security/limits.conf
※ファイルの末尾に追加※
oracle		soft	nproc		2047
oracle		hard	nproc		16384
oracle		soft	nofile		1024
oracle		hard	nofile		65536
oracle		soft	stack		10240

(5) カーネルパラメータの変更

 カーネルパラメータを変更します。デフォルトでOracleの要件を満たしていないものを対象に変更します。

# cd /etc/
# vi sysctl.conf
ファイル名:/etc/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

(6) ディレクトリの作成

 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

(7) hostsファイルの変更

 hostsファイル、もしくはDNSサーバで名前解決できるようになっていないと インストール中にエラーが出力されるので、事前に登録しておきます。

# cd /etc/
# vi hoststs
ファイル名:/etc/hosts
※ファイルの末尾に追加※
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

(8) NTPクライアント設定

 Oracle Grid InfrastructureではNTPかctsssdによる時刻同期が必要です。 外部のNTPサーバとの同期は必須ではありませんが、少なくともクラスタ・メンバ間で 時刻を同期する必要があります。 ここではNTPによりインターネット上のntp.nict.jpと時刻同期を行うこととします。 また、NTPはSLEWモードを利用する必要があります。 以下ではまずはNTPクライアントとしての設定を行います。

# cd /etc/
# vi ntp.conf
ファイル名:/etc/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
ファイル名:/etc/sysconfig/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」を実行してインストールを開始します。

プロフィール

らのっち

損害保険会社のIT企画部に勤務するSEです。OSSを勉強中です。

<所属>
日本PostgreSQLユーザ会とくしまOSS普及協議会

■■■ 当サイトは Internet Explorer 11 と Mozilla Firefox 43 で動作確認済みです。 ■■■