おらくるのいる生活

OracleのDBAとしての、障害対応やらパフォーマンス・チューニングやらの日々を綴っています

AIXにインストールする際の注意点(2)

前回の続きになります。 

bismarc256.hateblo.jp

 

PowerHAの再インストール及び起動が完了したので、DBインストールを再開し、無事終了したのですが色々と問題が起きたので、何が起きてどう対処したか記載しておきます。

環境は以下の通りです。

Oracle Restart(SIHA) EE 12.1.0.2
AIX Version 7.1

 

稼働系へのGIおよびDBのインストールとパッチ適用は問題なく出来たのですが、諸般の事情で待機系はCPUは稼働系の半分、メモリは1/6しか割り当てられていません。

インストールはできたものの、パッチ(PSR)を適用したらエラーになってしまいました。

OPATCHAUTO-68061: The orchestration engine failed.
OPATCHAUTO-68061: The orchestration engine failed with return code 1
OPATCHAUTO-68061: Check the log for more details.
OPatchAuto failed.

メモリの乏しい検証環境で同じようなエラーで失敗した事が何度かあるので、待機系へのメモリ割り当てを増やしてもらいました。

パッチ適用状態を確認したところ、DBホームにだけパッチが当たっていたのでロールバックします。

$ $DB_HOME/OPathch/opatch rollback -id 25437695

で、GIホーム、DBホーム共に何もパッチが当たっていない状態になったので、再実行の為にHASを起動しようとしたところ、エラーが発生してしまいました。

$ crsctl start has

Could not load program /u01/app/12.1.0/grid/bin/crsctl.bin:
Dependent module /opt/ORCLcluster/lib/libasmclntsh12.so could not be loaded.
Could not load module /opt/ORCLcluster/lib/libasmclntsh12.so.
System error: Permission denied

DBインストールユーザでは許可が無いと言われているので、rootユーザで確認したところ、権限の問題では無く、ファイルそのものがありません。

# ls -l /opt/ORCLcluster/lib/libasmclntsh12.so
ls: 0653-341 The file /opt/ORCLcluster/lib/libasmclntsh12.so does not exist.

/u01/app配下をfindで探すと、DB_HOME/libの下にはいるのですが、GI_HOME/libの下には存在しません。

稼働系で確認すると、ちゃんとGI_HOME/lib配下にも存在しています。

なぜ待機系にファイルが無いのか、パッチ適用のエラーが原因なのか、それは分かりませんが、稼働系からコピーしてオーナー・グループ権限を合わせ、再度、起動を試みます。

$ crsctl start has
CRS-6706: Oracle Clusterware Release patch level ('1061404831') does not match Software patch level ('0'). Oracle Clusterware cannot be started.
CRS-4000: Command Start failed, or completed with errors.

今度は別のエラーが発生してしまいました。パッチレベルの不一致が原因ですね。

対処法を探すと以下のドキュメントがありました。

CRS-6706: Oracle Clusterware Release patch level ('nnn') does not match Software patch level ('mmm') (ドキュメントID 1639285.1)

 

ドキュメントに記載されている通りに対処法を実施し、無事起動しました。

# /u01/app/12.1.0/grid/crs/install/roothas.sh -unlock
Using configuration parameter file: /u01/app/12.1.0/grid/crs/install/crsconfig_params
2020/03/17 12:35:28 CLSRSC-347: Successfully unlock /u01/app/12.1.0/grid_1

# /u01/app/12.1.0/grid/crs/install/roothas.sh -patch
Using configuration parameter file: /u01/app/12.1.0/grid/crs/install/crsconfig_params
CRS-4123: Oracle High Availability Services has been started.

 

この後は順調に進み(と言っても待機系はリソース不足のせいか、所要時間が稼働系の2倍以上かかりましたが)あとはAPサーバへのクライアントのインストールのみです。

インストール出来たのでtnsnames.oraを設定し、DBへの接続確認をしようとしたのですが・・・

$ sqlplus /nolog
Could not load program sqlplus:
rtld: 0712-001 Symbol CreateIoCompletionPort was referenced
 from module /u01/app/oracle/product/12.1.0/client_1/lib/libttsh12.so(), but a runtime definition
of the symbol was not found.

モジュールがロード出来ないとか言っています。

調べたところ、以下のドキュメントに該当しました。

AIX 12.1.0.2 Installation Fails with "rtld: 0712-001 Symbol CreateIoCompletionPort was referenced " (ドキュメントID 1949184.1)

IOCPモジュールがAvailableになっていないのが原因です(デフォルトはDefined)

これはインストール要件でもあるのでDBサーバはAvailableにしてもらっていたのですが、APサーバは設定が漏れていたようです。

早速、変更してもらいました(OS再起動が必要になります)

$ lsdev | grep iocp
iocp0 Available I/O Completion Ports

上記ドキュメントではrelinkが必要と書いてあったのですが、OS再起動後に試したところ、無事クライアントも使えるようになりました。

 

つくづくAIXって面倒です・・・