Oracle Database サーバーの障害モニターは、サーバーへのリクエストを使用して、サーバーの状態をクエリーします。
サーバー障害モニターは、pmfadm を介して起動され、モニターの可用性を高めます。何らかの理由でモニターが強制終了すると、プロセスモニター機能 (PMF) が自動的にモニターを再起動します。
サーバー障害モニターは、次のプロセスで構成されます。
主要な障害モニタープロセス
データベースクライアント障害検証
このセクションでは、サーバー障害モニターに関する次の情報について説明します。
主要障害モニターは、データベースがオンラインで、トランザクション中にエラーは返されない場合、操作が正常に行われたと見なします。
データベースクライアント障害検証は、次の操作を行います。
アーカイブされた再実行ログ用のパーティションのモニタリング。アーカイブされた再実行ログ用のパーティションをモニターする操作を参照してください。
パーティションに問題がない場合は、データベースが稼働しているかの確認。データベースが操作可能かどうかを判定する操作を参照してください。
検証機能は、リソースプロパティー Probe_timeout に設定されているタイムアウト値を使用して、Oracle Database を正常に検証するために割り当てる時間を決定します。
データベースクライアント障害検証機能は、動的パフォーマンス表示 V$archive_dest をクエリーして、アーカイブされた再実行ログのすべての可能な送信先を確認します。すべてのアクティブな送信先に対して、検証機能は、送信先が健全で、アーカイブされた再実行ログを保存するための十分な空き領域があるかどうかを確認します。
送信先が健全である場合、検証は送信先のファイルシステムの空き容量を決定します。空き容量がファイルシステムの容量の 10% 未満で、20MB 未満の場合、検証機能は syslog にメッセージを出力します。
送信先が ERROR ステータスの場合、検証機能は syslog にメッセージを出力し、データベースが操作可能かどうかを判定するために操作を無効にします。この操作は、エラー状態がクリアされるまで無効のままです。
アーカイブされた再実行ログのパーティションが健全な場合、データベースクライアント障害検証は動的パフォーマンスビュー V$sysstat をクエリーして、データベースパフォーマンス統計情報を取得します。これらの統計の変化は、データベースが稼働していることを意味します。連続したクエリー間でこれらの統計が変化していない場合、障害検証機能はデータベーストランザクションを実行して、データベースが操作可能かどうかを判定します。これらのトランザクションには、ユーザー表スペースの表の作成、更新、および削除を伴います。
データベースクライアント障害検証機能は、Oracle Database ユーザーとしてすべてのトランザクションを実行します。このユーザーの ID は、Oracle Solaris Cluster ノードの準備方法で説明しているように、Oracle Solaris Cluster ノードの準備中に指定されます。
データベーストランザクションが失敗した場合、サーバー障害モニターは障害の原因になったエラーによって決定されるアクションを実行します。サーバー障害モニターが実行するアクションを変更するには、HA for Oracle Database サーバー 障害モニターのカスタマイズの説明に従って、サーバー障害モニターをカスタマイズしてください。
アクションが外部プログラムの実行を必要とする場合、プログラムはバックグラウンドで別のプロセスとして実行されます。
可能なアクションは、次のとおりです。
無視。サーバー障害モニターはエラーを無視します。
モニター停止。データベースを停止せずに、サーバー障害モニターが停止されます。
再起動。サーバー障害モニターは、Restart_type 拡張プロパティーの値によって指定されたエンティティーを停止および再起動します。
Restart_type 拡張プロパティーが RESOURCE_RESTART に設定されている場合、サーバー障害モニターはデータベースサーバーリソースを再起動します。デフォルトでは、サーバー障害モニターはデータベースサーバーリソースを再起動します。
Restart_type 拡張プロパティーが RESOURCE_GROUP_RESTART に設定されている場合、サーバー障害モニターはデータベースサーバーリソースグループを再起動します。
切り換え。サーバー障害モニターは、データベースサーバーリソースグループを別のクラスタノードに切り換えます。使用可能なノードがない場合、リソースグループを切り換える試みは失敗します。リソースグループを切り換える試みが失敗すると、データベースサーバーは再起動されます。
Oracle Database は、警告を警告ログファイルに記録します。このファイルの絶対パスは、SUNW.oracle_server リソースの alert_log_file 拡張プロパティーによって指定されます。サーバー障害モニターは、次のタイミングで新しい警告があるかどうか、警告ログファイルをスキャンします。
サーバー障害モニターが起動されたとき
サーバー障害モニターがサーバーの健全性をクエリーするとき
サーバー障害モニターが記録された警告を検出し、その警告に対処方法が定義されている場合、サーバー障害モニターは警告に対応する対処方法を実行します。
記録された警告用の事前設定アクションは、Table B–2 に一覧表示されています。サーバー障害モニターが実行するアクションを変更するには、HA for Oracle Database サーバー 障害モニターのカスタマイズの説明に従って、サーバー障害モニターをカスタマイズしてください。