Oracle11gR2をインストールする前のAIX7.1チューニング
Oracle11gR2をインストールする前のAIX7.1チューニング
Oracle11gR2をインストールする前に必要なAIX7.1チューニングについてご説明します。
参考にしたインストレーションガイドは以下になります。
■参考資料
—————————————————————————————–
Oracle® Grid Infrastructureインストレーション・ガイド11g リリース2(11.2)
for IBM AIX on POWER Systems(64-Bit)
Oracle® Real Application Clustersインストレーション・ガイド11g リリース2 (11.2)
for Linux and UNIX Systems
—————————————————————————————–
Oracle11gR2をインストールする前に、Oracle11gR2のOS要件を満たしている必要があります。その設定内容を以下に書いておきます。
01 rootパスワード設定
02 oracleインストール要件モジュール確認
03 Linuxコマンドインストール
04 sshインストール
05 sshd_config編集
06 no設定
07 sys0パラメータ変更
08 tmp拡張
09 ページングスペース拡張
10 グループ作成
12 ユーザー作成
13 gridユーザーのcapabilities権限追加
14 rhdisk権限変更
15 シンボリックリンク作成
16 oracle用ファイルシステム作成
17 ulimit設定
18 oracleインストールディレクトリ準備
19 パスワードなしでssh接続する設定
01 rootパスワード設定
AIX7.1インストール直後は、rootユーザーがパスワードなしでログインすることができます。パスワード認証でログインするように変更します。
[root@:/] echo root:zaq12wsx|chpasswd -c [root@:/]
02 oracleインストール要件モジュール確認
以下のモジュールとfixがインストール済みであることを確認します。
・モジュール
bos.adt.base
bos.adt.lib
bos.adt.libm
bos.perf.libperfstat
bos.perf.perfstat
xlC.aix61.rte
xlC.rte
・fix
IZ87216
IZ87564
IZ89165
IZ97035
[root@:/] lslpp -l bos.adt.base ファイルセット レベル 状態 説明 ---------------------------------------------------------------------------- パス: /usr/lib/objrepos bos.adt.base 7.1.2.15 COMMITTED Base Application Development Toolkit パス: /etc/objrepos bos.adt.base 7.1.2.15 COMMITTED Base Application Development Toolkit [root@:/] [root@:/] lslpp -l bos.adt.lib ファイルセット レベル 状態 説明 ---------------------------------------------------------------------------- パス: /usr/lib/objrepos bos.adt.lib 7.1.2.15 COMMITTED Base Application Development Libraries [root@:/] [root@:/] lslpp -l bos.adt.libm ファイルセット レベル 状態 説明 ---------------------------------------------------------------------------- パス: /usr/lib/objrepos bos.adt.libm 7.1.2.0 COMMITTED Base Application Development Math Library [root@:/] [root@:/] lslpp -l bos.perf.libperfstat ファイルセット レベル 状態 説明 ---------------------------------------------------------------------------- パス: /usr/lib/objrepos bos.perf.libperfstat 7.1.2.15 COMMITTED Performance Statistics Library Interface パス: /etc/objrepos bos.perf.libperfstat 7.1.2.15 COMMITTED Performance Statistics Library Interface [root@:/] [root@:/] lslpp -l bos.perf.perfstat ファイルセット レベル 状態 説明 ---------------------------------------------------------------------------- パス: /usr/lib/objrepos bos.perf.perfstat 7.1.2.15 COMMITTED Performance Statistics Interface パス: /etc/objrepos bos.perf.perfstat 7.1.2.15 COMMITTED Performance Statistics Interface [root@:/] [root@:/] lslpp -l xlC.aix61.rte ファイルセット レベル 状態 説明 ---------------------------------------------------------------------------- パス: /usr/lib/objrepos xlC.aix61.rte 12.1.0.0 COMMITTED IBM XL C++ Runtime for AIX 6.1 and 7.1 [root@:/] [root@:/] lslpp -l xlC.rte ファイルセット レベル 状態 説明 ---------------------------------------------------------------------------- パス: /usr/lib/objrepos xlC.rte 12.1.0.0 COMMITTED IBM XL C++ Runtime for AIX [root@:/] [root@:/] instfix -i -k IZ87216 IZ87216 のためのすべてのファイルセットが見つかりました。 [root@:/] [root@:/] instfix -i -k IZ87564 IZ87564 のためのすべてのファイルセットが見つかりました。 [root@:/] [root@:/] instfix -i -k IZ89165 IZ89165 のためのすべてのファイルセットが見つかりました。 [root@:/] [root@:/] instfix -i -k IZ97035 IZ97035 のためのすべてのファイルセットが見つかりました。 [root@:/]
03 Linuxコマンドインストール
zip、unzip、vnc、bashを追加でインストールします。rpmファイルはtoolboxというメディアの中にあります。
[root@:/nfsdir/RPMS/ppc] rpm -ivh \ > zip-2.3-3.aix4.3.ppc.rpm unzip-5.51-1.aix5.1.ppc.rpm \ > tar-1.14-2.aix5.1.ppc.rpm vnc-3.3.3r2-6.aix5.1.ppc.rpm \ > bash-3.2-1.aix5.2.ppc.rpm zip ################################################## unzip ################################################## tar ################################################## vnc ################################################## bash ################################################## [root@:/nfsdir/RPMS/ppc]
04 sshインストール
sshを追加でインストールします。モジュールはAIX7.1インストールメディアに入ってますので、smitからインストールします。
root@nim:/# smit nim → NIM ソフトウェア・インストールおよび保守タスクの実行 → ソフトウェアのインストールおよび更新 → ソフトウェアのインストール → 操作に対してのターゲットの選択 "インストールするNIMクライアントを選択" → インストール・イメージを含んでいる LPP_SOURCE の選択 "AIXインストーラのLPP_SOURCEを選択" → モジュール一覧から「openssh.base」を選択
インストールが成功したことを確認
成功 --------- このセクションにリストされたファイルセットは事前インストール検査に パスしたので、インストールされます。 選択されたファイルセット ------------------------ openssh.base.client 6.0.0.6100 # Open Secure Shell Commands openssh.base.server 6.0.0.6100 # Open Secure Shell Server +-----------------------------------------------------------------------------+ 要約: +-----------------------------------------------------------------------------+ インストール要約 ---------------- 名前 レベル 部分 イベント 結果 ------------------------------------------------------------------------------- openssh.base.client 6.0.0.6100 USR APPLY SUCCESS openssh.base.server 6.0.0.6100 USR APPLY SUCCESS openssh.base.client 6.0.0.6100 ROOT APPLY SUCCESS openssh.base.server 6.0.0.6100 ROOT APPLY SUCCESS
05 sshd_config編集
sshdのコンフィグを編集し、sshdを再起動します。
vi /etc/ssh/sshd_config LoginGraceTime 0 X11Forwarding yes
sshdを再起動し、コンフィグファイルの再読み込みを行う。
[root@:/] stopsrc -s sshd 0513-044 sshd サブシステムは停止を要求されました。 [root@:/] startsrc -s sshd 0513-059 sshd サブシステムは始動しました。サブシステム PID は 5963872 です。 [root@:/]
06 no設定
noパラメータを以下のように変更します。OS再起動後にも反映されるようにオプションは「-po」か「-ro」とすることに注意して下さい。
no -po sb_max=4194304 no -po tcp_ephemeral_low=9000 no -po tcp_ephemeral_high=65500 no -po udp_ephemeral_low=9000 no -po udp_ephemeral_high=65500 no -po tcp_sendspace=65536 no -po tcp_recvspace=65536 no -po udp_sendspace=65536 no -po udp_recvspace=655360 no -po rfc1323=1 no -ro ipqmaxlen=512
07 sys0パラメータ変更
sys0パラメータを変更します。
[root@:] chdev -l sys0 -a maxuproc=16384 sys0 を変更しました [root@:]
08 tmp拡張
tmpファイルシステムのサイズは1.5GBほどあったほうがいいです。サイズが不十分だとOracleインストールチェックでひっかかります。
[root@:/] chfs -a size=1536M /tmp ファイルシステム・サイズが 3145728 に変更されました [root@:/]
09 ページングスペース拡張
ページングスペースを適度に拡張しておきます。
[root@:/] extendlv hd6 36 [root@:/] lsps -a ページ・スペース 物理ボリューム ボリューム・グループ・サイズ %使用 アクティブ 自動 タイプ チェックサム hd6 hdisk0 rootvg 5120MB 2 はい はい lv 0 [root@:/]
10 グループ作成
グループを作成します。グループIDは何でもいいです。
mkgroup -'A' id='301' oinstall mkgroup -'A' id='302' dba mkgroup -'A' id='303' asmadmin mkgroup -'A' id='304' asmdba
12 ユーザー作成
ユーザーを作成し、必要なグループに所属させます。パスワードも設定しておきます。
mkuser id='301' pgrp='oinstall' groups='asmadmin,asmdba,dba' grid mkuser id='302' pgrp='oinstall' groups='dba,asmdba' oracle echo grid:grid|chpasswd -c echo oracle:oracle|chpasswd -c
13 gridユーザーのcapabilities権限追加
gridユーザーにcapabilities権限を付加します。
[root@:/] chuser capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid [root@:/] lsuser -a capabilities grid grid capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE [root@:/]
14 rhdisk権限変更
ORACLEのASMを構成するディスクは、gridユーザーの所有者に変更します。変更対象のディスクは頭文字に「r」が付いていることに注意して下さい。
[root@:/] chown grid.asmadmin /dev/rhdisk1 /dev/rhdisk3 [root@:/] chmod 660 /dev/rhdisk1 /dev/rhdisk3 [root@:/] ls -l /dev/rhdisk* crw------- 2 root system 19, 0 Oct 10 10:07 /dev/rhdisk0 crw-rw---- 1 grid asmadmin 19, 5 Oct 10 10:07 /dev/rhdisk1 crw------- 1 root system 19, 7 Oct 10 10:07 /dev/rhdisk2 crw-rw---- 1 grid asmadmin 19, 6 Oct 10 10:07 /dev/rhdisk3 crw------- 1 root system 19, 3 Oct 10 10:07 /dev/rhdisk4 crw------- 1 root system 19, 1 Oct 10 10:07 /dev/rhdisk5 [root@:/]
15 シンボリックリンク作成
ORACLEのASMを構成するディスクは、シンボリックリンク経由で見せるので、それ用のリンクを作成し所有権をgridに変更します。ディスクデバイスを直接指定する場合は必要ありません。
mkdir -p /dev/oracle/db/db01 ln -s /dev/rhdisk1 /dev/oracle/db/db01/data ln -s /dev/rhdisk3 /dev/oracle/db/db01/test_dg3 chown -h grid.asmadmin /dev/oracle/db/db01/data chown -h grid.asmadmin /dev/oracle/db/db01/test_dg3
16 oracle用ファイルシステム作成
ORACLEモジュールを配置するファイルシステムを作成します。ここではサイズを50GBとしてますが、小さすぎるとインストールチェックやPSU適用の際にエラーとなりますので注意して下さい。
mklv -y hdora1 -t jfs2 -x 2048 rootvg 1 crfs -v jfs2 -d hdora1 -m /u01/app -A yes mount /u01/app chfs -a size=50G /u01/app
17 ulimit設定
ulimitは制限なしにしておきます。必要に応じて設定して下さい。
vi /etc/security/limits default: fsize = -1 core = -1 cpu = -1 data = -1 rss = -1 stack = -1 nofiles = -1
18 oracleインストールディレクトリ準備
ORACLE用ファイルシステム配下に、インストールで必要なディレクトリを作成しておきます。
mkdir -p /u01/app/11.2.0.3/grid mkdir -p /u01/app/grid mkdir -p /u01/app/oracle/oraInventory chown -R grid.oinstall /u01 chown oracle.oinstall /u01/app/oracle [root@:/] find /u01 -ls 24760 1 drwxr-xr-x 3 grid oinstall 256 Oct 10 13:00 /u01 2 1 drwxr-xr-x 6 grid oinstall 256 Oct 10 13:31 /u01/app 32 1 drwxr-xr-x 3 grid oinstall 256 Oct 10 13:31 /u01/app/11.2.0.3 64 1 drwxr-xr-x 2 grid oinstall 256 Oct 10 13:31 /u01/app/11.2.0.3/grid 4 1 drwxr-xr-x 2 grid oinstall 256 Oct 10 13:31 /u01/app/grid 3 1 drwxr-xr-x 2 grid oinstall 256 Oct 10 13:00 /u01/app/lost+found 5 1 drwxr-xr-x 3 oracle oinstall 256 Oct 10 13:31 /u01/app/oracle 6 1 drwxr-xr-x 2 grid oinstall 256 Oct 10 13:31 /u01/app/oracle/oraInventory [root@:/]
19 パスワードなしでssh接続する設定
ORACLE-RACではgridユーザーとoracleユーザーがノード間通信をsshで行いますが、この時にパスワードなしで通信できるように設定しなければなりません。パスワードなしで接続する設定の流れを説明します。
- パスワードなしで通信するユーザーでログインします。
- dsaとrsaのキーを作成します。
- 作成されたdsaとrsaの公開キーの内容をファイル「authorized_keys」に書き出します。
- 作成した「authorized_keys」をリモートノードのユーザーディレクトリ以下「.ssh」に転送します。
- リモートノードでも手順2と手順3を実施します。「authorized_keys」には4つのキーが入っていることになります。
- 4つのキーが書かれている「authorized_keys」を両ノードの「.ssh」以下に配置します。
- 通信テストを行い、パスワードなしで実行できたら設定完了です!
それでは上記手順を実施していきます。
server01にgridユーザーでログインします。
[root@server01:/] su - grid
rsaキーを作成します。パスワードも求められますが、何も入力せずにEnterを押して下さい。
[grid@server01:/home/grid] ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/grid/.ssh/id_rsa): Created directory '/home/grid/.ssh'. Enter passphrase (empty for no passphrase): "何も入力せずにEnterキー" Enter same passphrase again: "何も入力せずにEnterキー" Your identification has been saved in /home/grid/.ssh/id_rsa. Your public key has been saved in /home/grid/.ssh/id_rsa.pub. The key fingerprint is: c9:e4:34:2e:65:4a:2a:45:ce:0c:50:a3:f6:55:80:99 grid@server01 The key's randomart image is: +--[ RSA 2048]----+ |.o+ =... | | . E . | |.. =.. * | |. ...o X o | | ... o S | | . . | | | | | | | +-----------------+ [grid@server01:/home/grid]
rsaキーが作成されていることを確認します。「id_rsa」が秘密鍵で「id_rsa.pub」が公開キーです。
[grid@server01:/home/grid] ls -l ./.ssh 合計 16 -rw------- 1 grid oinstall 1766 Oct 10 13:44 id_rsa -rw-r--r-- 1 grid oinstall 395 Oct 10 13:44 id_rsa.pub [grid@server01:/home/grid]
次にdsaキーを作成します。パスワードは入力せずにEnterを押します。
[grid@server01:/home/grid] ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/home/grid/.ssh/id_dsa): Enter passphrase (empty for no passphrase): "何も入力せずにEnterキー" Enter same passphrase again: "何も入力せずにEnterキー" Your identification has been saved in /home/grid/.ssh/id_dsa. Your public key has been saved in /home/grid/.ssh/id_dsa.pub. The key fingerprint is: 4e:ba:8f:49:42:1a:22:f3:02:bb:a8:2b:6d:98:ad:1f grid@server01 The key's randomart image is: +--[ DSA 1024]----+ | | | | | | | | |= . . S | |o= + + | |o=E . o . | |=o+. o + | |O=. +.. | +-----------------+ [grid@server01:/home/grid]
rsaキーとdsaキーが作成されていることを確認します。
[grid@server02:/home/grid] ls -l ./.ssh 合計 32 -rw------- 1 grid oinstall 751 Oct 10 13:46 id_dsa -rw-r--r-- 1 grid oinstall 603 Oct 10 13:46 id_dsa.pub -rw------- 1 grid oinstall 1766 Oct 10 13:44 id_rsa -rw-r--r-- 1 grid oinstall 395 Oct 10 13:44 id_rsa.pub [grid@server02:/home/grid]
rsaとdsaの公開キーの内容をファイル「authorized_keys」にリダイレクトで書き出します。
cd .ssh cat id_dsa.pub >> authorized_keys cat id_rsa.pub >> authorized_keys
今度は、server02にgridユーザーでログインしrsaキーを作成します。
[root@server02:/] su - grid [grid@server02:/home/grid] ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/grid/.ssh/id_rsa): "何も入力せずにEnterキー" Created directory '/home/grid/.ssh'. Enter passphrase (empty for no passphrase): "何も入力せずにEnterキー" Enter same passphrase again: "何も入力せずにEnterキー" Your identification has been saved in /home/grid/.ssh/id_rsa. Your public key has been saved in /home/grid/.ssh/id_rsa.pub. The key fingerprint is: 1a:c6:9f:ab:40:02:d8:47:22:7f:fc:0e:50:94:6e:0f grid@server02 The key's randomart image is: +--[ RSA 2048]----+ |. ..+. | |.+ =. | |o +.+ | | . +Eo | | ..oo= S | | o +.+ . | | . o o | | . . | | ... | +-----------------+ [grid@server02:/home/grid]
dsaキーも作成します。
[grid@server02:/home/grid] ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/home/grid/.ssh/id_dsa): "何も入力せずにEnterキー" Enter passphrase (empty for no passphrase): "何も入力せずにEnterキー" Enter same passphrase again: "何も入力せずにEnterキー" Your identification has been saved in /home/grid/.ssh/id_dsa. Your public key has been saved in /home/grid/.ssh/id_dsa.pub. The key fingerprint is: f8:d8:b7:06:98:eb:f7:44:49:cd:1f:fa:aa:81:1c:4b grid@server02 The key's randomart image is: +--[ DSA 1024]----+ | | | o | | . o . | | . . . o . | | .oE o . . | | o*.= . | | ..*.+ . | | . .o.o . | | ... o+.. | +-----------------+ [grid@server02:/home/grid]
server01で作成した「authorized_keys」を、server02のgridユーザーフォームディレクトリ以下の「.ssh」にFTP転送します。
[grid@server01:/home/grid/.ssh] ftp server02 'server02' へ接続。 220 server02 FTP server (Version 4.2 Mon Dec 3 12:04:40 CST 2012) ready. 名前 (server02:root): grid 331 Password required for grid. パスワード: 230 User grid logged in. ftp> cd .ssh 250 CWD command successful. ftp> put authorized_keys 200 PORT command successful. 150 Opening data connection for authorized_keys. 226 Transfer complete. 1000 バイトを 0.002807 秒で送信しました (347.9 キロバイト/秒) ローカル: authorized_keys リモート: authorized_keys ftp> bye 221 Goodbye. [grid@server01:/home/grid/.ssh]
server02で、rsa公開キーとdsa公開キーの内容をserver01から転送されてきた「authorized_keys」に追記します。
[grid@server02:/home/grid] cd .ssh [grid@server02:/home/grid/.ssh] cat id_dsa.pub >> authorized_keys [grid@server02:/home/grid/.ssh] cat id_rsa.pub >> authorized_keys
この時点で、server02の「authorized_keys」にはserver01とserver02のgridユーザーのrsaキーとdsaキーが入ったことになり、合計4つのキーが入っていることになります。そのファイルをserver01へFTP転送します。
[grid@server02:/home/grid/.ssh] ftp server01 'server01' へ接続。 220 server01 FTP server (Version 4.2 Mon Dec 3 12:04:40 CST 2012) ready. 名前 (server01:root): grid 331 Password required for grid. パスワード: 230 User grid logged in. ftp> cd .ssh 250 CWD command successful. ftp> put authorized_keys 200 PORT command successful. 150 Opening data connection for authorized_keys. 226 Transfer complete. 2000 バイトを 0.003267 秒で送信しました (597.8 キロバイト/秒) ローカル: authorized_keys リモート: authorized_keys ftp> bye 221 Goodbye. [grid@server02:/home/grid/.ssh]
ssh用のキー作成はこれで完了です。次に通信テストを行います。1回目の初めての通信では「yes/no」の入力を求められますが、2回目以降からは何も入力することなく通信できることを確認します。ではまず1回目。
[grid@server01:/home/grid/.ssh] ssh server02 hostname The authenticity of host 'server02 (10.10.9.12)' can't be established. RSA key fingerprint is 47:d0:2e:a1:67:e6:e4:22:c2:36:16:b3:80:d6:46:64. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'server02,10.10.9.12' (RSA) to the list of known hosts. server02 [grid@server01:/home/grid/.ssh]
hostnameコマンドを実行した結果が返ってきました。1回目の通信は成功です。では2回目いきます。
[grid@server01:/home/grid] ssh server02 hostname server02 [grid@server01:/home/grid]
何も問われることなくhostnameコマンドの結果が返ってきました。2回目のテストも成功しました。これでパスワードなしssh通信の設定は完了です。
この設定をoracleユーザーでも行って下さい。
END