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:データベースミラーリングシステムの作成

 ♦ データベースミラーリングシステムを設定する
  1. ディレクトリ c:\server1c:\server2c:\arbiter を作成します。

  2. 次のコマンドを実行して、サンプルデータベースのデータが格納された mirror_demo.db という名前のデータベースを作成します。

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

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

    • -x   データベースサーバーの実行で使用するポート番号を指定します。

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

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

  4. Interactive SQL からデータベースに接続します。

    dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_server1"
  5. 次の文を実行して、プライマリサーバーとミラーサーバーを定義します。

    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';
  6. 次の文を実行して、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';
  7. 次の文を実行して、監視サーバーを定義します。

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

    SET MIRROR OPTION authentication_string='abc';
  9. Interactive SQL との接続を切断します。

  10. 次のコマンドを実行して、c:\server1 にあるデータベースファイルとトランザクションログのコピーを作成し、c:\server2 に追加します。

    dbbackup -c "UID=DBA;PWD=sql;SERVER=mirror_server1;DBN=mirror_demo" c:\server2
  11. 次のコマンドを実行して、第 2 データベースサーバーを起動します。

    dbsrv12 -n mirror_server2 -x "tcpip(PORT=6872;DOBROAD=no)" -su sql "c:\server2\mirror_demo.db" -xp on

    このコマンドラインは、以下に示す dbsrv12 のオプションを指定します。

    • -n   データベースサーバーに mirror_server2 という名前を付けます。

    • -x   データベースサーバーの実行で使用するポート番号を指定します。

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

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

  12. 次のコマンドを実行して、監視データベースサーバーを起動します。

    dbsrv12 -n demo_arbiter -su sql -x "tcpip(PORT=6870;DOBROAD=no)" -xf "c:\arbiter\arbiter.state" -xa "AUTH=abc;DBN=mirror_demo"
    • -n   データベースサーバーに demo_arbiter という名前を付けます。

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

    • -x   データベースサーバーに対し、TCP/IP 通信にポート 6870 を使用するよう指示します。他のサーバーも TCP/IP を使用しますが、通信には別のポートを使用します。

    • -xf   arbiter のステータス情報ファイルのロケーションを指定します。

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

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

    dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_demo_primary;HOST=localhost:6871,localhost:6872"
  14. 次の文を実行して、接続したデータベースサーバーを確認します。

    SELECT PROPERTY( 'ServerName' );

    プライマリサーバーとして機能しているサーバーの名前が表示されます。

    例:mirror_server1

  15. 次の文を実行して、データをデータベースに追加します。

    CREATE TABLE test (col1 INTEGER, col2 CHAR(32));
    INSERT INTO test VALUES(1, 'Hello from server1');
    COMMIT;
  16. レッスン 2:データベースミラーリングシステムでのフェールオーバーの開始に進みます。

 参照