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

Sun Cluster HA for Oracle 障害モニターの調整

Sun Cluster HA for Oracle データサービスの障害監視は、以下の障害モニターによって提供されます。

各障害モニターは、次の表に示すリソースタイプを持つリソースに含まれています。

表 2 Sun Cluster HA for Oracle 障害モニターのリソースタイプ

障害モニター 

リソースタイプ 

Oracle サーバー 

SUNW.oracle_server

Oracle リスナー 

SUNW.oracle_listener

障害モニターの動作は、これらのリソースのシステムプロパティーと拡張プロパティーによって制御されます。事前に設定された障害モニターの動作は、これらのプロパティーのデフォルト値に基づいています。現在の動作は、ほとんどの Sun Cluster システムに適しているはずです。したがって、Sun Cluster HA for Oracle 障害モニターを調整するのは、事前に設定されたこの動作を変更したい場合「だけに」留めるべきです。

Sun Cluster HA for Oracle 障害モニターの調整では次のことを行います。

詳細は、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』「Sun Cluster データサービス用に障害モニターを調整する」を参照してください。これらのことを行う際に必要になる Sun Cluster HA for Oracle 障害モニターの情報については、以下の各項で説明します。

Sun Cluster HA for Oracle 障害モニターの調整は、Sun Cluster HA for Oracle の登録と構成を行うときに実施します。詳細は、「Sun Cluster HA for Oracle の登録と構成」を参照してください。

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

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

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

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

主障害モニターの動作

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

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

データベースクライアント障害検証機能は、以下の処理を行います。

  1. アーカイブされた redo ログのパーティションの監視

  2. パーティションに問題がない場合は、データベースが稼働しているかを確認

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

アーカイブされた redo ログのパーティションを監視する処理

データベースクライアント障害機能は、動的パフォーマンスビュー v$archive_dest に問い合わせ、アーカイブされた redo ログを格納できる場所をすべて割り出します。検証機能はアーカイブ先ごとにその健全性を確認するとともに、アーカイブされた redo ログを格納するだけの十分な空き領域があるかを確認します。

データベースが動作可能かどうかを確認する処理

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

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

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

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

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

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

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

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

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

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

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

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

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


注 –

リスナーリソースにリスナーパスワードを設定するメカニズムはありません。Oracle リスナーセキュリティーを有効にすると、リスナー障害モニターの検証機能は Oracle エラー TNS-01169 を返す可能性があります。リスナーは応答が可能なため、リスナー障害モニターは検証が成功したと見なします。このアクションによってリスナー障害が検出されない状態に留まることはありません。リスナーの障害は異なるエラーを返すか、あるいは検証のタイムアウトを引き起こします。


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

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