ヘッダーをスキップ
Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド
リリース6.0
B25769-01
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

レプリケーション・スキームの変更

ALTER REPLICATIONを使用して、マスターおよびサブスクライバのデータ・ストアのレプリケーション・スキームを変更することができます。また、マスター・データ・ストアに対する変更は、そのサブスクライバに対しても行う必要があります。

注意: アクセス制御を有効にしてTimesTenをインストールした場合、ALTER REPLICATION文を使用するには、データ・ストアに対するDDL権限が必要です。詳細は、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』のアクセス制御とroot以外のインストールに関する章を参照してください。

ALTER REPLICATIONを使用してDATASTORE要素を指定するレプリケーション・スキームを変更する場合は、次のことに注意してください。

既存のレプリケーション・スキームへの表の追加

既存のレプリケーション・スキームに表を追加するには、次の2つの方法があります。

例6.1

この例では、例3.25で定義したレプリケーション・スキームrepl.r1を使用します。レプリケーション・スキームrepl.r1を変更して、表westleadsを追加します。この表は、データ・ストアwestdsで更新され、データ・ストアeastdsにレプリケートされます。

ALTER REPLICATION repl.r1 
   ADD ELEMENT elem_westleads TABLE repl.westleads 
      MASTER westds ON "westcoast" 
      SUBSCRIBER eastds ON "eastcoast"; 
例6.2

my.tab1表をmy.rep1レプリケーション・スキームのds1 DATASTORE要素に追加します。

ALTER REPLICATION my.rep1 
  ALTER ELEMENT ds1 DATASTORE 
     INCLUDE TABLE my.tab1; 

既存のレプリケーション・スキームへのキャッシュ・グループの追加

既存のレプリケーション・スキームのDATASTORE要素に、キャッシュ・グループを追加できます。ALTER ELEMENT句およびINCLUDE CACHE GROUP句を指定してALTER REPLICATION文を使用します。

例6.3

my.cg1キャッシュ・グループをmy.rep1レプリケーション・スキームのds1 DATASTORE要素に追加します。

ALTER REPLICATION my.rep1 
  ALTER ELEMENT ds1 DATASTORE 
     INCLUDE CACHE GROUP my.cg1; 

既存のレプリケーション・スキームへのDATASTORE要素の追加

ADD ELEMENT句を指定してALTER REPLICATION文を使用すると、既存のレプリケーション・スキームにDATASTORE要素を追加できます。INCLUDEまたはEXCLUDE句を使用しない場合、一時表を除くすべての表、マテリアライズド・ビューまたは非マテリアライズド・ビューがデータ・ストアに含まれます。「DATASTORE要素追加時の表またはキャッシュ・グループの挿入」および「DATASTORE要素追加時の表またはキャッシュ・グループの除外」を参照してください。

例6.4

既存のレプリケーション・スキームにDATASTORE要素を追加します。

ALTER REPLICATION my.rep1 
  ADD ELEMENT ds1 DATASTORE 
     MASTER rep2 
     SUBSCRIBER rep1, rep3; 

DATASTORE要素追加時の表またはキャッシュ・グループの挿入

既存のレプリケーション・スキームにデータ・ストアを追加する場合は、特定の表およびキャッシュ・グループのみを含めることができます。ADD ELEMENT句およびINCLUDE TABLE句またはINCLUDE CACHE GROUP句を指定してALTER REPLICATION文を使用します。同じALTER REPLICATION文のオブジェクト・タイプ(表およびキャッシュ・グループ)ごとに1つのINCLUDE句を使用できます。

例6.5

ds1 DATASTORE要素をmy.rep1レプリケーション・スキームに追加します。my.tab2表、my.cg2キャッシュ・グループおよびmy.cg3キャッシュ・グループをDATASTORE要素に含めます。

ALTER REPLICATION my.rep1 
  ADD ELEMENT ds1 DATASTORE 
     MASTER rep2 
     SUBSCRIBER rep1, rep3 
     INCLUDE TABLE my.tab2 
     INCLUDE CACHE GROUP my.cg2, my.cg3; 

DATASTORE要素追加時の表またはキャッシュ・グループの除外

既存のレプリケーション・スキームにDATASTORE要素を追加する場合は、表またはキャッシュ・グループを除外できます。ADD ELEMENT句およびEXCLUDE TABLE句またはEXCLUDE CACHE GROUP句を指定してALTER REPLICATION文を使用します。同じALTER REPLICATION文のオブジェクト・タイプ(表およびキャッシュ・グループ)ごとに1つのEXCLUDE句を使用できます。

例6.6

ds2 DATASTORE要素をレプリケーション・スキームに追加しますが、my.tab1表、my.cg0キャッシュ・グループおよびmy.cg1キャッシュ・グループは除外します。

ALTER REPLICATION my.rep1 
  ADD ELEMENT ds2 DATASTORE 
     MASTER rep2 
     SUBSCRIBER rep1 
     EXCLUDE TABLE my.tab1 
     EXCLUDE CACHE GROUP my.cg0, my.cg1; 

レプリケーション・スキームからの表の削除

この項の内容は次のとおりです。

DATASTORE要素の一部としてレプリケートされる表の削除

DATASTOREレベルでレプリケーション・スキームに含まれている表を削除するには、次のタスクを実行します。

  1. レプリケーション・エージェントを停止します。
  2. レプリケーション・スキームのDATASTORE要素から表を除外します。
  3. 表を削除します。
  4. その表が含まれているDATASTORE要素が複数存在する場合は、その表を削除する前に各要素からその表を除外する必要があります。

例6.7

my.rep1レプリケーション・スキームのds1 DATASTORE要素からmy.tab1表を除外します。その後、表を削除します。

ALTER REPLICATION my.rep1 
  ALTER ELEMENT ds1 DATASTORE 
     EXCLUDE TABLE my.tab1; 
DROP TABLE my.tab1; 

TABLE要素としてレプリケートされる表の削除

TABLEレベルでレプリケーション・スキームに含まれている表を削除するには、次のタスクを実行します。

  1. レプリケーション・エージェントを停止します。
  2. 要素をレプリケーション・スキームから削除します。
  3. 表を削除します。
例6.8

my.rep1レプリケーション・スキームからds1要素を削除します。その後、my.tab1表を削除します。

ALTER REPLICATION my.rep1 
  DROP ELEMENT ds1; 
DROP TABLE my.tab1; 

サブスクライバ・データ・ストアの作成および追加

レプリケーション・エージェントの実行中は、新しいサブスクライバ・データ・ストアを追加できます。データ・ストアをレプリケーション・スキームに追加するには、次のタスクを実行します。

  1. 新しいデータ・ストアが存在しないことを確認します。
  2. 関連するすべてのデータ・ストアに適切な文を適用します。
  3.          ALTER REPLICATION ... 
                  ALTER ELEMENT ... 
                      ADD SUBSCRIBER ... 
    
  4. ttRepAdmin -duplicateコマンドを実行し、新しく作成したサブスクライバにマスター・データ・ストアの内容をコピーします。-setMasterRepStartオプションを使用すると、複製処理後にマスターに対して行われた更新もサブスクライバにコピーできます。
  5. 新しく作成したデータ・ストアでレプリケーション・エージェントを起動します(ttAdmin -repStart)。
例6.9

この例では、repl.r1レプリケーション・スキームを変更して、追加のサブスクライバ(backup3)をwestleads表に追加します(前述の手順2)。

ALTER REPLICATION repl.r1 
  ALTER ELEMENT elem_westleads 
      ADD SUBSCRIBER backup3 ON "backupserver"; 

サブスクライバ・データ・ストアの削除

サブスクライバ・データ・ストアを削除する前に、レプリケーション・エージェントを停止します。

この例では、repl.r1レプリケーション・スキーム変更して、westleads表のbackup3サブスクライバを削除します。

例6.10
ALTER REPLICATION repl.r1 
   ALTER ELEMENT elem_westleads 
      DROP SUBSCRIBER backup3 ON "backupserver"; 

TABLE要素名の変更

TABLE要素名を変更する前に、レプリケーション・エージェントを停止します。

westleads表の要素名をelem_westleadsからnewelnameに変更します。

例6.11
ALTER REPLICATION repl.r1 
   ALTER ELEMENT Eelem_westleads 
      SET NAME newelname; 
注意: SET NAME句を使用して、DATASTORE要素の名前を変更することはできません。

マスター・データ・ストアの交換

マスター・データ・ストアを交換する前に、レプリケーション・エージェントを停止します。

この例では、現在はマスターとしてwestdsが設定されているすべての要素に新しいマスターnewwestdsを設定します。

例6.12
ALTER REPLICATION repl.r1 
   ALTER ELEMENT * IN westds 
      SET MASTER newwestds; 

競合検出の無効化

この例では、例8.2に示されているスキームのcheck conflicts句で設定した競合検出を、elem_accounts_1表に対して無効にします。

例6.13
ALTER REPLICATION repl.r1 
   ALTER ELEMENT elem_accounts_1 
      SET NO CHECK; 
 

競合検出の詳細は、「レプリケーション競合の検出および解消」を参照してください。

RETURN RECEIPTサービスの無効化

この例では、例3.25に示されているスキームの最初のサブスクライバに対してRETURN RECEIPTサービスを無効にします。

例6.14
ALTER REPLICATION repl.r1 
   ALTER ELEMENT elem_waccounts 
      ALTER SUBSCRIBER eastds ON "eastcoast" 
         SET NO RETURN; 

ポート番号の変更

ポート番号とは、サブスクライバ・データ・ストアのレプリケーション・エージェントがマスター・レプリケーション・エージェントからの接続リクエストを受け入れるTCP/IPポート番号のことです。レプリケーション・エージェントへのポートの割当て方法の詳細は、「動的ポート割当ておよび静的ポート割当て」を参照してください。

この例では、repl.r1レプリケーション・スキームを変更して、eastdsデータ・ストアのポート番号を22251に変更します。

例6.15
ALTER REPLICATION repl.r1 
   ALTER STORE eastds ON "eastcoast"  
     SET PORT 22251;