In-Memory Database Cacheでのアクティブ・スタンバイ・ペア

アクティブ・スタンバイ・ペア構成には、アクティブ・キャッシュ・データベース、スタンバイ・キャッシュ・データベースおよびオプションの読取り専用サブスクライバ・データベースが含まれます。スタンバイ・キャッシュ・データベースはアクティブ・キャッシュ・データベースから更新を受け取り、その変更をオプションの読取り専用サブスクライバ・データベースに転送します。すべての更新は、アクティブ・キャッシュ・データベースに直接送られます。スタンバイ・キャッシュ・データベースは、レポート・サーバーなどの読取り専用アプリケーションにも使用できます。

この項では、高可用性を実現するためにキャッシュ表がリアルタイムでレプリケートされる、アクティブ・スタンバイ・ペアを設定および管理する方法について説明します。アクティブ・スタンバイ・ペアを設定する前に、In-Memory Database Cache 11.2.1ソフトウェアをアクティブ・サーバーおよびスタンバイ・サーバーの両方にインストールする必要があります。また、Oracle Databaseへの接続を構成する必要もあります。インスタンス管理者ユーザーの名前は、両方のインストールで同じである必要があります。

アクティブ・スタンバイ・ペアの設定

キャッシュ・データベースでアクティブ・スタンバイ・ペアを設定する構成手順の概要を次に示します。

1. キャッシュ・データベースの作成 アクティブ・スタンバイ・ペアを設定する前に、初期キャッシュ・データベースを作成する必要があります。このデータベースには、キャッシュ・グリッドを管理するCACHE_MANAGER権限またはADMIN権限を持つユーザーが含まれ、必要なキャッシュ・グループが定義されている必要があります。キャッシュ・データベースの設定方法の詳細は、「IMDB Cacheおよびキャッシュ・グリッドの構成」を参照してください。

既存のキャッシュ・データベースがある場合は、この手順をスキップできます。
2. アクティブ・スタンバイ・ペアを管理するユーザーの作成 ADMIN権限を持つユーザーが存在しない場合は、キャッシュ・データベースに含める必要があります。このユーザーは、アクティブ・スタンバイ構成を管理します。
3. キャッシュ・グリッドからのデータベースのデタッチ データベースがキャッシュ・グリッドにアタッチされている場合は、ttGridDetach組込みプロシージャを使用してデタッチします。
4. キャッシュ・エージェントの起動 キャッシュ・エージェント・プロセスが起動されていない場合は、組込みプロシージャttCacheStartを使用して起動します。
5. 自動リフレッシュ状態PAUSEDへの設定 自動リフレッシュ・キャッシュ・グループが存在する場合は、アクティブ・スタンバイ・ペアを定義する前に、その状態を一時的にPAUSEDに設定する必要があります。SQL文ALTER CACHE GROUPを使用して自動リフレッシュ状態を変更します。
6. レプリケーション・エージェントの停止 レプリケーション・エージェント・プロセスが停止されていない場合は、組込みプロシージャttRepStopを使用して一時的に停止します。
7. アクティブ・スタンバイ・ペアのレプリケーション・スキームの定義 SQL文
CREATE ACTIVE STANDBY PAIRを使用して、アクティブ・データベースおよびスタンバイ・データベースのホスト名やデータ・ストア名など、アクティブ・スタンバイ・ペアの構成を定義します。
8. レプリケーション・エージェントの起動 レプリケーション・エージェント・プロセスによって、TimesTenデータベース間でデータがレプリケートされます。
組込みプロシージャttRepStartを使用して、レプリケーション・エージェントを起動します。
9. データベースの状態のアクティブへの設定 組込みプロシージャttRepStateSetを使用して、現行のデータベースをアクティブ・データベースとして指定します。
10. アクティブ・データベースのスタンバイ・サーバーへの複製 スタンバイ・データベースは、アクティブ・データベースをスタンバイ・サーバーにクローニングすることによって作成されます。ttRepAdminユーティリティを使用して、アクティブ・データベースをスタンバイ・サーバーに複製します。
11. キャッシュ・グリッドへのアクティブ・データベースのアタッチ グローバル・キャッシュ・グループがキャッシュ・データベースで定義されている場合、またはグローバル・キャッシュ・グリッド操作が必要とされる場合は、ttGridAttach組込みプロシージャを使用して、アクティブ・データベースをキャッシュ・グリッドに登録します。アクティブ・データベースおよびスタンバイ・データベースの両方のホスト名とデータベース名を指定します
12. スタンバイ・データベースでのレプリケーション・エージェントの起動 スタンバイのレプリケーション・エージェントは、アクティブ・データベースのデータを受け取ります。組込みプロシージャttRepStartを使用して、レプリケーション・エージェント・プロセスを起動します。
13. スタンバイ・データベースでのキャッシュ・エージェントの起動 組込みプロシージャttCacheStartを使用して、キャッシュ・エージェント・プロセスを起動します。
14. キャッシュ・グリッドへのスタンバイ・データベースのアタッチ グローバル・キャッシュ・グループがアクティブ・キャッシュ・データベースで定義されている場合、またはグローバル・キャッシュ・グリッド操作が必要とされる場合は、ttGridAttach組込みプロシージャを使用して、スタンバイ・データベースをキャッシュ・グリッドに登録します。アクティブ・データベースおよびスタンバイ・データベースの両方のホスト名とデータベース名を指定します。
15. キャッシュ・グループへのデータの事前ロード LOAD CACHE GROUP文を使用して、Oracle Databaseのデータを含むキャッシュ・グループを事前にロードします。

このは、前述の構成手順を使用してアクティブ・スタンバイ・ペアを設定する方法を示しています。


アクティブ・キャッシュ・データベースで発生した障害からのリカバリ

アクティブ・キャッシュ・データベースで発生した障害からリカバリする構成手順の概要を次に示します。
これによってスタンバイ・データベースへのフェイルオーバーが実行され、障害が発生したアクティブ・データベースがリカバリされます。
次の手順は、非同期レプリケーションおよびRETURN RECEIPT
レプリケーションの場合です。

1. 障害が発生したアクティブ・データベースでのレプリケーション・エージェントの停止 障害が発生したデータベースで、レプリケーション・エージェントがまだ停止されていない場合は停止します。組込みプロシージャttRepStopを使用して、レプリケーション・エージェントを停止します。
2. スタンバイ・データベースの状態のアクティブへの設定 組込みプロシージャttRepStateSetを使用して、現行のデータベースをアクティブ・スタンバイ・ペアの新しいアクティブ・データベースとして指定します。また、これによってキャッシュ・グループの自動リフレッシュ状態はPAUSEDからONに変更されます。
3. 以前のアクティブ・データベースのfailedとしての指定 新しいアクティブ・データベースで組込みプロシージャttRepStateSaveを実行して、以前のアクティブ・データベースをfailedとして登録します。
4. 障害が発生したデータベースでのキャッシュ・エージェントの停止 障害が発生したデータベースでキャッシュ・エージェントが停止されていない場合は、組込みプロシージャttCacheStopを使用して停止します。
5. 障害が発生したデータベースの破棄 ttDestroyコマンドを使用して、障害が発生したキャッシュ・データベースを削除します。
6. 新しいアクティブ・データベースの複製による新しいスタンバイ・データベースの作成 ttRepAdminを使用して、新しいアクティブ・データベースから新しいスタンバイ・データベースに複製します。
7. スタンバイ・データベースでのレプリケーション・エージェントの起動 組込みプロシージャttRepStartを使用して、レプリケーション・エージェント・プロセスを起動します。
8. スタンバイ・データベースでのキャッシュ・エージェントの起動 組込みプロシージャttCacheStartを使用して、キャッシュ・エージェント・プロセスを起動します。
9. キャッシュ・グリッドへのスタンバイ・データベースのアタッチ グローバル・キャッシュ・グループがアクティブ・キャッシュ・データベースで定義されている場合は、ttGridAttach組込みプロシージャを使用して、アクティブ・データベースおよびスタンバイ・データベースのホスト名とデータベース名を指定し、スタンバイ・データベースをキャッシュ・グリッドに登録します。

このは、前述の手順を使用して、スタンバイ・データベースにフェイルオーバーする方法を示しています。


アクティブ・スタンバイ・ペアの削除

キャッシュ・データベースからアクティブ・スタンバイ・ペア構成を削除する構成手順の概要を次に示します。
これによってスタンバイ・キャッシュ・データベースが削除され、単一のキャッシュ・データベースの構成に戻ります。

1. キャッシュ・グリッドからのデータベースのデタッチ グローバル・キャッシュ・グループが定義されている場合は、ttGridDetach組込みプロシージャを使用して、キャッシュ・グリッドからアクティブ・データベースおよびスタンバイ・データベースをデタッチします。
2. レプリケーション・エージェントの停止 組込みプロシージャttRepStopを使用して、各データベースでレプリケーション・エージェントを停止します。
3. アクティブ・スタンバイ・ペア・スキームの削除 各データベースでSQL文DROP ACTIVE STANDBY PAIRを使用して、アクティブ・スタンバイ・ペア・スキーマを削除します。
4. 以前のスタンバイ・データベースからのキャッシュ・グループの削除 SQL文DROP CACHE GROUPを使用して、冗長なスタンバイ・データベースからキャッシュ・グループを削除します。
5. 以前のスタンバイ・データベースでのキャッシュ・エージェントの停止 組込みプロシージャttCacheStopを使用して、以前のスタンバイ・データベースでキャッシュ・エージェントを停止します。
6. 以前のスタンバイ・キャッシュ・データベースの破棄 ttDestroyコマンドを使用して、冗長なスタンバイ・データベースを削除します。
7. キャッシュ・グリッドへのデータベースのアタッチ グローバル・キャッシュ・グループがキャッシュ・データベースで定義されている場合は、ttGridAttach組込みプロシージャを使用して、キャッシュ・グリッドにデータベースをアタッチします。

このは、前述の手順に従って、アクティブ・スタンバイ・ペアを削除し、スタンドアロンのキャッシュ・データベースに戻す方法を示しています。