Sun Cluster の Oracle 用データサービス (Solaris OS 版)

Sun Cluster HA for Oracle 障害モニターのチューニング

Sun Cluster HA for Oracle データサービスの障害モニタリングは、次の障害モニターが行います。

各障害モニターには、次の表に示すリソースタイプを持つリソースがあります。

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

障害モニター 

リソース型 

Oracle サーバー 

SUNW.oracle_server

Oracle リスナー 

SUNW.oracle_listener

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

Sun Cluster HA for Oracle 障害モニターの調整には、次のような作業があります。

詳細については、『Sun Cluster Data Services Planning and Administration Guide for Solaris OS』「Tuning Fault Monitors for Sun Cluster Data Services」を参照してください。これらの作業を行うのに必要な Sun Cluster HA for Oracle 障害モニターについては、次の副節を参照してください。

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

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

Oracle サーバーの障害モニターは、サーバーへのリクエストを使用して、サーバーの状態をクエリします。

サーバー障害モニターは、pmfadm を介して起動され、モニターの可用性を高めます。何らかの理由でモニターが終了すると、手順モニター機能 (PMF) がモニターを自動的に再起動します。

サーバー障害モニターは、次の要素から構成されます。

このセクションには、サーバー障害モニターに関する次の情報が含まれています。

主要障害モニターの操作

主要障害モニターは、データベースがオンラインで、トランザクション中にエラーが返されない場合、操作が成功したと見なします。

データベースクライアント障害プローブの操作

データベースクライアント障害プローブは、次の操作を実行します。

  1. アーカイブされた再実行ログの区分のモニター「アーカイブされた再実行ログの区分をモニターする操作」を参照してください。

  2. 区分が健全である場合、データベースが操作可能かどうかを決定します。「データベースが操作可能かどうかを決定する操作」を参照してください。

プローブは、リソースプロパティ Probe_timeout で設定されているタイムアウト値を使用して、Oracle のプローブを成功させるために割り当てる時間を決定します。

アーカイブされた再実行ログの区分をモニターする操作

データベースクライアント障害プローブは、動的パフォーマンス表示 v$archive_dest をクエリーし、アーカイブされた再実行ログのすべての可能な送信先を決定します。すべてのアクティブな送信先に対して、プローブは送信先が健全で、アーカイブされた再実行ログを保存するための十分な空き容量があるかどうかを決定します。

データベースが操作可能かどうかを決定する操作

アーカイブされた再実行ログ用の区分が健全な場合、データベースクライアント障害プローブは動的パフォーマンス表示 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 に設定されている値は、プローブが再起動を試みる最大回数を決定します。最大回数まで起動を試みても、まだプローブが成功しない場合は、プローブは障害モニターを停止し、リソースグループの切り換えを行いません。

DBMS タイムアウトのトラブルシューティング用にコアファイルを取得

不明な DBMS タイムアウトのトラブルシューティングを容易にするために、障害モニターを有効にして、プローブタイムアウトが生じたときにコアファイルを作成することができます。コアファイルの内容は、障害モニター手順に関連します。障害モニターは、/ ディレクトリにコアファイルを作成します。障害モニターがコアファイルを作成できるためには、coreadm コマンドを使用して set-id コアダンプを有効にします。詳細は、coreadm(1M) のマニュアルページを参照してください。