ALTER REPLICATION文では、レプリケーション要素の追加、変更、削除を行い、関連するデータ・ストアのレプリケーション属性を変更します。
ほとんどのALTER REPLICATIONの処理は、レプリケーション・エージェントが停止している場合(ttAdmin
-repStop
)にのみサポートされます。ただし、レプリケーション・エージェントの実行中にサブスクライバ・データ・ストアをレプリケーション・スキームに追加することは可能です。 詳細は、『Oracle TimesTen In-Memory Database TimesTen to TimesTen開発者および管理者ガイド』のレプリケーションの変更に関する説明を参照してください。
必要な権限
ADMIN
SQL構文
ALTER REPLICATION文の構文は、次のとおりです。
ALTER REPLICATION [Owner.]ReplicationSchemeName ElementOperation [...] | StoreOperation | NetworkOperation [...]
ElementOperation
を1回以上指定します。
ADD ELEMENT ElementName {DATASTORE | {TABLE [Owner.]TableName [CheckConflicts]} | SEQUENCE [Owner.]SequenceName} { MASTER | PROPAGATOR } FullStoreName { SUBSCRIBER FullStoreName [, … ] [ReturnServiceAttribute] } [ … ] } { INCLUDE | EXCLUDE }{TABLE [[Owner.]TableName[,...]] | CACHE GROUP [[Owner.]CacheGroupName[,...]]| SEQUENCE [[Owner.]SequenceName[,...]]}[,...] ALTER ELEMENT { ElementName | * IN FullStoreName] ADD SUBSCRIBER FullStoreName [,...[ReturnServiceAttribute] | ALTER SUBSCRIBER FullStoreName [, …] | SET [ReturnServiceAttribute] | DROP SUBSCRIBER FullStoreName [, … ] ALTER ELEMENT * IN FullStoreName SET { MASTER | PROPAGATOR } FullStoreName ALTER ELEMENT ElementName {SET NAME NewElementName | SET CheckConflicts} ALTER ELEMENT ElementName { INCLUDE | EXCLUDE }{TABLE [Owner.]TableName | CACHE GROUP [Owner.]CacheGroupName | SEQUENCE [Owner.]SequenceName}[,...] DROP ELEMENT { ElementName | * IN FullStoreName }
CheckConflicts
は、TABLE要素をレプリケートした場合にのみ設定できます。 構文の詳細は、「CHECK CONFLICTS」を参照してください。
ReturnServiceAttribute
の構文は、次のとおりです。
{ RETURN RECEIPT [BY REQUEST] | NO RETURN }
StoreOperation
句:
ADD STORE FullStoreName [StoreAttribute [… ]] ALTER STORE FullStoreName SET StoreAttribute [… ]
StoreAttribute
の構文は、次のとおりです。
[DISABLE RETURN {SUBSCRIBER | ALL} NumFailures] [RETURN SERVICES {ON | OFF} WHEN [REPLICATION] STOPPED] [DURABLE COMMIT {ON | OFF}] [RESUME RETURN MilliSeconds ] [LOCAL COMMIT ACTION {NO ACTION| COMMIT}] [RETURN WAIT TIME Seconds] [COMPRESS TRAFFIC {ON | OFF} ] [PORT PortNumber ] [TIMEOUT Seconds ] [FAILTHRESHOLD Value] [CONFLICT REPORTING SUSPEND AT Value ] [CONFLICT REPORTING RESUME AT Value ] [TABLE DEFINITION CHECKING {EXACT|RELAXED}]
NetworkOperation
を1回以上指定します。
ADD ROUTE MASTER FullStoreName SUBSCRIBER FullStoreName { { MASTERIP MasterHost | SUBSCRIBERIP SubscriberHost } PRIORITY Priority } [...] DROP ROUTE MASTER FullStoreName SUBSCRIBER FullStoreName { MASTERIP MasterHost | SUBSCRIBERIP SubscriberHost } [...]
パラメータ
ALTER REPLICATION文には、次のパラメータがあります。
パラメータ | 説明 |
---|---|
[ Owner .] ReplicationSchemeName |
レプリケーション・スキームに割り当てる名前です。 |
ADD ELEMENT ElementName |
新しいELEMENTを既存のレプリケーション・スキームに追加します。ElementName は、30文字以下の識別子です。DATASTORE要素を使用する場合、ElementName の最初の20字を、他のDATASTORE要素名に対して一意にする必要があります。
ELEMENTがDATASTOREの場合、すべての表とキャッシュ・グループがデータ・ストアに含まれます。データ・ストアの一部にSEQUENCE要素が含まれる場合、その要素のRETURNサービスはこの文では変更されません。 |
ADD ELEMENT ElementName DATASTORE
|
新しいDATASTORE ELEMENTを既存のレプリケーション・スキームに追加します。ElementName は、30文字以下の識別子です。DATASTORE要素を使用する場合、ElementName の最初の20字を、他のDATASTORE要素名に対して一意にする必要があります。
INCLUDEは、指定された表とキャッシュ・グループのみをデータ・ストアに含めます。INCLUDE句は、オブジェクト型(表、キャッシュ・グループまたは順序)ごとに1つ使用します。 EXCLUDEは、指定された表、キャッシュ・グループおよび順序を除外して、すべての表とキャッシュ・グループをデータ・ストアに含めます。EXCLUDE句は、オブジェクト型(表、キャッシュ・グループまたは順序)ごとに1つ使用します。 要素が順序の場合、RETURN属性は適用されず、競合チェックはサポートされません。また、循環する順序はエラーを返します。 |
ADD SUBSCRIBER FullStoreName |
追加のサブスクライバ・データ・ストアを指定します。FullStoreName は、DSNの記述のDataStore 属性で指定されるデータ・ストア・ファイル名です。 |
ALTER ELEMENT * IN FullStoreName |
FullStoreName がMASTERまたはPROPAGATORであるすべての要素を変更します。FullStoreName は、DSNの記述のDataStore 属性で指定されるデータ・ストア・ファイル名です。
この構文を一連の要素名に使用すると、次の操作を実行できます。
変更するデータ・ストアにSEQUENCE要素が含まれる場合、その要素のRETURNサービスはこの文では変更されません。 |
ALTER ELEMENT ElementName |
サブスクライバが追加または削除される要素の名前です。 |
ALTER ELEMENT
|
ElementName1 をElementName2 の名前に変更します。 TABLE型の要素の名前のみを変更できます。 |
ALTER ELEMENT ElementName
|
ElementName は、変更する要素の名前です。
INCLUDEは、指定された表とキャッシュ・グループをデータ・ストアに追加します。INCLUDE句は、オブジェクト型(表またはキャッシュ・グループ)ごとに1つ使用します。 EXCLUDEは、指定された表とキャッシュ・グループをデータ・ストアから削除します。EXCLUDE句は、オブジェクト型(表、キャッシュ・グループまたは順序)ごとに1つ使用します。 要素が順序の場合、RETURN属性は適用されず、競合チェックはサポートされません。また、循環する順序はエラーを返します。 |
ALTER SUBSCRIBER FullStoreName
|
RETURN RECEIPTサービスを有効化、無効化または変更するように、サブスクライバ・データ・ストアを変更します。FullStoreName は、DSNの記述のDataStore 属性で指定されるデータ・ストア・ファイル名です。 |
CheckConflicts |
データ・ストア間でTABLE要素を双方向にレプリケートするための同時書込みで、レプリケーションの競合をチェックします。DATASTORE型の要素をレプリケートする場合は、競合をチェックできません。 「CHECK CONFLICTS」を参照してください。 |
COMPRESS TRAFFIC {ON | OFF} |
レプリケートされた通信量を圧縮して、ネットワークの帯域幅の量を削減します。ONは、STOREで定義されたデータ・ストアに対してレプリケートされた通信量をすべて圧縮するように指定します。OFF(デフォルト)は、通信量を圧縮しないように指定します。 詳細は、『Oracle TimesTen In-Memory Database TimesTen to TimesTen開発者および管理者ガイド』のレプリケートされた通信量の圧縮に関する説明を参照してください。 |
CONFLICT REPORTING SUSPEND AT Value |
競合解消のレポートを一時停止します。
この句は、表レベルのレプリケーションに使用します。 |
CONFLICT REPORTING RESUME AT Value |
競合解消のレポートを再開します。
この句は、表レベルのレプリケーションに使用します。 |
DISABLE RETURN {SUBSCRIBER | ALL} NumFailures |
NumFailures で指定されているタイムアウト回数を経過した後、RETURNサービスのブロッキングを無効にするようにRETURNサービス障害ポリシーを設定します。SUBSCRIBERを選択すると、レプリケートされた更新を、指定されているタイムアウト期間内に確認できなかったサブスクライバのみにこのポリシーが適用されます。ALLを選択すると、いずれかのサブスクライバから応答がなかった場合、すべてのサブスクライバにこのポリシーが適用されます。この障害ポリシーは、RETURN RECEIPTまたはRETURN TWOSAFEサービスのいずれかで指定できます。
詳細は、『Oracle TimesTen In-Memory Database TimesTen to TimesTen開発者および管理者ガイド』のRETURNサービスのタイムアウト・エラーおよびレプリケーション状態の変更の管理に関する説明を参照してください。 |
DURABLE COMMIT {ON | OFF} |
DISABLE RETURNによりRETURNサービスのブロッキングが無効になった場合、データ・ストアのDurableCommits 設定を上書きし、永続コミットを有効にします。 |
DROP ELEMENT * IN FullStoreName |
FullStoreName がMASTERであるすべての要素のレプリケーションの記述を削除します。FullStoreName は、DSNの記述のDataStore 属性で指定されるデータ・ストア・ファイル名です。 |
DROP ELEMENT ElementName |
ElementName のレプリケーションの記述を削除します。 |
DROP SUBSCRIBER FullStoreName |
指定したサブスクライバ・データ・ストアに更新が送信されないように指定します。この処理は、レプリケーション・スキームの持つサブスクライバが1つのみの場合に失敗します。FullStoreName は、DSNの記述のDataStore 属性で指定されるデータ・ストア・ファイル名です。 |
FAILTHRESHOLD Value |
サブスクライバ・データ・ストアのために累積できるログ・ファイルの数。この値を超えると、サブスクライバはFailedの状態に設定されます。
値0は、制限がないことを示します。この設定がデフォルトです。 詳細は、『Oracle TimesTen In-Memory Database TimesTen to TimesTen開発者および管理者ガイド』のログ障害しきい値の設定に関する説明を参照してください。 |
FullStoreName |
次のいずれかとして指定されるデータ・ストアです。
たとえば、データ・ストアのパスが この名前は、DSNの記述の
|
LOCAL COMMIT ACTION
|
タイムアウト・イベントのRETURN TWOSAFEトランザクションで実行されるデフォルトのアクションを指定します。
この設定は、 |
MASTER FullStoreName |
アプリケーションで特定のELEMENTが更新されるデータ・ストア。MASTERデータ・ストアによって、更新がSUBSCRIBERデータ・ストアに送信されます。FullStoreName は、DSNの記述のDataStore 属性で指定されるデータ・ストア・ファイル名です。 |
NO RETURN |
RETURNサービスを使用しないように指定します。この設定がデフォルトです。
RETURNサービスの使用の詳細は、『Oracle TimesTen In-Memory Database TimesTen to TimesTen開発者および管理者ガイド』のRETURNサービスの使用に関する説明を参照してください。 |
PORT PortNumber |
このデータ・ストアのレプリケーション・エージェントが接続をリスニングするTCP/IPポート番号です。指定しない場合は、レプリケーション・エージェントによってポート番号が自動的に割り当てられます。
相互にレプリケートするすべてのTimesTenデータ・ストアで、同じポート番号を使用する必要があります。 |
PROPAGATOR FullStoreName |
レプリケートされた更新を受け取り、他のデータ・ストアに渡すデータ・ストア。 |
RESUME RETURN MilliSeconds |
DISABLE RETURNによってRETURNサービスのブロッキングが無効になった場合、この属性によって、RETURNサービスのブロッキングを再度有効にするタイミングに関するポリシーを設定します。RETURNサービスのブロッキングは、障害が発生したサブスクライバが、MilliSeconds で指定された時間よりも短い間隔でレプリケートされた更新を確認するとすぐに有効になります。
|
RETURN RECEIPT [BY REQUEST] |
RETURN RECEIPTサービスを有効にします。これによって、マスター・データ・ストアに対してトランザクションをコミットするアプリケーションは、すべてのサブスクライバがトランザクションを受信するまでブロックされます。
RETURN RECEIPTにより、すべてのトランザクションにサービスが適用されます。 RETURN RECEIPT BY REQUESTを指定した場合は、 |
RETURN SERVICES {ON | OFF} WHEN [REPLICATION] STOPPED |
レプリケーション・エージェントが停止または一時停止の状態の場合に、RETURNサービスのブロッキングが有効または無効のいずれかになるように、RETURNサービス障害ポリシーを設定します。
OFFは、RETURN RECEIPTサービスを使用する場合のデフォルトです。ONは、RETURN TWOSAFEサービスを使用する場合のデフォルトです。 詳細は、『Oracle TimesTen In-Memory Database TimesTen to TimesTen開発者および管理者ガイド』のRETURNサービスのタイムアウト・エラーおよびレプリケーション状態の変更の管理に関する説明を参照してください。 |
RETURN TWOSAFE [BY REQUEST] |
RETURN TWOSAFEサービスを有効にします。これによって、マスター・データ・ストアに対してトランザクションをコミットするアプリケーションは、すべてのサブスクライバがトランザクションをコミットするまでブロックされます。
RETURN TWOSAFEにより、すべてのトランザクションにサービスが適用されます。RETURN TWOSAFE BY REQUESTを指定した場合は、 |
RETURN WAIT TIME Seconds |
RETURNサービスの応答を待機する時間(秒)を指定します。デフォルト値は10秒です。 値0はタイムアウトがないことを意味します。 ttRepSyncSet プロシージャにreturnWait パラメータを設定してアプリケーションからコールすることによって、このタイムアウト設定を上書きできます。 |
SET {MASTER | PROPAGATOR} FullStoreName |
任意のデータ・ストアを任意の要素のMASTERまたはPROPAGATORに設定します。FullStoreName は、データ・ストアのファイルの基本名である必要があります。 |
SUBSCRIBER FullStoreName |
MASTERデータ・ストアから更新を受け取るデータ・ストア。FullStoreName は、DSNの記述のDataStore 属性で指定されるデータ・ストア・ファイル名です。 |
TABLE DEFINITION CHECKING {EXACT|RELAXED} |
サブスクライバで実行される表定義チェックの種類を指定します。
デフォルトは |
TIMEOUT Seconds |
メッセージを再送信する前に、データ・ストアが別のデータ・ストアからの応答を待機する時間。デフォルト値は120秒です。 |
ADD ROUTE MASTER FullStoreName SUBSCRIBER FullStoreName |
NetworkOperation をレプリケーション・スキームに追加します。各サブスクライバ・ストアへのすべてのアウトバウンド接続に対してマスター・ストアが使用するネットワーク・インタフェースを制御できます。
複数回指定できます。
|
DROP ROUTE MASTER FullStoreName SUBSCRIBER FullStoreName |
レプリケーション・スキームからNetworkOperation を削除します。
複数回指定できます。
|
MASTERIP MasterHost | SUBSCRIBERIP SubscriberHost |
MasterHost およびSubscriberHost は、マスターおよびサブスクライバ・ストアのネットワーク・インタフェースのIPアドレスです。 IPV6のドット表記または正規形式で指定するか、あるいはコロン表記で指定します。
句は複数回指定できます。ADDおよびDROP ROUTE MASTERの両方に対して有効です。 |
PRIORITY Priority |
1から99の整数で表される変数。IPアドレスの優先順位を示します。整数値が小さいほど、優先度は高くなります。同じ優先度を持つアドレスが複数指定されている場合は、エラーが返されます。 ピア接続の確立に使用する複数のIPアドレスの順序を制御します。
|
説明
レプリケーション要素の名前が別のデータ・ストアにすでに定義されているレプリケーション要素の名前と競合する場合は、ALTER ELEMENT SET NAMEを使用してレプリケーション要素の名前を変更できます。SET NAMEでは、* IN FullStoreName
は使用できません。FullStoreName
は、データ・ストアのファイルの基本名である必要があります。たとえば、データ・ストアのファイル名がdata.ds0
の場合、data
はファイルの基本名です。
ALTER ELEMENT SET MASTERは、レプリケーション要素のマスター・データ・ストアを変更する場合に使用できます。MASTERの処理に* IN FullStoreName
オプションを使用する必要があります。つまり、マスター・データ・ストアの、すべてのレプリケーション要素の所有権を送信する必要があります。結果的に、マスターのロールは完全に失われます。通常、このオプションは、(共通する)MASTERに障害が発生した場合に、SUBSCRIBERデータ・ストアが要求するALTER REPLICATION文で使用します。
マスター要素の所有権をサブスクライバに送信するには、次の手順を実行します。
レプリケートされた各表に対してALTER REPLICATION DROP ELEMENTを実行し、レプリケートされた要素を手動で削除します。
新しく指定したMASTER/SUBSCRIBERロールを付けてALTER REPLICATION ADD ELEMENTを使用して、各表をレプリケーション・スキームに追加します。
ALTER REPLICATION ALTER ELEMENT SET MASTERでは、以前のマスターを自動的にはサブスクライバとしてスキームに保持されません。保持する必要がある場合は、ALTER REPLICATION ALTER ELEMENT ADD SUBSCRIBER文を実行します。
NetworkOperation
句を使用する前に、レプリケーション・エージェントを停止してください。
例
この例では、データ・ストアwest
上で更新してデータ・ストアeast
にレプリケートする追加の表westleads
のレプリケートを設定します。
ALTER REPLICATION r1 ADD ELEMENT e3 TABLE westleads MASTER west ON "westcoast" SUBSCRIBER east ON "eastcoast";
この例では、表westleads
にサブスクライバ(backup
)を追加します。
ALTER REPLICATION r1 ALTER ELEMENT e3 ADD SUBSCRIBER backup ON "backupserver";
この例では、表westleads
の要素名をe3
からnewelementname
に変更します。
ALTER REPLICATION r1 ALTER ELEMENT e3 SET NAME newelementname;
この例では、現在のマスターwest
のすべての要素について、newwest
をマスターに指定します。
ALTER REPLICATION r1 ALTER ELEMENT * IN west SET MASTER newwest;
この要素は、east
のポート番号を変更します。
ALTER REPLICATION r1 ALTER STORE east ON "eastcoast" SET PORT 22251;
この例では、my.tab1
表をmy.rep1
レプリケーション・スキームのds1データ・ストア要素に追加します。
ALTER REPLICATION my.rep1 ALTER ELEMENT ds1 DATASTORE INCLUDE TABLE my.tab1;
この例では、my.cg1
キャッシュ・グループをmy.rep1
レプリケーション・スキームのds1
データ・ストアに追加します。
ALTER REPLICATION my.rep1 ALTER ELEMENT ds1 DATASTORE INCLUDE CACHE GROUP my.cg1;
この例では、ds1
データ・ストアをmy.rep1
レプリケーション・スキームに追加します。データ・ストアには、my.tab2
表、my.cg2
キャッシュ・グループおよびmy.cg3
キャッシュ・グループが含まれています。
ALTER REPLICATION my.rep1 ADD ELEMENT ds1 DATASTORE MASTER rep2 SUBSCRIBER rep1, rep3 INCLUDE TABLE my.tab2 INCLUDE CACHE GROUP my.cg2, my.cg3;
この例では、ds2
データ・ストアをレプリケーション・スキームに追加しますが、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;
NetworkOperation
句を追加します。
ALTER REPLICATION r ADD ROUTE MASTER rep1 ON "machine1" SUBSCRIBER rep2 ON "machine2" MASTERIP "1.1.1.1" PRIORITY 1 SUBSCRIBERIP "2.2.2.2" PRIORITY 1 MASTERIP "3.3.3.3" PRIORITY 2 SUBSCRIBERIP "4.4.4.4" PRIORITY 2;
NetworkOperation
句を削除します。
ALTER REPLICATION r DROP ROUTE MASTER repl ON "machine1" SUBSCRIBER rep2 ON "machine2" MASTERIP "1.1.1.1" SUBSCRIBERIP "2.2.2.2" MASTERIP "3.3.3.3" SUBSCRIBERIP "4.4.4.4";
関連項目
データ・ストアから表を削除する場合は、『Oracle TimesTen In-Memory Database TimesTen to TimesTen開発者および管理者ガイド』のレプリケートされた表の変更に関する説明を参照してください。