説明
GETREPLICATES
およびIGNOREREPLICATES
パラメータでは、Replicatが発行したDMLトランザクションを、同じシステム上で同じ表を処理しているExtractプロセスに取得させるか無視させるかを制御します。
これらのパラメータは、TeradataまたはInformixには無効です。
Replicatトランザクションの無視
デフォルトでは、ExtractはIGNOREREPLICATES
およびGETAPPLOPS
の組合せを使用します。この構成では、ExtractはOracle GoldenGateによって同期するように構成されているすべてのアプリケーション・データを取得し、すべてのReplicat操作を無視します。双方向構成では、この設定によって、Replicatが適用するデータが元のシステムにループ・バックする(そのために重複レコード・エラーが発生する)ことを防止できます。
Replicatトランザクションの取得
カスケード構成でGETREPLICATES
とIGNOREAPPLOPS
を使用すると、レプリケートされたデータをもう一度仲介システム上のExtractが取得し、最終的なターゲットにレプリケートできます。たとえば、データベースAをデータベースBにレプリケートし、データベースBをデータベースCにレプリケートする場合には、データベースBのExtractに対してGETREPLICATES
を使用します。
注意: ただし、GETREPLICATES が有効な場合でも、TABLE またはMAP 文のWHERE またはFILTER 句を使用して、特定のレプリート・データを取得から除外できます。 |
OracleでのGETREPLICATESおよびIGNOREREPLICATESの使用
GETREPLICATES
およびIGNOREREPLICATES
パラメータは、トレース表(TRACETABLE
パラメータ)を使用していない場合は使用しないでください。デフォルトでは、Extractは、Replicatによってコミットされるトランザクションを含むすべてのトランザクションを取得します。Replicatトランザクションを無視する場合は、TRANLOGOPTIONS EXCLUDEUSER
パラメータを使用するようにしてください。これを使用して、Replicatのユーザーに加えて、特定のユーザーによるトランザクションを無視することもできます。
TRACETABLE
パラメータを使用している場合、またはTRACETABLE
を明示的に使用せずに作成されたデフォルトのトレース表GGS_TRACE
がある場合、Extractは、TRACETABLE
更新がデフォルトで含まれるトランザクションを自動的に無視します。Replicatがコミットしたトランザクションを取得する場合は、GETREPLICATES
を指定する必要があります。この場合、Replicatではトランザクション・フィルタリングで予期できない動作が発生するため、TRANLOGOPTIONS EXCLUDUSER
とともに使用することはお薦めしません。