Oracle サーバーの障害モニターは、サーバーへのリクエストを使用して、サーバーの状態をクエリします。
サーバー障害モニターは、pmfadm を介して起動され、モニターの可用性を高めます。何らかの理由でモニターが終了すると、手順モニター機能 (PMF) がモニターを自動的に再起動します。
サーバー障害モニターは、次の要素から構成されます。
主要障害モニター手順
データベースクライアント障害プローブ
このセクションには、サーバー障害モニターに関する次の情報が含まれています。
主要障害モニターは、データベースがオンラインで、トランザクション中にエラーが返されない場合、操作が成功したと見なします。
データベースクライアント障害プローブは、次の操作を実行します。
アーカイブされた再実行ログの区分のモニター「アーカイブされた再実行ログの区分をモニターする操作」を参照してください。
区分が健全である場合、データベースが操作可能かどうかを決定します。「データベースが操作可能かどうかを決定する操作」を参照してください。
プローブは、リソースプロパティ Probe_timeout で設定されているタイムアウト値を使用して、Oracle のプローブを成功させるために割り当てる時間を決定します。
データベースクライアント障害プローブは、動的パフォーマンス表示 v$archive_dest をクエリーし、アーカイブされた再実行ログのすべての可能な送信先を決定します。すべてのアクティブな送信先に対して、プローブは送信先が健全で、アーカイブされた再実行ログを保存するための十分な空き容量があるかどうかを決定します。
送信先が健全である場合、プローブは送信先のファイルシステムの空き容量を決定します。空き容量がファイルシステム容量の 10% 未満で、20 M バイト未満の場合、プローブは syslog にメッセージを出力します。
送信先が ERROR 状態の場合、プローブは syslog にメッセージを出力し、データベースが操作可能かどうかを判定するために操作を無効にします。操作は、エラー状態がクリアされるまで無効のままです。
アーカイブされた再実行ログ用の区分が健全な場合、データベースクライアント障害プローブは動的パフォーマンス表示 v$sysstat をクエリーし、データベースパフォーマンス統計を取得します。これらの統計が変更されている場合、データベースが操作されていることを示します。連続したクエリー間で統計が変化しなかった場合、障害プローブはデータベーストランザクションを実行し、データベースが運用されているかを判定します。これらのトランザクションには、ユーザー表スペースでの、表の作成、更新およびドロップが関係しています。
データベースクライアント障害プローブは、Oracle ユーザーとしてすべてのトランザクションを実行します。このユーザーの ID は、「ノードの準備方法」に説明されているように、ノードまたはゾーンの準備中に指定されます。
データベーストランザクションに失敗した場合、サーバー障害モニターは障害の原因になったエラーによって決定されるアクションを実行します。サーバー障害モニターが実行するアクションを変更するには、「Sun Cluster HA for Oracle サーバー 障害モニターのカスタマイズ」に説明されているように、サーバー障害モニターをカスタマイズします。
アクションで外部プログラムの実行が必要な場合、そのプログラムはバックグラウンドで別のプロセスとして実行されます。
可能なアクションは、次のとおりです。
無視。サーバー障害モニターはエラーを無視します。
モニター停止。データベースをシャッドダウンせずに、サーバー障害モニターが停止されます。
再起動。サーバー障害モニターは、Restart_type 拡張プロパティーの値によって指定されたエンティティーを停止および再起動します。
Restart_type 拡張プロパティーが RESOURCE_RESTART に設定されている場合、サーバー障害モニターはデータベースサーバーリソースを再起動します。デフォルトでは、サーバー障害モニターはデータベースサーバーリソースを再起動します。
Restart_type 拡張プロパティーが RESOURCE_GROUP_RESTART に設定されている場合、サーバー障害モニターはデータベースサーバーリソースグループを再起動します。
再起動を試みる回数は、Retry_interval リソースプロパティが指定する時間内に、Retry_count リソースプロパティが指定した値を超えることがあります。この状況が生じた場合、サーバー障害モニターは、別のノードやゾーンへのリソースグループの切り換えを試みます。
切り換え。サーバー障害モニターは、データベースサーバーリソースグループを別のノードまたはゾーンに切り換えます。使用可能なノードまたはゾーンがない場合、リソースグループを切り換える試みは失敗します。リソースグループを切り換える試みが失敗すると、データベースサーバーは再起動されます。
Oracle ソフトウェアは、警告を警告ログファイルに記録します。このファイルの絶対パスは、SUNW.oracle_server リソースの alert_log_file 拡張プロパティーにより指定されます。サーバー障害モニターは、次のタイミングで新しい警告があるかどうか、警告ログファイルをスキャンします。
サーバー障害モニターが起動されたとき
サーバー障害モニターがサーバーの健全性をクエリーするたび
サーバー障害モニターが検出する警告ログに対するアクションが定義されている場合、サーバー障害モニターは警告に対してアクションを実行します。
記録された警告用の事前設定アクションは、表 2 に一覧表示されています。サーバー障害モニターが実行するアクションを変更するには、「Sun Cluster HA for Oracle サーバー 障害モニターのカスタマイズ」に説明されているように、サーバー障害モニターをカスタマイズします。