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 サーバ データベース管理 » 高可用性と読み込み専用のスケールアウトシステム » データベースミラーリング » チュートリアル:データベースミラーリングシステムの作成

 

レッスン 1:データベースミラーリングシステムの作成

ミラーリングシステムを作成します。

前提条件

このレッスンでは、このチュートリアルの開始時に、権限のセクションで一覧されているロールと権限を持っていることを前提としています。 チュートリアル:監視サーバを共有している複数データベースでデータベースミラーリングシステムを作成する

 ♦ タスク
  1. 次のディレクトリを作成します。c:\server1c:\server2c:\arbiter

  2. サンプルデータベースのデータを格納し、トランザクションログを持つ、mirror_demo.db というデータベースを作成します。トランザクションログを持っていないデータベースをミラーリングモードで起動することはできません。次のコマンドを実行します。

    newdemo c:\server1\mirror_demo.db
  3. 1 番目のデータベースサーバを起動します。次のコマンドを実行します。

    dbsrv16 -n mirror_server1 -x "tcpip(PORT=6871)" -su sql "c:\server1\mirror_demo.db" -xp on
    • -n   データベースサーバに名前を付けます。

    • -su   ユーティリティデータベースにパスワードを指定します。-su オプションを含めてユーティリティデータベースのパスワードを指定することをおすすめします。そうすることで、必要に応じてユーティリティデータベースに接続してデータベースサーバをシャットダウンできるようになります。ミラーリングシステムのデータベースサーバの停止トラブルシューティング:プライマリサーバが起動できないを参照してください。

    • -x   データベースサーバが実行されているポートを指定します。

    • -xp on   データベースサーバがデータベースミラーリングシステムに参加可能であることを示します。

  4. Interactive SQL からデータベースに接続します。次のコマンドを実行します。

    dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_server1"
  5. CREATE MIRROR SERVER 文を使用して、データベースのパートナサーバと監視サーバを定義します。

    次の文を実行して、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';

    次の文を実行して定義します

    • 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';

    次の SQL 文を実行し、データベースミラーリングシステムの監視サーバを定義します。

    CREATE MIRROR SERVER demo_arbiter
    AS ARBITER
    connection_string ='SERVER=demo_arbiter;HOST=localhost:6870';
  6. データベースの認証文字列を設定します。次の文を実行します。

    SET MIRROR OPTION authentication_string='abc';
  7. バックアップユーティリティ (dbbackup) を使用して、c:\server1 にあるデータベースファイルとトランザクションログを c:\server2 にコピーします。次のコマンドを実行します。

    dbbackup -c "UID=DBA;PWD=sql;SERVER=mirror_server1;DBN=mirror_demo" c:\server2
  8. 2 番目のパートナサーバを起動します。次のコマンドを実行します。

    dbsrv16 -n mirror_server2 -x "tcpip(PORT=6872;DOBROAD=no)" -su sql "c:\server2\mirror_demo.db" -xp on
  9. 監視サーバを起動します。次のコマンドを実行します。

    dbsrv16 -n demo_arbiter -su sql -x "tcpip(PORT=6870;DOBROAD=no)" -xf "c:\arbiter\arbiter.state" -xa "AUTH=abc;DBN=mirror_demo"
    • -xf   arbiter のステータス情報ファイルのロケーションを指定します。

    • -xa   ミラーリング対象のデータベースの名前と、監視サーバに対する認証文字列 (ここでは abc) を指定します。この認証文字列を、データベースミラーリングシステムのすべてのサーバ (監視サーバ、プライマリサーバ、ミラーサーバ) で使用する必要があります。

  10. Interactive SQL を起動し、プライマリサーバの代替サーバ名を使用してプライマリサーバに接続します。次のコマンドを実行します。

    dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_demo_primary;HOST=localhost:6871,localhost:6872"
  11. データベースにデータを追加します。次の文を実行します。

    CREATE TABLE test (col1 INTEGER, col2 CHAR(32));
    INSERT INTO test VALUES(1, 'Hello from server1');
    COMMIT;
  12. (省略可) 接続先のデータベースサーバの名前を決定するには、ServerName データベースサーバプロパティを使用します。次の文を実行します。

    SELECT PROPERTY( 'ServerName' );
  13. すべての Interactive SQL ウィンドウを閉じます。

結果

データベースミラーリングシステムが実行されています。

 参照