一部の開発データベースを本番環境から更新した後、新しく更新されたデータベースに対して「チェッカー実行」アラートが表示されることに気付きました。そこにはあまり情報がないので、原因を正確に特定する方法を書き留めると思いました。
グリッドコントロールで、次のようなアラートが表示されます:
では、これらの「永続的なデータ障害」とは何でしょうか。残念ながら、アラートはそれ以上の詳細を提供しません。それを理解するのはあなた次第です。
Oracleの新しいHealthMonitorはデータベースチェックを実行し、障害があると判断しました。これらの障害を見つけてグリッドコントロールに報告しているのはHMです。 V $ HM_RUNを照会すると、HMの実行を確認できます。私の場合、このエラーが発生した実行のIDを知る必要があります。
実行IDが45881であることを知っています。これで、提供されたDBMS_HMパッケージを使用して、この実行に関するレポートを取得し、詳細を確認できます。 「実行名」の形式は「HM_RUN_xxxxx」です。「xxxxx」は上記で決定した実行IDです。
SQL> SET LONG 999999999
SQL> SELECT dbms_hm.get_run_report ('HM_RUN_45881')FROM dual;
DBMS_HM.GET_RUN_REPORT('HM_RUN_45881')
----------------------------------- ---------------------------------------------
基本Run Information
Run Name :HM_RUN_45881
Run Id :45881
Check Name :DB Structure Integrity Check
Mode :REACTIVE
Status :COMPLETED
Start Time :2011-08-08 12:51:42.822626 -05:00
終了時間:2011-08-08 12:52:25.169770 -05:00
エラーが発生しました:0
ソースインシデントID :0
作成されたインシデントの数:0
DBMS_HM.GET_RUN_REPORT('HM_RUN_45881')
----------------------------------- ---------------------------------------------
実行の入力パラメータ
実行の結果と推奨事項
検索
検索名:制御ファイルの回復が必要
検索ID:45882
タイプ:失敗
ステータス:クローズ
優先度:重要
メッセージ:制御ファイルにはメディアリカバリが必要です
メッセージ:データベースを開くことができません
DBMS_HM.GET_RUN_REPORT('HM_RUN_45881')
----------------------------------- ---------------------------------------------
検索
検索名:システムデータファイルが古い
検索ID:45885
タイプ:失敗
ステータス:クローズ
優先度:クリティカル
メッセージ:システムデータファイル1:
'/u01/app/oracle/oradata/fgodba/data02/system01.dbf'のニーズ
メディアリカバリ
メッセージ:データベースを開くことができません
検索中
コード>
データベース内のデータファイルごとに1つのメッセージで、ファイルにメディアリカバリが必要であることを示す行がさらに多くありました。
答えは明確になりました。本番データベースのホットバックアップからこのデータベースを更新しました。リカバリが完了してデータベースを開く前に、チェッカーが実行されました。これで、チェッカーがどのような問題を見つけたかについての決定的なアイデアが得られました。
アラートは自動的にクリアされないため、グリッドコントロールに戻って手動でアラートをクリアする必要があります。