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

 

ミラーリングされたデータベースを実行中のミラーリングシステムに追加する

ミラーリングされたデータベースを、既存のサーバの可用性を低減することなく実行中のミラーリングシステムに追加します。

前提条件

-su データベースサーバオプションを使用してプライマリサーバとミラーサーバを起動し、ユーティリティデータベースにパスワードを設定しておく必要があります。ユーティリティデータベースのパスワードが必要です。

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

MANAGE MIRROR SERVER 権限も必要です。

監視サーバおよび既存のミラーリングシステムのパートナの 1 つが実行されている必要があります。

追加するデータベースにはトランザクションログが必要です。

内容と備考

ミラーリングシステムを実行し、既存のパートナと監視サーバを使用して別のデータベースをミラーリングできます。

 ♦ タスク
  1. 次を実行し、監視サーバが起動していることを確認します。

    • DBN パラメータによる -xa データベースサーバオプション。DBN=* を指定し、監視サーバがミラーリングされたデータベースの接続を受け入れるようにします。指定しない場合、動的に起動する必要のあるすべてのデータベースを指定し、このサーバを監視サーバとして使用する必要があります。

    • -su データベースサーバオプション。監視サーバのユーティリティデータベースに接続できる必要があります。

    例:

    dbsrv16 -n mirror_arbiter -su sql -x "TCPIP(PORT=6870;DOBROAD=no)" -xf "c:\arbiter\arbiter.state" -xa "AUTH=abc;DBN=*" -o c:\arbiter\arbiter.conslog
  2. トランザクションログとともに、ミラーリングしたいデータベースを既存のパートナコンピュータの 1 つにコピーします。

  3. 既存のパートナサーバのユーティリティデータベースに接続します。次に例を示します。

    dbisql -c "UID=dba;PWD=sql;DBN=utility_db;SERVER=mirror_server1"
  4. START DATABASE 文を MIRROR ON および AUTOSTOP OFF 句とともに使用し、追加するデータベースを起動します。次に例を示します。

    START DATABASE 'c:\\server1\\second.db' 
    AUTOSTOP OFF 
    MIRROR ON;

    データベースが起動します。

  5. データベースに接続します。次に例を示します。

    dbisql -c UID=DBA;PWD=sql;SERVER=mirror_server1;DBN=second

    SET MIRROR OPTION を使用して、ミラーサーバ定義 (PRIMARY、MIRROR、ARBITER および両方の PARTNERS) および認証文字列を作成します。

    新しいミラーリングシステムの認証文字列は、監視サーバの -xa オプションで指定した認証文字列と一致している必要があります。ホスト名とポートは、既存のパートナおよび監視サーバのホスト名とポートに一致している必要があります。PARTNER ミラーサーバ名は、パートナサーバの -n サーバオプションに一致している必要があります。PRIMARY および MIRROR サーバ名は、現在システムが使用しているサーバ名と重複してはいけません。

    例:



    CREATE MIRROR SERVER second_primary
    AS PRIMARY
    connection_string='SERVER=second_primary;HOST=localhost:6871,localhost:6872';
    
    CREATE MIRROR SERVER second_mirror
    AS MIRROR
    connection_string='SERVER=second_mirror;HOST=localhost:6871,localhost:6872';
    
    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';
    
    CREATE MIRROR SERVER arbiter_server
    AS ARBITER
    connection_string='SERVER=mirror_arbiter;HOST=localhost:6870';
    
    SET MIRROR OPTION authentication_string='abc';
  6. データベースのバックアップを作成し、そのバックアップを 2 番目のパートナサーバにコピーします。たとえば、次のように dbbackup ユーティリティを使用します。

    dbbackup -c "UID=DBA;PWD=sql;SERVER=mirror_server1;DBN=second" "c:\server2"
  7. 2 番目のパートナサーバのユーティリティデータベースに接続します。次に例を示します。

    dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_server2;DBN=utility_db" 
  8. START DATABASE 文を AUTOSTOP OFF MIRROR ON 句とともに使用して、2 番目のパートナサーバでデータベースを起動します。

    START DATABASE 'c:\\server2\\second.db' 
    AUTOSTOP OFF 
    MIRROR ON;

結果

新たに追加された、ミラーリングされたデータベースを両方のパートナで実行する必要があります。1 つのパートナがプライマリのロールを持ち、別のパートナがミラーのロールを持つことを (コンソールログまたは DB_PROPERTY( 'MirrorRole' ) のいずれかを使用して) 確認します。

 参照