ヘッダーをスキップ

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

前へ | 次へ |

## CREATE REPLICATION

TimesTen SQLによるレプリケーションの構成では、レプリケーションをプログラム的な方法で構成できます。この構成は、C、C++またはJavaコードに埋め込むことができます。レプリケーションをローカルで構成したり、クライアント/サーバーを使用してリモート・システムから構成できます。

また、サポートされているSQL文ではカバーされていない処理に対応する場合は、ttRepAdminユーティリティを使用する必要があります。ttRepAdminを使用すると、レプリケーションの状態の変更、データ・ストアのバックアップとリストア、レプリケーション構成の一覧表示およびレプリケーション状態の表示を実行できます。

CREATE REPLICATION文は、次の処理を実行します。

- 関連するデータ・ストアにレプリケーション・スキームを定義します。
- 実行するデータ・ストアのレプリケーション・システム表に、指定した構成を組み込みます。
- 通常は、1つ以上のレプリケーションELEMENTの指定、および0（ゼロ）以上のSTOREの指定が含まれています。

アクセス制御

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

説明

レプリケーション要素は、TimesTenのデータ・ストア間で同期化されるエンティティです。レプリケーション要素は、表全体またはデータ・ストアのいずれかです。データ・ストアには、ほとんどの型の表とキャッシュ・グループを含めることができます。指定した表とキャッシュ・グループのみ、または指定した表とキャッシュ・グループ以外のすべての表を含めることができます。一時表またはビューを含めることはできません。このことは、マテリアライズド・ビューと非マテリアライズド・ビューでも同様です。

レプリケーション・スキームは、レプリケーション要素および要素のコピーを管理するデータ・ストアのセットです。

キャッシュ・グループのレプリケーションでは、次の点に注意します。

- データ・ストア間でキャッシュ・グループをレプリケートする場合は、両方のキャッシュ・グループが同じである必要があります。ただし、DURATION、AUTOREFRESHおよびPROPAGATEの設定を除きます。
- AUTOREFRESHが設定されているキャッシュ・グループをレプリケートする場合、サブスクライバのキャッシュ・グループは、自動リフレッシュのSTATEをOFFに設定する必要があります。双方向レプリケーション・スキームでは、キャッシュ・グループのうちの1つの自動リフレッシュのSTATEをOFFにする必要があります。
- マスター・キャッシュ・グループにPROPAGATEが指定されている場合、サブスクライバのキャッシュ・グループは自動リフレッシュのSTATEをOFFにする必要があります。

レプリケーションを構成するSQLについては、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のキャッシュ・グループのレプリケーションに関する項を参照してください。

SQL構文
CREATE REPLICATION [Owner.]ReplicationSchemeName
{ ELEMENT ElementName
{ DATASTORE | { TABLE [Owner.]TableName [CheckConflicts]} |
SEQUENCE [Owner.]SequenceName}
{ MASTER | PROPAGATOR } FullStoreName
[TRANSMIT { NONDURABLE | DURABLE }]
{ SUBSCRIBER FullStoreName [, ... ] [ReturnServiceAttribute] } [, ... ] }
[...]

{ INCLUDE | EXCLUDE }{TABLE | CACHE GROUP|SEQUENCE } [Owner.]{TableName | CacheGroupName | SequenceName} [,...]

[ STORE FullStoreName [StoreAttributes [, ... ]]] [...]

CheckConflictsの構文については、「CHECK CONFLICTS」を参照してください。

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

{ RETURN RECEIPT [BY REQUEST] |
RETURN TWOSAFE [BY REQUEST] |
NO RETURN }

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

[ 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 ]
パラメータ

CREATE REPLICATION文には、次のパラメータがあります。

[Owner.]ReplicationSchemeName | 新しいレプリケーション・スキームに割り当てる名前です。レプリケーション・スキームは、他のすべてのデータ・ストア・オブジェクトとは別の一意の名前である必要があります。
CheckConflicts | 双方向にレプリケートされたデータ・ストアへの同時書込みで、レプリケーションの競合をチェックします。「CHECK CONFLICTS」を参照してください。
COMPRESS TRAFFIC {ON | OFF} | レプリケートされた通信量を圧縮して、ネットワークの帯域幅の量を削減します。ONは、STOREで定義されたデータ・ストアに対してレプリケートされた通信量をすべて圧縮するように指定します。OFF（デフォルト）は、通信量を圧縮しないように指定します。詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のレプリケートされた通信量の圧縮に関する項を参照してください。
DATASTORE | データ・ストア全体をELEMENTとして定義します。この種類のELEMENTは、同一または異なるレプリケーション・スキームでTABLE型のELEMENTが構成されていないマスター・データ・ストアに対してのみ定義できます。詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のレプリケーション要素の定義に関する項を参照してください。
{ INCLUDE | EXCLUDE }{TABLE | CACHE GROUP|SEQUENCE } [Owner.]{TableName | CacheGroupName | SequenceName} [,...] | INCLUDEは、指定された表とキャッシュ・グループのみをデータ・ストアに含めます。各オブジェクト型（表、キャッシュ・グループまたは順序）に対して1つのINCLUDE句を使用します。 EXCLUDEは、指定された表とキャッシュ・グループを除くすべての表とキャッシュ・グループをデータ・ストアに含めます。各オブジェクト型（表、キャッシュ・グループまたは順序）に対して1つのEXCLUDE句を使用します。 [Owner.]{TableName | CacheGroupName | SequenceName} [,...]は、DATASTORE ELEMENTに含有または除外する表名、キャッシュ・グループ名または順序名のリストです。オプションで所有者も指定できます。
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設定を上書きし、永続コミットを有効にします。
ELEMENT ElementName | TimesTenがデータ・ストア間で同期を取るエンティティです。レプリケーション要素として、TimesTenでは、データ・ストア全体（DATASTORE）および表全体（TABLE）がサポートされています。 ElementNameは、レプリケーション要素に指定される名前です。TABLE要素のElementNameの長さは、最大30文字です。DATASTORE要素のElementNameは、他のDATASTORE要素名について、最初の20文字以内が一意である必要があります。ElementNameは、レプリケーション・スキーム内で一意である必要があります。また、同じ要素に対して2つのELEMENT記述を定義することはできません。 詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のレプリケーション要素の定義に関する項を参照してください。
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アドレスの構成に関する項を参照してください）。ホスト名は30文字以下で指定します。
LOCAL COMMIT ACTION {NO ACTION | COMMIT} | タイムアウト・イベントのRETURN TWOSAFEトランザクションで実行されるデフォルトのアクションを指定します。 注意: この属性は、RETURN TWOSAFEまたはRETURN TWOSAFE BY REQUEST属性がSUBSCRIBER句で設定されている場合にのみ有効です。 NO ACTION: タイムアウト時、コミット関数がアプリケーションに戻り、トランザクションはコミット・コールに入ったときと同じ状態のままになります。ただし、アプリケーションがレプリケートされた表を更新できない場合を除きます。アプリケーションはコミットの再発行またはコールのロールバックを実行できます。 COMMIT: タイムアウト時に、コミット関数がCOMMITをログ・レコードに書き込み、トランザクションをローカルで効率よく終了します。同じトランザクション上でこれ以上の処理を行うことはできません。 このデフォルト設定は、ttRepSyncSet()プロシージャのlocalActionパラメータをコールすることによって、特定のトランザクションに対して無効にすることができます。
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ポート番号です。指定しない場合は、レプリケーション・エージェントによってポート番号が自動的に割り当てられます。
PROPAGATOR FullStoreName | レプリケートされた更新を受け取り、他のデータ・ストアに渡すデータ・ストアです。FullStoreNameは、DSNの記述のData Store Path and Name属性で指定されるデータ・ストアである必要があります。
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サービスを有効にします。これによって、マスター・データ・ストアに対してトランザクションをコミットするアプリケーションは、すべてのサブスクライバがトランザクションをコミットするまでブロックされます。 注意: このサービスは、要素がDATASTOREと定義される場合の双方向レプリケーション・スキームでのみ使用できます。 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 プロシージャをコールすることで、このタイムアウト設定を無効にすることができます。
SEQUENCE [Owner.]SequenceName | [Owner.]SequenceNameによってELEMENTとして指定された順序を定義します。詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のレプリケーション要素の定義に関する項を参照してください。
STORE FullStoreName | 指定されたデータ・ストアの属性を定義します。データ・ストア属性には、PORT、TIMEOUTおよびFAILTHRESHOLDが含まれています。FullStoreNameは、DSNの記述のData Store Path and Name属性で指定されるデータ・ストアです。
SUBSCRIBER FullStoreName | MASTERデータ・ストアから更新を受け取るデータ・ストアです。FullStoreName は、DSNの記述のData Store Path and Name属性で指定されるデータ・ストア・ファイル名です。
TABLE [Owner.]TableName | [Owner.]TableNameによってELEMENTとして指定された表を定義します。詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のレプリケーション要素の定義に関する項を参照してください。
TIMEOUT Seconds | メッセージを再送信する前に、データ・ストアが別のデータ・ストアからの応答を待機する時間です。デフォルト値は120秒です。
TRANSMIT {DURABLE | NONDURABLE} | コミットされたトランザクション群をサブスクライバに転送する前に、マスターのログをディスクにフラッシュするかどうかを指定します。ディスクレス・ロギングが有効な場合は、TRANSMITは何も実行しません。 TRANSMIT NONDURABLEは、マスターのログ内のレコードがサブスクライバに転送される前にディスクにフラッシュされないように指定します。この設定は、指定されたELEMENTがDATASTOREである場合にのみ使用できます。この設定は、RETURN TWOSAFEトランザクションのデフォルト値です。 TRANSMIT DURABLEは、サブスクライバに転送される前にレコードがディスクにフラッシュされるように指定します。この設定は、非同期およびRETURN RECEIPTトランザクションのデフォルト値です。 注意: TRANSMIT DURABLEは、RETURN TWOSAFEトランザクションに影響を与えません。 注意: アクティブ・スタンバイ・ペアに対してTRANSMIT DURABLEを設定することはできません。 詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』の送信永続性の設定に関する項、およびマスター・データ・ストア・リカバリでのTRANSMIT DURABLE/NONDURABLEの影響に関する項を参照してください。