ALTER REPLICATIONを使用して、マスターおよびサブスクライバのデータ・ストアのレプリケーション・スキームを変更することができます。また、マスター・データ・ストアに対する変更は、そのサブスクライバに対しても行う必要があります。
ALTER REPLICATIONを使用してDATASTORE要素を指定するレプリケーション・スキームを変更する場合は、次のことに注意してください。
ほとんどのALTER REPLICATION処理は、レプリケーション・エージェントが停止している場合(ttAdmin -repStop)にのみサポートされます。ただし、レプリケーション・エージェントの実行中にデータ・ストアをレプリケーション・スキームに動的に追加することは可能です(「サブスクライバ・データ・ストアの作成および追加」を参照)。
レプリケーション・エージェントを停止する必要があるALTER REPLICATION処理の手順は、次のとおりです。
この項の内容は次のとおりです。
既存のレプリケーション・スキームに表を追加するには、次の2つの方法があります。
この例では、例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";
my.tab1表をmy.rep1レプリケーション・スキームのds1 DATASTORE要素に追加します。
既存のレプリケーション・スキームのDATASTORE要素に、キャッシュ・グループを追加できます。ALTER ELEMENT句およびINCLUDE CACHE GROUP句を指定してALTER REPLICATION文を使用します。
my.cg1キャッシュ・グループをmy.rep1レプリケーション・スキームのds1 DATASTORE要素に追加します。
ADD ELEMENT句を指定してALTER REPLICATION文を使用すると、既存のレプリケーション・スキームにDATASTORE要素を追加できます。INCLUDEまたはEXCLUDE句を使用しない場合、一時表を除くすべての表、マテリアライズド・ビューまたは非マテリアライズド・ビューがデータ・ストアに含まれます。「DATASTORE要素追加時の表またはキャッシュ・グループの挿入」および「DATASTORE要素追加時の表またはキャッシュ・グループの除外」を参照してください。
既存のレプリケーション・スキームにDATASTORE要素を追加します。
既存のレプリケーション・スキームにデータ・ストアを追加する場合は、特定の表およびキャッシュ・グループのみを含めることができます。ADD ELEMENT句およびINCLUDE TABLE句またはINCLUDE CACHE GROUP句を指定してALTER REPLICATION文を使用します。同じALTER REPLICATION文のオブジェクト・タイプ(表およびキャッシュ・グループ)ごとに1つのINCLUDE句を使用できます。
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要素を追加する場合は、表またはキャッシュ・グループを除外できます。ADD ELEMENT句およびEXCLUDE TABLE句またはEXCLUDE CACHE GROUP句を指定してALTER REPLICATION文を使用します。同じALTER REPLICATION文のオブジェクト・タイプ(表およびキャッシュ・グループ)ごとに1つのEXCLUDE句を使用できます。
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レベルでレプリケーション・スキームに含まれている表を削除するには、次のタスクを実行します。
my.rep1レプリケーション・スキームのds1 DATASTORE要素からmy.tab1表を除外します。その後、表を削除します。
TABLEレベルでレプリケーション・スキームに含まれている表を削除するには、次のタスクを実行します。
my.rep1レプリケーション・スキームからds1要素を削除します。その後、my.tab1表を削除します。
レプリケーション・エージェントの実行中は、新しいサブスクライバ・データ・ストアを追加できます。データ・ストアをレプリケーション・スキームに追加するには、次のタスクを実行します。
この例では、repl.r1レプリケーション・スキームを変更して、追加のサブスクライバ(backup3)をwestleads表に追加します(前述の手順2)。
サブスクライバ・データ・ストアを削除する前に、レプリケーション・エージェントを停止します。
この例では、repl.r1レプリケーション・スキーム変更して、westleads表のbackup3サブスクライバを削除します。
TABLE要素名を変更する前に、レプリケーション・エージェントを停止します。
westleads表の要素名をelem_westleadsからnewelnameに変更します。
マスター・データ・ストアを交換する前に、レプリケーション・エージェントを停止します。
この例では、現在はマスターとしてwestdsが設定されているすべての要素に新しいマスターnewwestdsを設定します。
この例では、例8.2に示されているスキームのcheck conflicts句で設定した競合検出を、elem_accounts_1表に対して無効にします。
ALTER REPLICATION repl.r1 ALTER ELEMENT elem_accounts_1 SET NO CHECK;競合検出の詳細は、「レプリケーション競合の検出および解消」を参照してください。
この例では、例3.25に示されているスキームの最初のサブスクライバに対してRETURN RECEIPTサービスを無効にします。
ALTER REPLICATION repl.r1 ALTER ELEMENT elem_waccounts ALTER SUBSCRIBER eastds ON "eastcoast" SET NO RETURN;
ポート番号とは、サブスクライバ・データ・ストアのレプリケーション・エージェントがマスター・レプリケーション・エージェントからの接続リクエストを受け入れるTCP/IPポート番号のことです。レプリケーション・エージェントへのポートの割当て方法の詳細は、「動的ポート割当ておよび静的ポート割当て」を参照してください。
この例では、repl.r1レプリケーション・スキームを変更して、eastdsデータ・ストアのポート番号を22251に変更します。