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

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ データベース管理 » 高可用性と読み込み専用のスケールアウトシステム » データベースミラーリング

 

データベースミラーリングシステムの設定

プライマリサーバ、ミラーサーバ、監視サーバでデータベースおよびトランザクションログファイルのコピーを保持するように設定することで、ミラーリングシステムを設定します。

前提条件

MANAGE ANY MIRROR SERVER システム権限が必要です。

このタスクでは、データベースのコピーのバックアップを作成します。選択するバックアップ方法に応じて、その方法に対して適切な権限を参照してください。

内容と備考

運用ミラーリングシステムでは、パートナサーバおよび監視サーバを 3 つの別個のコンピュータで実行する必要があります。データベースミラーリングシステムを設定する場合は、次のすべての例で、localhost とポート番号を対応するデータベースサーバが実行されるコンピュータ名とポートに変更する必要があります。

 ♦ タスク
  1. -su オプションと -xp on オプションを使用して、データベースサーバでミラーリングするデータベースを起動します。このサーバは、データベースのパートナの 1 つである初期プライマリサーバになります。データベースにはトランザクションログが必要です。次に例を示します。

    dbsrv16 -n mirror_server1 -x tcpip(PORT=6871;DOBROAD=no) -su sql "c:\server1\mirror_demo.db" -xp on
  2. データベースに接続します。次に例を示します。

    dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_server1"
  3. CREATE MIRROR SERVER 文を使用して、データベースのパートナサーバと監視サーバを定義します。プライマリサーバとミラーサーバは、データベースシステムのパートナとしても定義する必要があります。

    例:

    1. 次の 2 つの SQL 文は、データベースミラーリングシステムのパートナサーバとして mirror_server1 と mirror_server2 を定義します。

      CREATE MIRROR SERVER mirror_server1
      AS PARTNER
      connection_string='SERVER=mirror_server1;host=localhost:6871'
      state_file='c:\\server1\\server1.state';
      
      CREATE MIRROR SERVER mirror_server2
      AS PARTNER
      connection_string='SERVER=mirror_server2;host=localhost:6872'
      state_file='c:\\server2\\server2.state';
    2. 次の SQL 文が定義するのは次のとおりです。

      • mirror_demo_primary は mirror_server1 の代替サーバ名として定義し、mirror_demo_primary はプライマリサーバとして動作するデータベースサーバに接続するためにクライアントが使用する名前です。

      • mirror_demo_mirror は mirror_server2 の代替サーバ名として定義し、mirror_demo_mirror はミラーサーバとして動作するデータベースサーバに接続するためにクライアントが使用する名前です。

      CREATE MIRROR SERVER mirror_demo_primary
      AS PRIMARY
      connection_string='SERVER=mirror_demo_primary;HOST=localhost:6871,localhost:6872';
      
      CREATE MIRROR SERVER mirror_demo_mirror
      AS MIRROR
      connection_string='SERVER=mirror_demo_mirror;HOST=localhost:6871,localhost:6872';
      
    3. 次の SQL 文は、データベースミラーリングシステムの監視サーバを定義します。

      CREATE MIRROR SERVER demo_arbiter
      AS ARBITER
      connection_string ='SERVER=demo_arbiter;HOST=localhost:6870';
  4. ミラーリングシステムのミラーリングオプションを設定します。認証文字列の指定は必須です。次に例を示します。

    SET MIRROR OPTION authentication_string='abc';
  5. プライマリデータベースおよび現在のトランザクションログのコピーを他のトランザクションログとともに 2 番目のパートナが存在するコンピュータ上に作成します。たとえば、BACKUP DATABASE 文を使用します。

    プライマリサーバコンピュータとミラーサーバコンピュータ上のトランザクションログファイルは、現在のトランザクションログファイルの開始オフセットを含め、同一である必要があります。

  6. データベースミラーリングシステムの 2 つ目のデータベースサーバを起動します。

    dbsrv16 -n mirror_server2 -x tcpip(PORT=6872;DOBROAD=no) -su sql "c:\server2\mirror_demo.db" -xp on
  7. 監視サーバを起動します。

    dbsrv16 -n demo_arbiter -su sql -x "TCPIP(PORT=6870;DOBROAD=no)" -xf "c:\arbiter\arbiter.state" -xa "AUTH=abc;DBN=mirror_demo"

結果

これで、クライアントはミラーリングされたデータベースに接続できるようになりました。

プライマリとミラーのロールは、システム内のデータベースサーバを設定する場合に必要です。これらのサーバに付けた名前は、クライアントがデータベースサーバに接続するときに代替サーバ名として使用されます。どちらか一方のパートナサーバは、プライマリサーバまたはミラーサーバとして動作できます。

次の手順

システムをモニタのリソースリストに追加して、データベースミラーリングシステムをモニタします。

Sybase Central からプライマリデータベースに接続して、データベースミラーリングシステムのデータベースサーバのステータスを確認します。[正常性と統計情報] ウィンドウ枠にデータベースミラーリング情報が表示されます。

 参照

データベースミラーリングシステムがプライマリサーバを選択する仕組み
データベースミラーリングシステムでのトランザクションログの管理
監視サーバとしてコピーノードを使用する