モニタデーモンは、データベースの状態を3秒間隔で調査し、タイムアウト時間内にデータベースからのレスポンスがなかった場合、無応答として検知します。無応答を検知すると、設定したタイムアウト時間内に正常なレスポンスを保証できなかったと判断し、メッセージを出力するか、またはノードの切替えを行います。
設計の方針
タイムアウトを検知した場合の振る舞いは、一時的な高負荷処理の誤検知を防ぐために、メッセージ出力で運用することを推奨します。(この場合、メッセージが出力された時点で調査を行い、異常と判断したらdxswitchコマンドで副系ノードに切替えて運用を継続します)
また、自動的なノード切替えを選択する場合は、DBミラーリング動作環境ファイルのDB_TIMEOUTパラメタの記載に従ってタイムアウト時間を正しく見積もってください。
ポイント
ノードの切替えを選択した場合に、タイムアウトが検知されdxswitchコマンドのforceオプションまたはdxswitchコマンドのnオプションで強制的に切替えると、正本のデータベースを停止しない状態で副系ノードに切替わる可能性があります。このため、両ノードのデータベースが正本と認識されてしまう現象(スプリットブレイン)が発生する可能性があります。
モニタデーモンによるデータベースの監視を正しく動作させるために、業務要件を考慮して、誤検知や検知の遅延がないよう各パラメタを設計するとともに、実機検証してください。
参照
DBミラーリング動作環境ファイルについては、“D.1 DBミラーリング動作環境ファイルの編集”を参照してください。