ALTER REPLICATION
この文は、TimesTen Scaleoutではサポートされていません。
TimesTen Classicの場合:
ALTER REPLICATION文では、レプリケーション要素の追加、変更、削除を行い、クラシック・レプリケーション・スキームに関連するデータベースのレプリケーション属性を変更します。
ほとんどのALTER REPLICATION処理は、レプリケーション・エージェントが停止している場合(ttAdmin -repStop)にのみサポートされます。ただし、レプリケーション・エージェントの実行中にサブスクライバ・データベースをレプリケーション・スキームに動的に追加することは可能です。詳細は、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』の「クラシック・レプリケーション・スキームの変更」を参照してください。
必要な権限
ADMIN
TimesTen Scaleoutでの使用
この文は、TimesTen Scaleoutではサポートされていません。
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[,...]] | 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 | 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 } [...]
パラメータ
| パラメータ | 説明 |
|---|---|
|
|
クラシック・レプリケーション・スキームに割り当てる名前です。 |
|
|
新しい要素を既存のクラシック・レプリケーション・スキームに追加します。 要素が |
|
|
新しい
要素が順序の場合、 |
|
|
追加のサブスクライバ・データベースを指定します。 |
|
|
この構文を一連の要素名に使用すると、次の操作を実行できます。
変更されるデータベースの一部に |
|
|
サブスクライバが追加または削除される要素の名前です。 |
|
|
|
|
|
要素が順序の場合、 |
|
|
RETURN RECEIPTサービスを有効化、無効化または変更するように、サブスクライバ・データベースを変更します。 |
|
|
データベース間で |
|
|
レプリケートされた通信量を圧縮して、ネットワークの帯域幅の量を削減します。 |
|
|
競合解消のレポートを一時停止します。
この句は、表レベルのレプリケーションで有効です。 |
|
|
競合解消のレポートを再開します。
この句は、表レベルのレプリケーションで有効です。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
指定したサブスクライバ・データベースに更新が送信されないように指定します。この処理は、クラシック・レプリケーション・スキームの持つサブスクライバが1つのみの場合に失敗します。 |
|
|
サブスクライバ・データベースのために累積できるログ・ファイルの数。この値を超えると、サブスクライバは 0を指定すると、この上限は設定されません。これがデフォルトです。 詳細は、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』の「トランザクション・ログ障害しきい値の設定」を参照してください。 |
|
|
次のいずれかとして指定されたデータベースです。
たとえば、データベースのパスが この名前は、DSNの記述の
|
|
|
タイムアウト・イベントの
この設定は、 |
|
|
アプリケーションで特定の要素が更新されるデータベース。更新は |
|
|
RETURNサービスを使用しないように指定します。これがデフォルトです。 RETURNサービスの使用の詳細は、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』の「RETURNサービスの使用」を参照してください。 |
|
|
このデータベースのレプリケーション・エージェントが接続をリスニングするTCP/IPポート番号です。指定しない場合は、レプリケーション・エージェントによってポート番号が自動的に割り当てられます。 相互にレプリケートするすべてのTimesTenデータベースで、同じポート番号を使用する必要があります。 |
|
|
レプリケートされた更新を受け取って他のデータベースに渡すデータベース。 |
|
|
|
|
|
RETURN RECEIPTサービスを有効にし、これによって、マスター・データベースに対してトランザクションをコミットするアプリケーションは、すべてのサブスクライバがトランザクションを受信するまでブロックされます。
|
|
|
レプリケーションが無効になっている場合のRETURNサービスのオンまたはオフを設定します。
|
|
|
RETURN TWOSAFEサービスを有効にし、これによって、マスター・データベースに対してトランザクションをコミットするアプリケーションは、すべてのサブスクライバがトランザクションをコミットするまでブロックされます。
|
|
|
RETURNサービスの応答を待機する秒数を指定します。デフォルト値は10秒です。値が0(ゼロ)の場合は、タイムアウトがないことを意味します。 |
|
|
任意のデータベースを任意の要素の |
|
|
|
|
|
サブスクライバで実行される表定義チェックの種類を指定します。
デフォルトは ノート: |
|
|
レプリケーション・エージェントがリモート・レプリケーション・エージェントからの応答を待機する最大時間(秒)。デフォルトは120秒です。 ノート: リモート・レプリケーション・エージェントからの応答の遅延の原因となる大規模なトランザクションの場合、エージェントは、トランザクションのサイズに基づいて、必要に応じてタイムアウトを次第に大きい値にスケーリングします。大規模なトランザクションに対して |
|
|
レプリケーション・スキームに 複数回指定できます。
|
|
|
クラシック・レプリケーション・スキームから 複数回指定できます。
|
|
|
句は複数回指定できます。 |
|
|
1から99の整数で表される変数。IPアドレスの優先順位を示します。整数値が小さいほど、優先度は高くなります。同じ優先度を持つアドレスが複数指定されている場合は、エラーが返されます。ピア接続の確立に使用する複数のIPアドレスの順序を制御します。
|
説明
-
ALTER ELEMENT DROP SUBSCRIBERは、特定のレプリケーション要素のサブスクライバを削除します。 -
レプリケーション要素の名前が、別のデータベースにすでに定義されているレプリケーション要素の名前と競合する場合は、
ALTER ELEMENT SET NAMEを使用してレプリケーション要素の名前を変更できます。SET NAMEでは* INFullStoreNameは使用できません。FullStoreNameは、データベースのファイルの基本名である必要があります。たとえば、データベースのファイル名がdata.ds0の場合、ファイルの基本名はdataになります。 -
ALTER ELEMENT SET MASTERを使用して、レプリケーション要素のマスター・データベースを変更できます。MASTER操作には、* INFullStoreNameオプションを使用する必要があります。つまり、マスター・データベースは、そのレプリケーション要素すべての所有権を送信して、マスター・ロールを完全に放棄する必要があります。通常、このオプションは、(共通の)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文を実行します。ノート:
ALTER ELEMENT DROP MASTERという文はありません。各レプリケーション要素のMASTERデータベースは1つのみである必要があり、現在指定されているMASTERはレプリケーション・スキームから削除できません。 -
NetworkOperation句を使用する前に、レプリケーション・エージェントを停止してください。 -
次のレプリケーション・スキームは
ALTER REPLICATION文で変更できません。-
アクティブ・スタンバイ・ペア。かわりに、
ALTER ACTIVE STANDBY PAIRを使用します。 -
クラスタウェア管理のアクティブ・スタンバイ・ペア。かわりに、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』の「スキーマの変更」で説明されているタスクを実行します。
-
例
この例では、データベース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;
この例では、ds1データベースをmy.rep1レプリケーション・スキームに追加します。データベースにmy.tab2表を含めます。
ALTER REPLICATION my.rep1 ADD ELEMENT ds1 DATASTORE MASTER rep2 SUBSCRIBER rep1, rep3 INCLUDE TABLE my.tab2;
この例では、ds2データベースをレプリケーション・スキームに追加しますが、my.tab1表は除外されます。
ALTER REPLICATION my.rep1 ADD ELEMENT ds2 DATASTORE MASTER rep2 SUBSCRIBER rep1 EXCLUDE TABLE my.tab1;
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";
関連項目
ALTER ACTIVE STANDBY PAIRCREATE ACTIVE STANDBY PAIRCREATE REPLICATIONDROP ACTIVE STANDBY PAIRDROP REPLICATION
データベースから表を削除するには、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』の「クラシック・レプリケーション・スキームでのレプリケートされた表の変更」を参照してください。