前回の続きになります。
PowerHAの再インストール及び起動が完了したので、DBインストールを再開し、無事終了したのですが色々と問題が起きたので、何が起きてどう対処したか記載しておきます。
環境は以下の通りです。
稼働系への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再起動が必要になります)
上記ドキュメントではrelinkが必要と書いてあったのですが、OS再起動後に試したところ、無事クライアントも使えるようになりました。
つくづくAIXって面倒です・・・