ヘッダーをスキップ

Oracle TimesTen In-Memory Database APIおよびSQLリファレンス・ガイド リリース6.0 B25770-01 |
| 目次 | 索引

前へ | 次へ |

## ALTER REPLICATION

ALTER REPLICATION文では、レプリケーション要素の追加、変更、削除を行い、関連するデータ・ストアのレプリケーション属性を変更します。

ほとんどのALTER REPLICATIONの処理は、レプリケーション・エージェントが停止している場合（ttAdmin -repStop）にのみサポートされます。ただし、レプリケーション・エージェントの実行中にサブスクライバ・データ・ストアをレプリケーション・スキームに追加することは可能です。詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のレプリケーションの変更に関する項を参照してください。

アクセス制御

TimesTenインスタンスでアクセス制御が有効な場合、この文にはADMIN権限が必要です。

SQL構文

ALTER REPLICATION文の構文は、次のとおりです。

ALTER REPLICATION [Owner.]ReplicationSchemeName
ElementOperation [...] | StoreOperation

1つ以上のElementOperationsを指定できます。

ADD ELEMENT ElementName
{ DATASTORE | { TABLE [Owner.]TableName [CheckConflicts]} |
SEQUENCE [Owner.]SequenceName}
{ MASTER | PROPAGATOR } FullStoreName
{ SUBSCRIBER FullStoreName [, ... ]
[ReturnServiceAttribute] } [ ... ] }

{ INCLUDE | EXCLUDE }{TABLE | CACHE GROUP | SEQUENCE } [Owner.]{TableName | CacheGroupName | 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 DATASTORE
{ INCLUDE | EXCLUDE }{TABLE | CACHE GROUP | SEQUENCE} [Owner.]{TableName | CacheGroupName | SequenceName} [,...]

DROP ELEMENT { ElementName | * IN FullStoreName }

CheckConflictsは、TABLE要素をレプリケートした場合にのみ設定できます。構文の詳細は、「CHECK CONFLICTS」を参照してください。

ReturnServiceAttributeの構文は、次のとおりです。

{ RETURN RECEIPT [BY REQUEST] | NO RETURN }

StoreOperationsに指定できる文は、次のとおりです。

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]
Parameters
ALTER REPLICATION文には、次のパラメータがあります。

[Owner.]ReplicationSchemeName | レプリケーション・スキームに割り当てられた名前です。
ADD ELEMENT ElementName | 新しいELEMENTを既存のレプリケーション・スキームに追加します。ElementNameは、最大30文字の識別子です。DATASTORE要素を使用する場合、ElementNameは、他のDATASTORE要素名に対して最初の20字以内が一意である必要があります。 ELEMENTがDATASTOREの場合、すべての表とキャッシュ・グループがデータ・ストアに含まれます。データ・ストアの一部にSEQUENCE要素が含まれる場合、その要素のRETURNサービスはこの文では変更されません。
ADD ELEMENT ElementName DATASTORE { INCLUDE | EXCLUDE } {TABLE | CACHE GROUP | SEQUENCE} [Owner.]{TableName | CacheGroupName | SequenceName} [,...] | 新しいDATASTORE ELEMENTを既存のレプリケーション・スキームに追加します。ElementNameは、最大30文字の識別子です。DATASTORE要素を使用する場合、ElementNameは、他のDATASTORE要素名に対して最初の20字以内が一意である必要があります。 INCLUDEは、指定された表とキャッシュ・グループのみをデータ・ストアに含めます。INCLUDE句は、オブジェクト型（表、キャッシュ・グループまたは順序）ごとに1つ使用します。 EXCLUDEは、指定された表、キャッシュ・グループおよび順序を除くすべての表とキャッシュ・グループをデータ・ストアに含めます。EXCLUDE句は、オブジェクト型（表、キャッシュ・グループまたは順序）ごとに1つ使用します。[Owner.]{TableName | CacheGroupName | SequenceName} [,...]は、DATASTORE ELEMENTに含有または除外する表名、キャッシュ・グループ名または順序名のリストです。オプションで所有者も指定できます。 要素が順序の場合、RETURN属性は適用されず、競合チェックはサポートされません。また、循環する順序はエラーを返します。
ADD SUBSCRIBER FullStoreName | 追加のサブスクライバ・データ・ストアを指定します。FullStoreNameは、DSNの記述のData Store Path and Name属性で指定されるデータ・ストア・ファイル名です。
ALTER ELEMENT * IN FullStoreName | FullStoreNameがMASTERまたはPROPAGATORであるすべての要素を変更します。FullStoreNameは、DSNの記述のData Store Path and Name属性で指定されるデータ・ストア・ファイル名です。 この構文を使用して一連の要素名に、次の操作を実行できます。 サブスクライバの追加、変更、削除 要素セットのMASTERまたはPROPAGATORのステータスの設定 変更するデータ・ストアにSEQUENCE要素が含まれる場合、その要素のRETURNサービスはこの文では変更されません。
ALTER ELEMENT ElementName | サブスクライバが追加または削除される要素の名前です。
ALTER ELEMENT ElementName1 SET NAME ElementName2 | ElementName1をElementName2の名前に変更します。TABLE型の要素の名前のみを変更できます。
ALTER ELEMENT ElementName DATASTORE { INCLUDE | EXCLUDE } {TABLE | CACHE GROUP | SEQUENCE } [Owner.]{TableName | CacheGroupName | SequenceName} [,...] | 既存のデータ・ストア要素の表やキャッシュ・グループを追加または削除します。 INCLUDEは、指定された表とキャッシュ・グループをデータ・ストアに追加します。各オブジェクト型（表またはキャッシュ・グループ）に対して1つのINCLUDE句を使用します。 EXCLUDEは、指定された表とキャッシュ・グループをデータ・ストアから削除します。各オブジェクト型（表、キャッシュ・グループまたは順序）に対して1つのEXCLUDE句を使用します。 [Owner.]{TableName | CacheGroupName | SequenceName} [,...]は、DATASTORE ELEMENTに対して追加または削除する、表名、キャッシュ・グループ名または順序名のリストです。オプションで所有者も指定できます。 要素が順序の場合、RETURN属性は適用されず、競合チェックはサポートされません。また、循環する順序はエラーを返します。
ALTER SUBSCRIBER FullStoreName SET RETURN RECEIPT [BY REQUEST] | NO RETURN | RETURN RECEIPTサービスを有効化、無効化または変更するように、サブスクライバ・データ・ストアを変更します。FullStoreNameは、DSNの記述のData Store Path and Name属性で指定されるデータ・ストア・ファイル名です。
CheckConflicts | データ・ストア間でTABLE要素を双方向レプリケートするための同時書込みで、レプリケーションの競合をチェックします。DATASTORE型の要素をレプリケートする場合は、競合をチェックできません。「CHECK CONFLICTS」を参照してください。
COMPRESS TRAFFIC {ON | OFF} | レプリケートされた通信量を圧縮して、ネットワークの帯域幅の量を削減します。ONは、STOREで定義されたデータ・ストアに対してレプリケートされた通信量をすべて圧縮するように指定します。OFF（デフォルト）は、通信量を圧縮しないように指定します。詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のレプリケートされた通信量の圧縮に関する項を参照してください。
DISABLE RETURN {SUBSCRIBER | ALL} NumFailures | NumFailuresで指定されているタイムアウト回数を経過した後、RETURNサービスのブロッキングを無効にするようにRETURNサービス障害ポリシーを設定します。SUBSCRIBERを選択すると、指定されているタイムアウト時間内にレプリケートされた更新の確認に失敗したサブスクライバのみにこのポリシーが適用されます。ALLを選択すると、いずれかのサブスクライバから応答がなかった場合、すべてのサブスクライバにこのポリシーが適用されます。この障害ポリシーは、RETURN RECEIPTまたはRETURN TWOSAFEサービスのいずれかで指定できます。 詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のRETURNサービスのタイムアウト・エラーおよびレプリケーション状態の変更の管理に関する項を参照してください。
DURABLE COMMIT {ON | OFF} | DISABLE RETURNによりRETURNサービスのブロッキングが無効になった場合、データ・ストアのDurableCommits設定を上書きし、永続コミットを有効にします。
DROP ELEMENT * IN FullStoreName | FullStoreNameがMASTERであるすべての要素のレプリケーションの記述を削除します。FullStoreName は、DSNの記述のData Store Path and Name属性で指定されるデータ・ストア・ファイル名です。
DROP ELEMENT ElementName | ElementNameのレプリケーションの記述を削除します。
DROP SUBSCRIBER FullStoreName | 指定したサブスクライバ・データ・ストアに更新が送信されないように指定します。この処理は、レプリケーション・スキームの持つサブスクライバが1つのみの場合に失敗します。FullStoreNameは、DSNの記述のData Store Path and Name属性で指定されるデータ・ストア・ファイル名です。
FAILTHRESHOLD Value | ディスク・ベースのロギングの場合、Valueには、サブスクライバ・データ・ストアのために累積できるログ・ファイルの数を指定します。この値を超えると、サブスクライバはFailedの状態に設定されます。 ディスクレス・ロギングの場合、Valueには、ログ・バッファの割合を指定します。この値を超えると、サブスクライバ・データ・ストアはFailedの状態に設定されます。たとえば、しきい値が80の場合は、ログ・バッファが80%を超えて使用されると、サブスクライバ・データ・ストアがFailedの状態に設定されます。 値0は、制限がないことを示します。この値がデフォルトです。 詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のレプリケートされたデータ・ストアのログの管理に関する項を参照してください。
FullStoreName | 次のいずれかとして指定されるデータ・ストアです。 · SELF · データ・ストア・ファイル名の接頭辞 たとえば、データ・ストアのパスがdirectory/subdirectory/data.ds0の場合、データは使用対象のデータ・ストア名です。 この名前は、DSNの記述のData Store Path and Name属性で指定されるデータ・ストア・ファイル名で、書式にはオプションでホストIDを指定できます。 DataStoreName [ON Host] HostにはIPアドレスまたは1つ以上のIPアドレスに割り当てられたリテラルのホスト名を指定できます。ホスト名に特殊文字が含まれている場合、"MyHost-500"のように二重引用符で囲む必要があります。（『Oracle TimesTen Replication - TimesTen to TimesTen 開発者および管理者ガイド』のホストIPアドレスの構成に関する項を参照してください。）
LOCAL COMMIT ACTION {NO ACTION | COMMIT} | タイムアウト・イベントのRETURN TWOSAFEトランザクションで実行されるデフォルトのアクションを指定します。 NO ACTION: タイムアウト時、コミット関数がアプリケーションに戻り、トランザクションはコミット・コールに入ったときと同じ状態のままになります。ただし、アプリケーションがレプリケートされた表を更新できない場合を除きます。アプリケーションはコミットの再発行のみを行うことができます。トランザクションはロール・バックされない場合があります。この設定はデフォルトです。 COMMIT: タイムアウト時に、コミット関数がCOMMITをログ・レコードに書き込み、トランザクションをローカルで終了します。同じトランザクション上でこれ以上の処理を行うことはできません。 localActionパラメータを指定してttRepSyncSetプロシージャをコールすることで、特定のトランザクションに対してこの設定を無効にすることができます。
MASTER FullStoreName | アプリケーションで特定のELEMENTが更新されるデータ・ストアです。MASTERデータ・ストアによって、更新がSUBSCRIBERデータ・ストアに送信されます。FullStoreName は、DSNの記述のData Store Path and Name属性で指定されるデータ・ストア・ファイル名です。
NO RETURN | RETURNサービスを使用しないように指定します。この設定がデフォルトです。 RETURNサービスの使用の詳細は、『Oracle TimesTen Replication - 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を指定した場合は、ttRepSyncSet()プロシージャを使用して、選択したトランザクションに対してRETURN RECEIPTサービスを有効にできます。RETURNサービスの使用の詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のRETURNサービスの使用に関する項を参照してください。
RETURN SERVICES {ON | OFF} WHEN [REPLICATION] STOPPED | レプリケーション・エージェントが停止または一時停止の状態の場合に、RETURNサービスのブロッキングが有効または無効のいずれかになるように、RETURNサービス障害ポリシーを設定します。 OFFは、RETURN RECEIPTサービスを使用する場合のデフォルトです。ONは、RETURN TWOSAFEサービスを使用する場合のデフォルトです。 詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のRETURNサービスのタイムアウト・エラーおよびレプリケーション状態の変更の管理に関する項を参照してください。
RETURN TWOSAFE [BY REQUEST] | RETURN TWOSAFEサービスを有効にします。これによって、マスター・データ・ストアに対してトランザクションをコミットするアプリケーションは、すべてのサブスクライバがトランザクションをコミットするまでブロックされます。 RETURN TWOSAFEにより、すべてのトランザクションにサービスが適用されます。RETURN TWOSAFE BY REQUESTを指定した場合は、ttRepSyncSet プロシージャを使用して、選択したトランザクションに対してRETURN RECIPTサービスを有効にできます。RETURNサービスの使用の詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のRETURNサービスの使用に関する項を参照してください。
RETURN WAIT TIME Seconds | RETUENサービスの応答を待機する時間（秒）を指定します。デフォルト値は10秒です。値'0'は待機時間がないことを意味します。returnWait パラメータを設定してアプリケーションからttRepSyncSet プロシージャをコールすることで、このタイムアウト設定を無効にすることができます。
SET { MASTER | PROPAGATOR } FullStoreName | 任意のデータ・ストアを任意の要素のMASTERまたはPROPAGATORに設定します。FullStoreNameは、データ・ストアのファイルの基本名である必要があります。
SUBSCRIBER FullStoreName | MASTERデータ・ストアから更新を受け取るデータ・ストアです。FullStoreName は、DSNの記述のData Store Path and Name属性で指定されるデータ・ストア・ファイル名です。
TIMEOUT Seconds | メッセージを再送信する前に、データ・ストアが別のデータ・ストアからの応答を待機する時間です。デフォルト値は120秒です。

説明

- ALTER ELEMENT DROP SUBSCRIBERは、特定のレプリケーション要素のサブスクライバを削除します。
- レプリケーション要素の名前が別のデータ・ストアにすでに定義されているレプリケーション要素の名前と競合する場合は、ALTER ELEMENT RENAMEを使用してレプリケーション要素の名前を変更できます。RENAMEでは、* 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文を実行します。

注意: ALTER ELEMENT DROP MASTERという文はありません。各レプリケーション要素のMASTERデータ・ストアは1つのみである必要があり、現在指定されたMASTERはレプリケーション・スキームから削除できません。

##### 例13.6

この例では、データ・ストアWest上で更新してデータ・ストアEastにレプリケートする追加の表WestLeadsのレプリケートを設定します。

    ALTER REPLICATION R1
       ADD ELEMENT E3 TABLE WestLeads
         MASTER West ON "WestCoast"
         SUBSCRIBER East ON "EastCoast";

##### 例13.7

この例では、表WestLeadsにサブスクライバ（Backup）を追加します。

    ALTER REPLICATION R1
       ALTER ELEMENT E3
         ADD SUBSCRIBER Backup ON "BackupServer";

##### 例13.8

この例では、表WestLeadsの要素名をE3からNewElementNameに変更します。

    ALTER REPLICATION R1
       ALTER ELEMENT E3
         SET NAME NewElementName;

##### 例13.9

この例では、現在のマスターWestのすべての要素について、NewWestをマスターに指定します。

    ALTER REPLICATION R1
       ALTER ELEMENT * IN West
         SET MASTER NewWest;

##### 例13.10

この要素は、Eastのポート番号を変更します。

    ALTER REPLICATION R1
       ALTER STORE East ON "EastCoast" SET PORT 22251;

##### 例13.11

この例では、my.tab1表をmy.rep1レプリケーション・スキームのds1データ・ストア要素に追加します。

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

##### 例13.12

この例では、my.cg1キャッシュ・グループをmy.rep1レプリケーション・スキームのds1データ・ストアに追加します。

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

##### 例13.13

この例では、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;

##### 例13.14

この例では、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;

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