In-Memory DatabaseおよびClusterwareの構成

Oracle ClusterwareとTimesTen In-Memory Databaseでアクティブ・スタンバイ・ペアを構成するには、次の5つのタスクを実行する必要があります。

1. TimesTenクラスタ情報の登録

a. TimesTenクラスタ情報は、Oracle Cluster Registryに格納されています。TimesTenクラスタ情報を登録するには、UNIXまたはLinuxプラットフォームのrootユーザーとして、あるいはWindowsのインスタンス管理者として、ttCWAdmin -ocrConfigコマンドをいずれかのホストで実行します。
ttCWAdmin -ocrConfig
   

2. クラスタ・エージェントの起動

a. 任意のホストでttCWAdmin -initコマンドを実行して、TimesTenクラスタ・エージェントを起動します。たとえば、mobile-qa7で実行する場合は次のようになります。
ttCWAdmin -init
   
  ttCWAdmin -init
   
  このコマンドによって、すべてのノードでTimesTenクラスタウェア・エージェントとTimesTenデーモンが起動され、その監視が開始されます。

3. データベースの作成

  ttCWAdminを介してアクティブ・スタンバイ・ペアを設定するには、任意のホストでアクティブなTimesTenデータベースを定義する必要があります。
このデータベースには、ADMIN権限を持つユーザーおよびレプリケーションに使用される一部のオブジェクトを持つアプリケーション・ユーザーを含める必要があります。
   
a. インスタンス管理者として、アクティブ・マスター・ホストにシステムDSNを定義します。
この例では、ホストmobile-qa4に対して、事前定義済のシステムDSN repdb1_1121を使用します。
   
  repdb1_1121システムDSN
   
b. インスタンス管理者としてホストmobile-qa4からttIsqlを使用して、データベースrepdb1_1121を作成および/または接続します。次に例を示します。
ttIsql repdb1_1121
   
  ttIsql repdb1_1121
   
必要に応じて、「TimesTenデータベースの作成」を参照してください。
   

4. アクティブ・スタンバイ・ペアを管理するユーザーの作成

a. データベース・ユーザーを作成し、作成したユーザーにデータベース管理者およびレプリケーション管理者としての権限を割り当てます。
この管理ユーザーは、アクティブ・スタンバイ・ペアを設定および管理します。
   
  管理ユーザーの作成
   
b. データベース・ユーザーを作成し、作成したユーザーに最小限のユーザー権限を付与します。
このユーザーは、レプリケートするトランザクション・ワークロードを作成します。
   
  appuserの作成
   
c. ttIsqlにユーザーappuserとしてログインし、次の文またはquickstart/sample_scripts/replicationディレクトリにあるスクリプトcreate_appuser_obj.sqlを実行して、appuserスキーマに2つの表を作成します。
   
 

connect "dsn=repdb1_1121;uid=appuser";

CREATE TABLE CUSTOMERS (
  CUST_NUMBER NUMBER,
  FIRST_NAME VARCHAR2(12) NOT NULL,
  LAST_NAME VARCHAR2(12) NOT NULL,
  ADDRESS VARCHAR2(100) NOT NULL,
  PRIMARY KEY (CUST_NUMBER));

insert into customers values (3700,'Peter','Burchard','882 Osborne Avenue, Boston, MA 02122');
insert into customers values (1121,'Saul','Mendoza','721 Stardust Street, Mountain View, CA 94043');

CREATE TABLE ORDERS (
  ORDER_NUMBER NUMBER NOT NULL,
  CUST_NUMBER NUMBER NOT NULL,
  PROD_NUMBER CHAR(10) NOT NULL,
  ORDER_DATE DATE NOT NULL,
  PRIMARY KEY (ORDER_NUMBER),
  FOREIGN KEY (CUST_NUMBER) REFERENCES CUSTOMERS (CUST_NUMBER));

insert into ORDERS values (6853036,3700,'0028616731',to_date('2008-04-05','yyyy-mm-dd'));
insert into ORDERS values (6853041,3700,'0198612710',to_date('2009-01-12','yyyy-mm-dd'));
insert into ORDERS values (6853169,1121,'0003750299',to_date('2008-08-01','yyyy-mm-dd'));
insert into ORDERS values (6853174,1121,'0789428741',to_date('2008-10-25','yyyy-mm-dd'));
insert into ORDERS values (6853179,1121,'0198612583',to_date('2009-02-02','yyyy-mm-dd'));

5. TimesTen cluster.oracle.ini構成ファイルの作成
a. cluster.oracle.iniファイルには使用可能な多くの属性が含まれますが、基本的なアクティブ・スタンバイ・ペアを構成するには、
MasterHosts属性のみが必要です。
repdb1_1121クラスタ・エントリ
cluster.oracle.iniファイルは、<install_dir>/infoディレクトリにあります。次に例を示します。
/scratch/dhood/TimesTen/dhood_crs/info/cluster.oracle.ini
cluster.oracle.iniエントリ名([repdb1_1121]など)は、アクティブ・データベースおよびスタンバイ・データベースのシステムDSNに対応させる必要があります。
注意: インストーラまたはttmodinstallを使用してOracle Clusterwareにサポートを追加する際に、必須のMasterHosts属性がcluster.oracle.iniファイルに作成されます。より複雑な構成を行うには、クラスタのすべてのノードで、関連する属性をcluster.oracle.iniファイルに追加する必要があります。

6. アクティブ・スタンバイ・ペアの作成

a. repdb1_1121データベースで、既存のすべての[SQL]アクティブ・スタンバイ・ペアを削除します。
DROP ACTIVE STANDBY PAIR;
SQLが管理するアクティブ・スタンバイ・ペアとttCWAdminが管理するアクティブ・スタンバイ・ペアを混合することはできません。
データベースのアクティブ・スタンバイ・ペアは、SQLまたはttCWAdminのいずれかによって管理する必要があり、その両方で管理することはできません。
 
b. 任意のホストでttCWAdmin -createコマンドを実行して、アクティブ・スタンバイ・ペアのレプリケーション・スキームを作成します。たとえば、mobile-qa7で実行する場合は次のようになります。
 
ttCWAdmin -create -dsn repdb1_1121
ttCWAdminの作成
 
このコマンドによって、システムDSNおよびclusterware.oracle.iniのrepdb1_1121エントリに基づいて、
mobile-qa4および mobile-qa7マシンにREPDB1_1121 データベースのレプリケーション・スキームが作成されました。

7. アクティブ・スタンバイ・ペアの開始

a. 任意のホストでttCWAdmin -startコマンドを実行して、アクティブ・スタンバイ・ペアのレプリケーション・スキームを開始します。たとえば、mobile-qa4で実行する場合は次のようになります。
 
ttCWAdmin -start -dsn repdb1_1121
ttcwadminの開始
 
このコマンドは、クラスタで任意のノードから実行して、アクティブ・スタンバイ・ペアを開始できます。

注意:
ttCWAdminは、スタンバイ・マシンで自動的にRepAgentを起動して、アクティブ・データベースを複製します。
アクティブ・データベースの複製に必要な時間は、アクティブ・データベースのサイズと使用されるハードウェアのパフォーマンスに比例します。
ttCWAdminがアクティブ/スタンバイペアを開始すると、アクティブ・データベースに対するコミット済の書込みはローカル・トランザクション・ログに書き込まれます。ただし、スタンバイ・データベースへのレプリケートは、複製操作が完了するまで行われません。

ttCWAdmin -status -dsn your_DSNコマンドを使用すると、データベースの複製の進捗を確認できます。