Oracle11gR2をインストールする前のAIX7.1チューニング

AIX7 (1)_R    oracle11g-flash-100

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で行いますが、この時にパスワードなしで通信できるように設定しなければなりません。パスワードなしで接続する設定の流れを説明します。

  1. パスワードなしで通信するユーザーでログインします。
  2. dsaとrsaのキーを作成します。
  3. 作成されたdsaとrsaの公開キーの内容をファイル「authorized_keys」に書き出します。
  4. 作成した「authorized_keys」をリモートノードのユーザーディレクトリ以下「.ssh」に転送します。
  5. リモートノードでも手順2と手順3を実施します。「authorized_keys」には4つのキーが入っていることになります。
  6. 4つのキーが書かれている「authorized_keys」を両ノードの「.ssh」以下に配置します。
  7. 通信テストを行い、パスワードなしで実行できたら設定完了です!

それでは上記手順を実施していきます。

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


サブコンテンツ

このページの先頭へ