システムを停止しないでデータベースミラーリングシステム内のサーバを別のサーバに移動するには、現在のミラーサーバのミラー定義を削除し、新しいサーバを作成してミラーリングシステムに追加します。
前提条件
このチュートリアルでは、チュートリアル:データベースミラーリングシステムの作成で説明しているデータベースミラーリングシステムを利用します。
MANAGE ANY MIRROR SERVER 権限が必要です。
このタスクでは、データベースのコピーのバックアップを作成します。選択するバックアップ方法に応じて、その方法に対して適切な権限を参照してください。
内容と備考
このチュートリアルでは、すべてのデータベースサーバが同じコンピュータ上で実行されていることを想定しています。ただし、各データベースサーバが運用環境の別個のコンピュータにインストールされ、接続文字列の localhost への参照が実際のコンピュータ名に変更されている必要があります。
移動するパートナサーバ 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 つのパートナサーバのロールが切り替わります。
新しいパートナサーバの新しいディレクトリを作成します。次のコマンドを実行します。
mkdir c:\server3 |
プライマリサーバに接続します。次のコマンドを実行します。
dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_demo_primary;HOST=localhost:6871,localhost:6872" |
DROP MIRROR SERVER 文を実行し、移動するサーバのパートナ定義を削除します。次の文を実行します。
DROP MIRROR SERVER mirror_server2; |
ミラーデータベースが停止します。サーバ上で実行されているデータベースがミラーデータベースのみの場合は、サーバも停止します。
新しいパートナサーバになるサーバのパートナ定義を新規作成します。次の文を実行します。
CREATE MIRROR SERVER mirror_server3 AS PARTNER connection_string='SERVER=demo_server3;HOST=localhost:6874' state_file='c:\\server3\\server3.state'; |
プライマリとミラーの定義を更新します。次の文を実行します。
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'; |
プライマリサーバからのミラーリングされたデータベースファイルとトランザクションログのコピーを作成し、次のコマンドを実行して c:\server3 に追加します。
dbbackup -c "UID=DBA;PWD=sql;SERVER=mirror_server1;DBN=mirror_demo" c:\server3 |
新しいパートナサーバがミラーリングシステムに参加するように -xp on オプションで起動します。次のコマンドを実行します。
dbsrv16 -n mirror_server3 -x "tcpip(PORT=6874)" -su sql "c:\server3\mirror_demo.db" -xp on |
新しいパートナサーバに接続し、ミラーサーバであることを確認します。次のコマンドを実行します。
dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_server3;HOST=localhost:6874" "SELECT DB_PROPERTY( 'MirrorRole' )" |
このコマンドでは、Mirror が返されます。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |