このチュートリアルでは、システムを停止しないで、データベースミラーリングシステム内のパートナサーバを、読み込み専用スケールアウトシステム内のコピーノードに変換する方法について説明します。
前提条件
このチュートリアルでは、チュートリアル:データベースミラーリングシステムの作成で説明しているデータベースミラーリングシステムを利用します。
MANAGE ANY MIRROR SERVER システム権限が必要です。
デフォルトでは、ALTER DATABASE...SET PARTNER FAILOVER 文を使用するには SERVER OPERATOR システム権限が必要です。 -gd データベースサーバオプションを使用すると、必要な権限を変更できます。
内容と備考
このチュートリアルでは、すべてのデータベースサーバが同じコンピュータ上で実行されていることを想定しています。ただし、運用環境では、各データベースサーバを別々のコンピュータにインストールする必要があります。
異なるコンピュータで実行されているデータベースサーバでこのチュートリアルを使用する場合は、接続文字列内の localhost への参照を実際のコンピュータ名に変更する必要があります。
変換するパートナサーバに接続し、パートナサーバがミラーロールであることを確認します。変換できるのはミラーロールを持つパートナのみです。コピーノードに変換しようとするサーバがプライマリサーバの場合は、プライマリサーバとミラーサーバのロールが切り替わるように、フェイルオーバを開始する必要があります。たとえば、mirror_server2 に接続します。
dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_server2;HOST=localhost:6872" |
データベースサーバプロパティ MirrorRole から、サーバの現在のロールが返されます。次の文を実行します。
SELECT DB_PROPERTY( 'MirrorRole' ); |
Primary が返された場合は、次の文を実行してフェイルオーバを開始します。
ALTER DATABASE SET PARTNER FAILOVER; |
現在のプライマリデータベースが停止し、再起動します。
プライマリサーバに接続します。
dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_demo_primary;HOST=localhost:6871,localhost:6872" |
定義を次のように変更します。
タイプ PRIMARY のミラー定義を更新し、変換しようとしているパートナの接続情報を削除します。
タイプ MIRROR のミラー定義を削除します。
コピーノードに変換しようとしているサーバのパートナ定義を変更します。
次の文を実行します。
ALTER MIRROR SERVER mirror_demo_primary connection_string='SERVER=mirror_demo_primary;HOST=localhost:6871'; DROP MIRROR SERVER mirror_demo_mirror; ALTER MIRROR SERVER mirror_server2 AS COPY FROM SERVER PRIMARY; |
これらの設定変更の一部として両方のパートナサーバ上のデータベースが再起動しますが、サーバ自身は実行を続けます。データベースの再起動中、データベースへの接続は切断されます。
(省略可) ミラーリングシステムを破棄する場合は、監視サーバを削除します。次の文を実行します。
DROP MIRROR SERVER demo_arbiter; |
SYSMIRRORSERVER システムビューの内容を表示し、mirror_server2 がコピーノードに変換されたことを確認します。次のコマンドを実行します。
dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_demo_primary" "SELECT server_name, server_type FROM SYSMIRRORSERVER" |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |