hadr_timeout および hadr_peer_window データベース構成パラメーターの設定
hadr_timeout および hadr_peer_window データベース構成パラメーターを構成して、 接続障害に対する応答を最適化できます。
- hadr_timeout データベース構成パラメーター
- hadr_timeout データベース構成パラメーターで指定したよりも長い時間、HADR データベースがパートナー・データベースからの通信を受け取らなかった場合、データベースは、パートナー・データベースとの接続が失われたと判断します。 データベースがピア状態であるときに接続が消失した場合、hadr_peer_window データベース構成パラメーターが 0 より大きければ、切断済みピア状態に移り、hadr_peer_window データベース構成パラメーターが 0 以下であれば、リモート・キャッチアップ・ペンディング状態に移ります。 状態変更は 1 次データベースおよびスタンバイ・データベースの両方に 適用されます。
- hadr_peer_window データベース構成パラメーター
- hadr_peer_window 構成パラメーターは、hadr_timeout 構成パラメーターに取って代わるものではありません。 hadr_timeout 構成パラメーターは、パートナー・データベースとの接続に障害が発生したと見なすまでに HADR データベースがどの程度の長さ待機するかを決定します。 hadr_peer_window 構成パラメーターは、接続が失われた後にデータベースを切断済みピア状態にするかどうか、およびデータベースがその状態を維持する時間を決定します。 HADR は、TCP ソケットでの送信、受信、またはポーリング中にネットワーク・エラーが検出されるとすぐに、
接続を切断します。 HADR は 100 ミリ秒間隔でソケットをポーリングします。 この頻度を指定することによって、OS によって検出されるネットワーク・エラーに対して即座に応答できます。 最悪のケースの場合にのみ、HADR は
タイムアウトになるまで待機し、不良な接続を切断します。 この場合、失敗した時点で実行中のデータベース・アプリケーションを、hadr_timeout と hadr_peer_window のデータベース構成パラメーターを合計した時間ブロックできます。注: HADR ピア・ウィンドウは、 Db2® pureScale® 環境ではサポートされていません。 ゼロ以外の値に更新しようとすると失敗し、警告が出されます。 hadr_peer_window が 0に設定されていない場合、 START HADR コマンドは失敗します。
- hadr_timeout および hadr_peer_window データベース構成パラメーターの設定
- データベース・アプリケーションの待機時間は最小に抑えることが
望まれます。 hadr_timeout および hadr_peer_window 構成パラメーターに小さい値を設定することによって、HADR スタンバイ・データベースが 1 次データベースとの接続を失った場合に、データベース・アプリケーションが待機する必要のある時間を削減できます。 ただし、hadr_timeout および hadr_peer_window 構成パラメーターに割り当てる値を選択する際に、
以下の詳細事項についても考慮する必要があります。
- 一時的な短いネットワーク中断によって HADR 接続に対する誤ったアラームが生成されないように、hadr_timeout データベース構成パラメーターに十分な長さの値を設定します。 例えば、hadr_timeout のデフォルト値は 120 秒ですが、これは多くのネットワークにおいて妥当な値です。
- 自動化された障害応答をシステムが実行できるように、hadr_peer_window データベース構成パラメーターに十分な長さの値を設定します。 例えばクラスター・マネージャーのような HA システムによって、切断済みピア状態が終わる前に
1 次データベースの障害が検出された場合、スタンバイ・データベースへのフェイルオーバーが発生します。 すべてのデータは、古い 1 次データベースから新しい 1 次データベースに複製されるため、
フェイルオーバー中にデータが失われることはありません。 ピア・ウィンドウが短すぎると、HA システムが障害を検出して対応する時間が十分にない可能性があります。注: プリンシパル・スタンバイは、 hadr_peer_window の 1 次の設定 ( 有効なピア・ウィンドウ) を使用します。 補助スタンバイ上の hadr_peer_window の設定は無意味です。このタイプのスタンバイは常に SUPERASYNC モードで実行されるためです。