Sun Cluster Data Service for Oracle ガイド (Solaris OS 版)

Sun Cluster HA for Oracle 障害モニターの概要

Sun Cluster HA for Oracle には、サーバーモニターとリスナーモニターという 2 つの障害モニターがあります。

Oracle サーバーの障害モニター

Oracle サーバーの障害モニターは、サーバーの状態を照会する要求をサーバーに送信します。

サーバーの障害モニターは、モニターを高可用性にするために pmfadm によって開始されます。モニターが、何らかの理由により強制終了されても、Process Monitor Facility(PMF) によって自動的に再開します。

サーバー障害モニターのプロセス

サーバーの障害モニターは、次のプロセスで構成されます。

主障害モニターの動作

主障害モニターは、データベースがオンラインであり、トランザクション中にエラーが返されていない場合に、操作が正常に終了したと判断します。

データベースクライアント障害検証の動作

データベースクライアント障害検証機能は、動的パフォーマンスビュー v$sysstat に問い合わせて、データベースパフォーマンスの統計情報を取得します。統計の変化は、データベースが稼働していることを意味します。続けて問い合わせても、統計情報に変化がない場合、障害検証機能がデータベーストランザクションを実行し、データベースが稼働しているかどうかを判断します。このトランザクションにはユーザーテーブル空間におけるテーブルの作成、更新、および削除が伴います。

データベースクライアント障害検証機能は、すべてのトランザクションを Oracle ユーザーとして実行します。このユーザーの ID は、 「ノードを準備する」 で説明したとおり、ノードを準備するときに指定します。

検証機能は、Probe_timeout リソースプロパティに設定されたタイムアウト値を使用して、Oracle を正常に検証するための割り当て時間を判断します。

データベーストランザクションが失敗した場合のサーバー障害モニターのアクション

データベーストランザクションが失敗すると、サーバー障害モニターは、失敗の原因であるエラーによって決定されたアクションを実行します。サーバー障害モニターが実行するアクションを変更する場合は、「Sun Cluster HA for Oracle サーバー障害モニターのカスタマイズ」 の説明に従って、サーバー障害モニターをカスタマイズしてください。

外部プログラムを実行する必要があるアクションの場合、外部プログラムは別個のプロセスとしてバックグラウンドで実行されます。

実行できるアクションは、次のとおりです。

サーバー障害モニターが記録した警告の走査

Oracle ソフトウェアは、警告を警告ログファイルに記録します。このファイルの絶対パスは、 SUNW.oracle_server リソースの alert_log_file 拡張プロパティによって指定されます。サーバー障害モニターは、次の場合に警告ログファイルを走査して、新しい警告があるかどうかを確認します。

サーバー障害モニターが検出した記録済みの警告に対してアクションが定義されている場合は、警告への対応としてそのアクションが実行されます。

記録対象警告に対してどのようなアクションが前もって設定されているかについては、付録 A の表 B–2 を参照してください。サーバー障害モニターが実行するアクションを変更する場合は、「Sun Cluster HA for Oracle サーバー障害モニターのカスタマイズ」 の説明に従って、サーバー障害モニターをカスタマイズしてください。

Oracle リスナーの障害モニター

Oracle リスナーの障害モニターは、Oracle リスナーの状態を調べます。

リスナーが実行されている場合、Oracle リスナーの障害モニターは検証に成功したと判断します。障害モニターがエラーを検知すると、リスナーが再起動されます。

リスナー検証は、可用性を高めるために pmfadm によって開始されます。リスナー検証が強制終了された場合、PMF によって自動的に再開されます。

検証中にリスナーで問題が発生した場合、検証機能によってリスナーの再起動が試行されます。再起動の試行最大回数は、Retry_count リソースプロパティに設定した値によって決定されます。最大回数まで再起動を試行しても検証が成功しない場合、障害モニターは停止され、リソースグループのスイッチオーバーは行われません。