キャッシュ・データベースのアクティブ・スタンバイ・ペアの構成
初期キャッシュ・データベースの作成後、アクティブ・スタンバイ・ペアの構成を定義して、現行のデータベースをアクティブ・データベースとして割り当てることができます。
このチュートリアルでは、TimesTen 11.2.1に付属する事前定義済のDSNであるcachedb1_1121を使用します。例にある2台のマシンのホスト名はstacb12およびstach17です。cachedb1_1121はstacb12のアクティブ・キャッシュ・データベースであり、stach17のcachedb2_1121はスタンバイ・キャッシュ・データベースです。
3. キャッシュ・グリッドからのデータベースのデタッチ
a. |
ttIsqlにユーザーcacheadmとしてログインします。cacheadmのTimesTenユーザー・パスワードとOracleユーザー・パスワードを渡します。 |
|
|
|
connect "dsn=cachedb1_1121;uid=cacheadm;pwd=cacheadm;oraclepwd=cacheadm"; |
|
|
b. |
この手順は、データベースがキャッシュ・グリッドに現在アタッチされている場合にのみ実行する必要があります。組込みのttGridDetachを使用して、データベースをデタッチします。 |
|
|
|
call ttgriddetach; |
|
|
c. |
プロシージャttGridNodeStatusを使用して、cachedb1がキャッシュ・グリッドにアタッチされていないことを確認します。 |
|
|
|
call ttgridnodestatus; |
|
|
|
![](../images/cg_create_griddetach.jpg) |
4. キャッシュ・エージェントの起動
a. |
キャッシュ・エージェントが起動されていない場合は、組込みプロシージャttCacheStartを使用して起動します。 |
|
|
|
call ttcachestart; |
5. 自動リフレッシュ状態のPAUSEDへの設定
a. |
自動リフレッシュ・キャッシュ・グループが存在する場合は、アクティブ・スタンバイ・ペアを定義する前に、自動リフレッシュ状態を一時的にPAUSEDに設定する必要があります。SQL文ALTER CACHE GROUPを使用して自動リフレッシュ状態を変更します。
|
|
alter cache group ro set autorefresh state paused; |
|
|
b. |
ttIsqlコマンドcachegroupsを使用すると、キャッシュ・グループのプロパティを戻すことができます。
|
|
cachegroups ro; |
|
|
|
![ALTER CACHE GROUPによる自動リフレッシュ状態のPAUSEDへの設定](../images/rep_cache_setup_autorefresh_paused.jpg) |
6. レプリケーション・エージェントの停止
a. |
レプリケーション・エージェントによって、TimesTenデータベース間でデータがレプリケートされます。アクティブ・スタンバイ・ペア構成を定義する前に停止する必要があります。レプリケーション・エージェントが停止されていない場合は、組込みプロシージャttRepStopを使用して一時的に停止します。 |
|
|
|
call ttrepstop; |
7. アクティブ・スタンバイ・ペアの定義
a. |
CREATE ACTIVE STANDBY PAIR文を使用して、アクティブ・スタンバイ・ペア・スキーマを定義します。デフォルトでは、非同期レプリケーションが使用されます。 |
|
|
|
create active standby pair cachedb1_1121 on "stacb12", cachedb2_1121 on "stach17"; |
|
|
|
注意: CREATE ACTIVE STANDBY PAIR文で使用されるデータ・ストア名のcachedb1_1121およびcachedb2_1121は、DSNではなく、Data Store Path属性で定義されるファイル名です。アクティブ・スタンバイ・ペアの定義時に使用するホスト名は、それぞれのサーバーでOSのhostnameコマンドによって返される値と一致する必要があります。 |
|
|
b. |
ttIsqlコマンドrepschemesを使用すると、データベースにデプロイされている現在のレプリケーション・スキームを確認できます。 |
|
|
|
repschemes; |
|
|
|
![](../images/rep_cache_setup_define_aspair.jpg) |
8. レプリケーション・エージェントの起動
a. |
レプリケーション・エージェント・プロセスによって、TimesTenデータベース間でデータがレプリケートされます。アクティブ・スタンバイ・ペアの両方のデータベースで実行されている必要があります。組込みプロシージャttRepStartを使用して、レプリケーション・エージェントを起動します。 |
|
|
|
call ttrepstart; |
9. レプリケーション状態のアクティブへの設定
a. |
組込みプロシージャttRepStateSetを使用して、現行のデータベース(cachedb1_1121)をアクティブ・スタンバイ・ペアのアクティブ・キャッシュ・データベースとして指定します。
|
|
call ttrepstateset('active'); |
|
|
b. |
組込みプロシージャttRepStateGetによって、データベースの現在のレプリケーション状態が返されます。 |
|
|
|
call ttrepstateget; |
|
|
|
![](../images/rep_cache_setup_set_active.jpg) |
アクティブ・キャッシュ・データベースを設定し、アクティブ・スタンバイ・ペア構成を定義したら、続けてスタンバイ・データベースを作成できます。