PSUを適用すると常に同じエラーが発生するシステムが1つあります。 PSUが適用されている場合、データパッチの実行は失敗します。画面に次のように表示されます:
Queryable inventory could not determine the current opatch status. Execute 'select dbms_sqlpatch.verify_queryable_inventory from dual' and/or check the invocation log /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_25889_2016_11_09_22_26_12/ sqlpatch_invocation.log for the complete error.
sqlpatch_invocationログファイルには、次のように表示されます。
verify_queryable_inventory returned ORA-20008: Timed out, Job Load_opatch_inventory_1execution time is more than 120Secs Queryable inventory could not determine the current opatch status.
Datapatchは、DBMS_QOPATCHが正しくインストールされていることを確認しようとしています。しかし、チェックはタイムアウトになります。これにはいくつかの理由があります。システムリソースの使用率をチェックしてボトルネックがないかどうかを確認するには、調査が必要です。これが実行されている間、データベースのパフォーマンスをチェックする必要があるかもしれません。
私の場合、VMが非常に遅いことはわかっています。サーバーチームと協力して、VMが正しく構成されていることを確認しています。それまでの間、次の手順を実行することでタイムアウトを回避できます。
alter system set events '18219841 trace name context forever'; $ORACLE_HOME/OPatch/datapatch -verbose alter system set events '18219841 trace name context off';
イベントを設定すると、データパッチが正常に完了します。