- ベストアンサー
マテリアライズドビューの更新時エラーについて
マテリアライズドビューの更新時エラーを検知する方法を教えて下さい。 できればマスターサイトで検知したいのですが・・・。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
1.高速リフレッシュしているなら、マスターサイトにマテリアライズド・ビュー・ログが いるはずなので ALL_MVIEW_LOGSか、DBA_MVIEW_LOGSから、 LAST_PURGE_DATE DATE 前回の消去が実行された日付 LAST_PURGE_STATUS NUMBER 前回の消去の状態(エラー・コード、または正常終了を示す0) あたりをSelectでみてみたらいいのでは? (ただし、遅延消去している場合なら検知までにタイムラグがでると思いますが。) 2.上記で無理があるなら、DBLINKを利用して、相手側の ALL_MVIEWSか、DBA_MVIEWSを参照して、 LAST_REFRESH_DATE DATE マテリアライズド・ビューがリフレッシュされた最新の日付 (まだ移入されていない場合は空白) STALE_SINCE DATE マテリアライズド・ビューが失効した時刻 他をSelectでみてみるとか。 3.DBLINKを利用して、相手側のDBA_JOBSやDBA_JOBS_RUNNINGを見てもいいかも。 いずれも、selectする項目の詳細はマニュアル見てみて。 http://docs.oracle.com/cd/E16338_01/server.112/b56311/toc.htm 第II部 静的データ・ディクショナリ・ビュー に全部ありますから。
その他の回答 (1)
- nora1962
- ベストアンサー率60% (431/717)
http://docs.oracle.com/cd/E16338_01/server.112/b56301/scheduse008.htm でスケジュール化されたJOBが失敗した場合にSMTPメールを送り、マスターサイトで定期的にPOPで受信する仕組みをつくるとか。 マテリアライズドビュー側のサーバーとOracleインスタンスの死活監視も必要ですが。