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 権限が必要です。

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

内容と備考

このチュートリアルでは、すべてのデータベースサーバが同じコンピュータ上で実行されていることを想定しています。ただし、各データベースサーバが運用環境の別個のコンピュータにインストールされ、接続文字列の localhost への参照が実際のコンピュータ名に変更されている必要があります。

 ♦ タスク
  1. 移動するパートナサーバ mirror_server2 に接続し、パートナサーバにミラーロールがあることを確認します。移動できるのはミラーロールを持つパートナのみです。接続したいサーバがプライマリサーバの場合は、ミラーサーバとプライマリサーバのロールが切り替わるように、フェイルオーバを開始する必要があります。次のコマンドを実行します。

    dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_server2;HOST=localhost:6872" SELECT DB_PROPERTY( 'MirrorRole' )

    現在のサーバのミラーリングロールが返されます。

    • Mirror が返された場合、mirror_server2 が現在のミラーです。

    • Primary が返された場合、mirror_server2 が現在のプライマリであり、フェイルオーバを開始して mirror_server2 をミラーにする必要があります。次のコマンドを実行し、フェイルオーバを開始します。

      dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_server2;HOST=localhost:6871,localhost:6872" ALTER DATABASE SET PARTNER FAILOVER

      2 つのパートナサーバのロールが切り替わります。

  2. 新しいパートナサーバの新しいディレクトリを作成します。次のコマンドを実行します。

    mkdir c:\server3
  3. プライマリサーバに接続します。次のコマンドを実行します。

    dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_demo_primary;HOST=localhost:6871,localhost:6872" 
  4. DROP MIRROR SERVER 文を実行し、移動するサーバのパートナ定義を削除します。次の文を実行します。

    DROP MIRROR SERVER mirror_server2;

    ミラーデータベースが停止します。サーバ上で実行されているデータベースがミラーデータベースのみの場合は、サーバも停止します。

  5. 新しいパートナサーバになるサーバのパートナ定義を新規作成します。次の文を実行します。

    CREATE MIRROR SERVER mirror_server3 AS PARTNER 
    connection_string='SERVER=demo_server3;HOST=localhost:6874' 
    state_file='c:\\server3\\server3.state'; 
  6. プライマリとミラーの定義を更新します。次の文を実行します。

    ALTER MIRROR SERVER mirror_demo_primary AS PRIMARY 
    connection_string='SERVER=mirror_demo_primary;HOST=localhost:6871,localhost:6874';
    ALTER MIRROR SERVER mirror_demo_mirror AS MIRROR
     connection_string='SERVER=mirror_demo_mirror;HOST=localhost:6871,localhost:6874';
    
  7. プライマリサーバからのミラーリングされたデータベースファイルとトランザクションログのコピーを作成し、次のコマンドを実行して c:\server3 に追加します。

    dbbackup -c "UID=DBA;PWD=sql;SERVER=mirror_server1;DBN=mirror_demo"  c:\server3
  8. 新しいパートナサーバがミラーリングシステムに参加するように -xp on オプションで起動します。次のコマンドを実行します。

    dbsrv16 -n mirror_server3 -x "tcpip(PORT=6874)" -su sql "c:\server3\mirror_demo.db" -xp on
  9. 新しいパートナサーバに接続し、ミラーサーバであることを確認します。次のコマンドを実行します。

    dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_server3;HOST=localhost:6874" "SELECT DB_PROPERTY( 'MirrorRole' )" 

    このコマンドでは、Mirror が返されます。

結果

ミラーシステムが新しいパートナサーバと共に実行されています。

次の手順

プライマリサーバまたはミラーサーバに接続しているクライアントに更新された接続文字列があることを確認し、Host 接続パラメータで両方のパートナのアドレスを指定します。

プライマリサーバのデータベースへの接続文字列は次のとおりです。

'UID=DBA;PWD=sql;SERVER=mirror_demo_primary;HOST=localhost:6871,localhost:6873'; 

ミラーサーバのデータベースへの接続文字列は次のとおりです。

'UID=DBA;PWD=sql;SERVER=mirror_demo_mirror;HOST=localhost:6871,localhost:6873';