このチュートリアルでは、既存の読み込み専用スケールアウトシステムにミラーリングシステムを追加する方法について説明します。読み込み専用スケールアウトシステムのルートはミラーサーバにもなります。
前提条件
このチュートリアルは、チュートリアル:読み込み専用スケールアウトシステムの作成の説明に従って読み込み専用スケールアウトシステムを実行していることを前提としています。
読み込み専用スケールアウトシステムのルートノードを、ミラーリングシステム内のプライマリサーバとなるように設定します。それには、ミラーサーバを定義し、監視サーバを作成して、コピーノードをミラーリングシステムのミラーパートナになるように変換します。
MANAGE ANY MIRROR SERVER システム権限が必要です。
このチュートリアルでは、データベースのコピーのバックアップを作成します。選択するバックアップ方法に応じて、その方法に対して適切な権限を参照してください。
内容と備考
このチュートリアルでは、すべてのデータベースサーバが同じコンピュータ上で実行されていることを想定しています。ただし、運用環境では、各データベースサーバを別々のコンピュータにインストールする必要があります。
異なるコンピュータで実行されているデータベースサーバでこのチュートリアルを使用する場合は、接続文字列内の localhost への参照を実際のコンピュータ名に変更する必要があります。
読み込み専用スケールアウトシステムのルートノードに接続します。次のコマンドを実行します。
dbisql -c "UID=DBA;PWD=sql;SERVER=scaleout_root_demo" |
プライマリサーバとミラーサーバを定義します。次の文を実行します。
-- Alter existing primary to include both partners ALTER MIRROR SERVER scaleout_primary_demo connection_string='SERVER=scaleout_primary_demo;HOST=localhost:6871,localhost:6873'; -- Alter existing Partner to include state file ALTER MIRROR SERVER scaleout_root_demo state_file='c:\\scaleoutdemo\\server1\\server1.state'; -- Define mirror CREATE MIRROR SERVER scaleout_mirror_demo AS MIRROR connection_string='SERVER=scaleout_mirror_demo;HOST=localhost:6871,localhost:6873'; --Convert an existing copy node to the mirror server ALTER MIRROR SERVER scaleout_child_demo connection_string='SERVER=scaleout_child_demo;HOST=localhost:6873' state_file='c:\\scaleoutdemo\\copynode\\server3.state'; |
既存のコピーノードをミラーサーバに変換します。次の文を実行します。
--Convert an existing copy node to the mirror server ALTER MIRROR SERVER scaleout_child_demo connection_string='SERVER=scaleout_child_demo;HOST=localhost:6873' state_file='c:\\scaleoutdemo\\copynode\\server3.state'; |
ミラーリングシステムの監視サーバになるサーバを起動します。次のコマンドを実行します。
mkdir c:\scaleoutdemo\arbiter |
dbsrv16 -n scaleout_arbiter_demo -su sql -x "TCPIP(PORT=6870)" -xf "c:\\scaleoutdemo\\arbiter\\arbiter.state" -xa "AUTH=abc;DBN=scaleoutdemo" |
ルートノードに接続し、監視サーバを追加します。次の文を実行します。
dbisql -c "UID=DBA;PWD=sql;SERVER=scaleout_primary_demo" |
CREATE MIRROR SERVER scaleout_arbiter_demo AS ARBITER connection_string ='SERVER=scaleout_arbiter_demo;HOST=localhost:6870'; |
既存のコピーノードをミラーサーバに変換します。次の文を実行します。
ALTER MIRROR SERVER scaleout_child_demo AS PARTNER state_file='c:\\scaleoutdemo\\copynode\\server3.state' |
SYSMIRRORSERVER テーブルの内容を調べて、scaleout_child_demo がミラーサーバであることを確認します。次のコマンドを実行します。
dbisql -c "UID=DBA;PWD=sql;SERVER=scaleout_primary_demo" "SELECT server_name, server_type FROM SYSMIRRORSERVER" |
これで、scaleout_child_demo サーバが 2 台目の「パートナ」サーバになります。
クライアントアプリケーション内の接続文字列を更新し、Host 接続パラメータで両方のパートナのアドレスを指定します。次に例を示します。
dbping -c "UID=DBA;PWD=sql;SERVER=scaleout_primary_demo;HOST=localhost:6871,localhost:6873" |
(省略可) 別のコピーノードを追加します。
プライマリデータベースのバックアップコピーを作成し、ディレクトリ c:\scaleoutdemo\copynode2 に格納します。
次の文を実行します。
BACKUP DATABASE DIRECTORY 'c:\\scaleoutdemo\\copynode2'; |
データベースのバックアップコピーを scaleout_root_demo データベースサーバの子 (コピーノード) として起動します。次のコマンドを実行します。
dbsrv16 -n scaleout_child2_demo -su sql -x TCPIP(port=6874) "c:\scaleoutdemo\copynode2\scaleoutdemo.db" -xp on |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |