データベースクライアント障害検証機能は、以下の処理を行います。
アーカイブされた redo ログのパーティションの監視
パーティションに問題がない場合は、データベースが稼働しているかを確認
検証機能は、Probe_timeout リソースプロパティーに設定されたタイムアウト値を使用して、Oracle を正常に検証するための割り当て時間を判断します。
データベースクライアント障害機能は、動的パフォーマンスビュー v$archive_dest に問い合わせ、アーカイブされた redo ログを格納できる場所をすべて割り出します。検証機能はアーカイブ先ごとにその健全性を確認するとともに、アーカイブされた redo ログを格納するだけの十分な空き領域があるかを確認します。
宛先が健全な状態であれば、検証機能は宛先ファイルシステム内の空き領域サイズを確認します。空き領域サイズがファイルシステムの容量の 10% 未満かつ 20M バイト未満の場合、検証機能はメッセージを syslog に出力します。
宛先が ERROR 状態にある場合、検証機能はメッセージを syslog に出力するとともに、動作可能かどうかを確認する処理を無効にします。この処理は、エラー状況が修復されるまで無効のままとなります。
アーカイブされた redo ログのパーティションが健全な状態であれば、データベースクライアント障害検証機能は動的パフォーマンスビュー v$sysstat に問い合わせて、データベースパフォーマンスの統計情報を取得します。統計の変化は、データベースが稼働していることを意味します。続けて問い合わせても、統計情報に変化がない場合、障害検証機能がデータベーストランザクションを実行し、データベースが稼働しているかどうかを判断します。このトランザクションにはユーザーテーブル空間におけるテーブルの作成、更新、および削除が伴います。
データベースクライアント障害検証機能は、すべてのトランザクションを Oracle ユーザーとして実行します。このユーザーの ID は、「ノードを準備する」で説明したとおり、ノードを準備するときに指定します。