Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー データベース管理 » データベースのメンテナンス » SQL Anywhere の高可用性 » データベースミラーリングシステムの設定

 

データベースミラーリングの切断された接続のシナリオ

データベースミラーリングシステムでは、データベースサーバー間の接続が切断されると、次の注意事項が当てはまります。

  • 切断されたネットワーク接続を通知するためにサーバーに必要な時間は、次の状況によって異なります。

    1. 接続がどのように切断されるのか。ネットワークケーブルがコンピューターに差し込まれていない場合、オペレーティングシステムの中にはこの問題を即座に検出して、接続を切断させるものもあります。ネットワークスイッチの障害によって問題が引き起こされた場合は、問題がサーバーによって即座に検出される可能性はそれよりも少なくなります。

    2. ミラー接続文字列で指定された活性タイムアウト設定。LivenessTimeout 接続プロパティを参照してください。

  • プライマリサーバーがミラーリングされたデータベースの所有権を維持するには、少なくとも他のサーバー (ミラーまたは監視サーバー) の 1 つに接続される必要があります。他のサーバーのどちらに対する接続も失われた場合、データベースは再起動され、プライマリサーバーは、それらの接続の 1 つに少なくとも再確立できて、そのステータスを検証できるまで待ちます。

  • 接続の切断を引き起こした問題が修正されたときに、サーバー間の接続は自動的に再確立されます。

  • サーバーは、切断した接続を検出するまで、これまで割り当てられていたロールを維持します。この動作は、結果として、これまでミラーサーバーであったサーバーがプライマリサーバーへの切断された接続を検出した後で、プライマリサーバーがミラーサーバーへの接続が切断されたことを検出した場合、短い期間だけ 2 つのサーバーがプライマリサーバーとして動作しようとすることになります。元のプライマリサーバーで行われた最初の更新は、サーバーが他のサーバーにその変更を送信しようとした時点でブロックされます。これによって、この状況が発生したためにトランザクションが失われる可能性が限定されます。

    元のプライマリは、元のミラーサーバーからの切断された接続を検出し、監視サーバーのステータスをチェックしたときに、フェールオーバーが発生していることを確認し、データベースを再起動します。

  • ミラーとして動作しているサーバーがデータベースを再起動する必要がある場合、そのサーバー上のデータベースへのアクセスは、プライマリサーバーへの接続が再確立されるまで許可されません。

  • ネットワークの障害は、ネットワークのトポロジによってはクライアント接続とミラーサーバー接続の両方に影響する可能性があります。

以下のシナリオは、ミラーリングシステムで接続が切断された場合に何が起こるかを理解するのに役立ちます。ここで使用するデータベースミラーリングは、同期モードで実行されるサーバー 1、サーバー 2、監視サーバーで構成されています。

サーバー 1、サーバー 2、監視サーバーで構成されたデータベースミラーリングシステムの例。

ミラーリングシステム内のデータベースサーバーのステータスは、MirrorState、PartnerState、ArbiterState の各データベースプロパティを使用していつでも確認できます。MirrorState データベースプロパティPartnerState データベースプロパティArbiterState データベースプロパティを参照してください。

 シナリオ 7:プライマリサーバーと監視サーバーの接続が切断された場合
 シナリオ 8:ミラーサーバーと監視サーバーの接続が切断された場合
 シナリオ 9:プライマリサーバーとミラーサーバーの接続が切断された場合
 シナリオ 10:プライマリサーバーから、ミラーサーバーおよび監視サーバーへの接続が切断された場合
 シナリオ 11:ミラーサーバーから、プライマリサーバーおよび監視サーバーへの接続が切断された場合
 シナリオ 12:監視サーバーから、プライマリサーバーおよびミラーサーバーへの接続が切断された場合
 シナリオ 13:すべてのサーバー間の接続が切断された場合