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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - データベース管理 » データベースの保守 » SQL Anywhere の高可用性

 

データベース・ミラーリングの設定

次の手順では、ミラーリング・システムの構築対象となるデータベースを実行しているデータベース・サーバがすでに 1 つ存在していることを想定しています。

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

データベース・ミラーリングに関連する SQL Anywhere のアップグレードやデータベースの再構築の詳細については、データベース・ミラーリング・システムでの SQL Anywhere ソフトウェアとデータベースのアップグレードを参照してください。

♦  ミラーリング・システムを設定するには、次の手順に従います。
  1. 2 つ目のサーバ上に、データベースと現在のトランザクション・ログのコピーを作成します。

    既存のデータベース・サーバが停止している場合は、ファイルのコピーを作成できます。そうでない場合は、BACKUP DATABASE 文またはバックアップ・ユーティリティ (dbbackup) を使用します。BACKUP 文バックアップ・ユーティリティ (dbbackup)を参照してください。

  2. 実行中のデータベース・サーバを停止し、ミラーリング・オプションを含むようにコマンド・ライン設定を変更して、サーバを再起動します。

    次に例を示します。

    dbsrv11 -n server1 -x tcpip(PORT=2638) -xf c:\server1\server1state.txt 
     -su sql c:\server1\mirrordemo.db -sn mirrordemo 
    -xp "partner=(ENG=server2;LINKS=tcpip(PORT=2637;TIMEOUT=1));auth=abc;
    arbiter=(ENG=arbiter;LINKS=tcpip(PORT=2639;TIMEOUT=1));mode=page;autofailover=YES"
  3. もう一方の稼働サーバを起動します。

    次に例を示します。

    dbsrv11 -n server2 -x tcpip(port=2637) -xf c:\server2\server1state.txt 
    -su sql c:\server2\mirrordemo.db -sn mirrordemo 
    -xp "partner=(ENG=server1;LINKS=tcpip(PORT=2638;TIMEOUT=1));auth=abc;
    arbiter=(ENG=arbiter;LINKS=tcpip(PORT=2639;TIMEOUT=1));mode=page;autofailover=YES"
  4. 監視サーバを起動します。

    次に例を示します。

    dbsrv11 -x tcpip -n arbiter 
    -xa "AUTH=abc;DBN=mirrordemo" -xf arbiterstate.txt
    -su sql

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

ミラーリングされたデータベース・サーバへの接続

ミラーリングされたデータベースに接続する場合、クライアントは、プライマリ・サーバとミラー・サーバの起動に使用されたコマンドの -sn オプションに指定されたサーバ名を使用する必要があります。上記の例 (データベース・サーバは -sn mirrordemo で起動) では、クライアントは接続パラメータ ENG=mirrordemo を接続文字列に指定しています。

...UID=user12;PWD=x92H4pY;ENG=mirrordemo;LINKS=tcpip...

プライマリ・サーバとミラー・サーバが異なるサブネット上で実行されている場合は、クライアントがプライマリ・サーバに接続するために使用する IP アドレスの範囲を指定する必要があります。次に例を示します。

...UID=user12;PWD=x92H4pY;ENG=mirrordemo;LINKS=tcpip(HOST=ip1,ip2...)...

クライアントがプライマリ・サーバへの接続を試行し続ける時間を制御するために、RetryConnectionTimeout 接続パラメータを指定することもできます。RetryConnectionTimeout 接続パラメータ [RetryConnTO]を参照してください。

クライアントの接続先となるサーバが見つからない場合は、以下を試してください。

  1. プライマリ・サーバとミラー・サーバを実行しているコンピュータのホスト名を指定します。たとえば、MirrorServ1 および MirrorServ2 という名前のコンピュータ上で実行されている場合、クライアントの接続文字列で LINKS=tcpip(HOST=MirrorServ1,MirrorServ2) と指定できます。

  2. LDAP にサーバを登録します。LDAP サーバを使用した接続を参照してください。

  3. SQL Anywhere Broadcast Repeater ユーティリティ (dbns11) を使用してサーバを探します。このユーティリティは、あるサブネット上でのブロードキャストと応答を受信し、それを別のサブネットに再ブロードキャストします。Broadcast Repeater ユーティリティ (dbns11)を参照してください。


初期プライマリ・サーバの決定
優先データベース・サーバの指定
ミラー・サーバで実行されているデータベースへの読み込み専用アクセスの設定
データベース・サーバの強制プライマリ・サーバ化
プライマリ・サーバのフェールオーバの起動
ミラーリング・システムのデータベース・サーバの停止
プライマリ・サーバ障害からのリカバリ
データベース・ミラーリングとトランザクション・ログ・ファイル
データベース・ミラーリングにおけるシステム・イベント
データベース・ミラーリングとパフォーマンス
データベース・ミラーリングとバックアップ
データベース・ミラーリングのシナリオ