ヘッダーをスキップ
Oracle TimesTen In-Memory Database SQLリファレンス・ガイド
リリース11.2.1
B56051-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

ALTER REPLICATION

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

{INCLUDE | EXCLUDE}

{TABLE [[Owner.]TableName [,...]]|

CACHE GROUP [[Owner.]CacheGroupName [,...]]|

SEQUENCE [[Owner.]SequenceName[,...]]} [,...]

新しい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属性で指定されるデータ・ストア・ファイル名です。

この構文を一連の要素名に使用すると、次の操作を実行できます。

  • サブスクライバの追加、変更、削除

  • 要素セットのMASTERまたはPROPAGATORのステータスの設定

変更するデータ・ストアにSEQUENCE要素が含まれる場合、その要素のRETURNサービスはこの文では変更されません。

ALTER ELEMENT ElementName サブスクライバが追加または削除される要素の名前です。
ALTER ELEMENT

ElementName1

SET NAME ElementName2

ElementName1ElementName2の名前に変更します。 TABLE型の要素の名前のみを変更できます。
ALTER ELEMENT ElementName

{INCLUDE|EXCLUDE}

{TABLE [Owner.]TableName |

CACHE GROUP [Owner.]CacheGroupName |

SEQUENCE [Owner.]SequenceName} [,...]

ElementNameは、変更する要素の名前です。

INCLUDEは、指定された表とキャッシュ・グループをデータ・ストアに追加します。INCLUDE句は、オブジェクト型(表またはキャッシュ・グループ)ごとに1つ使用します。

EXCLUDEは、指定された表とキャッシュ・グループをデータ・ストアから削除します。EXCLUDE句は、オブジェクト型(表、キャッシュ・グループまたは順序)ごとに1つ使用します。

要素が順序の場合、RETURN属性は適用されず、競合チェックはサポートされません。また、循環する順序はエラーを返します。

ALTER SUBSCRIBER FullStoreName

SET RETURN RECEIPT

[BY REQUEST]|NO RETURN

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 競合解消のレポートを一時停止します。

Valueは、負でない整数です。デフォルトは0(一時停止なし)です。競合のレポートは、競合の割合がValueを超えると一時的に停止されます。Valueを0に設定すると、競合のレポートの一時停止が無効になります。

この句は、表レベルのレプリケーションに使用します。

CONFLICT REPORTING RESUME AT Value 競合解消のレポートを再開します。

Valueは、負でない整数です。競合のレポートは、競合の割合がValueを下回ると再開されます。デフォルト値は1です。

この句は、表レベルのレプリケーションに使用します。

DISABLE RETURN {SUBSCRIBER | ALL} NumFailures NumFailuresで指定されているタイムアウト回数を経過した後、RETURNサービスのブロッキングを無効にするようにRETURNサービス障害ポリシーを設定します。SUBSCRIBERを選択すると、レプリケートされた更新を、指定されているタイムアウト期間内に確認できなかったサブスクライバのみにこのポリシーが適用されます。ALLを選択すると、いずれかのサブスクライバから応答がなかった場合、すべてのサブスクライバにこのポリシーが適用されます。この障害ポリシーは、RETURN RECEIPTまたはRETURN TWOSAFEサービスのいずれかで指定できます。

DISABLE RETURNを指定してRESUME RETURNを指定しなかった場合、データ・ストアのレプリケーション・エージェントが再起動されるまで、RETURNサービスは無効のままになります。

詳細は、『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 次のいずれかとして指定されるデータ・ストアです。
  • SELF

  • データ・ストア・ファイル名の接頭辞

たとえば、データ・ストアのパスがdirectory/subdirectory/data.ds0の場合、dataがデータ・ストア名です。

この名前は、DSNの記述のDataStore属性で指定されるデータ・ストア・ファイル名で、オプションでホストIDを次の書式で指定できます。

DataStoreName [ON Host]

HostにはIPアドレスまたは1つ以上のIPアドレスに割り当てられたリテラルのホスト名を指定できます。詳細は、『Oracle TimesTen In-Memory Database TimesTen to TimesTen開発者および管理者ガイド』のホストIPアドレスの構成に関する説明を参照してください。ホスト名に特殊文字が含まれている場合は、二重引用符で囲む必要があります。例: "MyHost-500"

LOCAL COMMIT ACTION

{NO ACTION | COMMIT}

タイムアウト・イベントのRETURN TWOSAFEトランザクションで実行されるデフォルトのアクションを指定します。

NO ACTION: タイムアウト時、コミット関数がアプリケーションに戻り、トランザクションはコミット・コールに入ったときと同じ状態のままになります。ただし、アプリケーションがレプリケートされた表を更新できない場合を除きます。アプリケーションはコミットの再発行のみを行うことができます。トランザクションはロールバックされない場合があります。この設定がデフォルトです。

COMMIT: タイムアウト時、コミット関数はCOMMITを実行して、トランザクションをローカルに終了しようとします。同じトランザクション上でこれ以上の処理を行うことはできません。

この設定は、localActionパラメータを指定してttRepSyncSetプロシージャをコールすることで、特定のトランザクションに対して無効にすることができます。

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で指定された時間よりも短い間隔でレプリケートされた更新を確認するとすぐに有効になります。

DISABLE RETURNを指定してRESUME RETURNを指定しなかった場合、データ・ストアのレプリケーション・エージェントが再起動されるまで、RETURNサービスは無効のままになります。

RETURN RECEIPT [BY REQUEST] RETURN RECEIPTサービスを有効にします。これによって、マスター・データ・ストアに対してトランザクションをコミットするアプリケーションは、すべてのサブスクライバがトランザクションを受信するまでブロックされます。

RETURN RECEIPTにより、すべてのトランザクションにサービスが適用されます。 RETURN RECEIPT BY REQUESTを指定した場合は、ttRepSyncSetプロシージャを使用して、選択したトランザクションに対してRETURN RECEIPTサービスを有効にできます。RETURNサービスの使用の詳細は、『Oracle TimesTen In-Memory Database TimesTen to TimesTen開発者および管理者ガイド』のRETURNサービスの使用に関する説明を参照してください。

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を指定した場合は、ttRepSyncSetプロシージャを使用して、選択したトランザクションに対してRETURN RECEIPTサービスを有効にできます。RETURNサービスの使用の詳細は、『Oracle TimesTen In-Memory Database TimesTen to TimesTen開発者および管理者ガイド』のRETURNサービスの使用に関する説明を参照してください。

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} サブスクライバで実行される表定義チェックの種類を指定します。
  • EXACT: 表は、マスターとサブスクライバとで同一である必要があります。

  • RELAXED: 表は、キー定義、列の数および列のデータ型が同じである必要があります。

デフォルトはEXACTです。

TIMEOUT Seconds メッセージを再送信する前に、データ・ストアが別のデータ・ストアからの応答を待機する時間。デフォルト値は120秒です。
ADD ROUTE MASTER FullStoreName SUBSCRIBER FullStoreName NetworkOperationをレプリケーション・スキームに追加します。各サブスクライバ・ストアへのすべてのアウトバウンド接続に対してマスター・ストアが使用するネットワーク・インタフェースを制御できます。

複数回指定できます。

FullStoreNameには、ON "host"を指定する必要があります。

DROP ROUTE MASTER FullStoreName SUBSCRIBER FullStoreName レプリケーション・スキームからNetworkOperationを削除します。

複数回指定できます。

FullStoreNameには、ON "host"を指定する必要があります。

MASTERIP MasterHost | SUBSCRIBERIP SubscriberHost MasterHostおよびSubscriberHostは、マスターおよびサブスクライバ・ストアのネットワーク・インタフェースのIPアドレスです。 IPV6のドット表記または正規形式で指定するか、あるいはコロン表記で指定します。

句は複数回指定できます。ADDおよびDROP ROUTE MASTERの両方に対して有効です。

PRIORITY Priority 1から99の整数で表される変数。IPアドレスの優先順位を示します。整数値が小さいほど、優先度は高くなります。同じ優先度を持つアドレスが複数指定されている場合は、エラーが返されます。 ピア接続の確立に使用する複数のIPアドレスの順序を制御します。

NetworkOperation句の構文で必須です。MASTERIP MasterHost | SUBSCRIBERIP SubscriberHost句の後ろに記述します。


説明

マスター要素の所有権をサブスクライバに送信するには、次の手順を実行します。

この例では、データ・ストア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";

関連項目


「ALTER ACTIVE STANDBY PAIR」
「CREATE ACTIVE STANDBY PAIR」
「CREATE REPLICATION」
「DROP ACTIVE STANDBY PAIR」
「DROP REPLICATION」

データ・ストアから表を削除する場合は、『Oracle TimesTen In-Memory Database TimesTen to TimesTen開発者および管理者ガイド』のレプリケートされた表の変更に関する説明を参照してください。