Oracle® Fusion Middleware Oracle GoldenGateリファレンスfor Windows and UNIX 12c (12.2.0.1) E70112-04 |
|
前 |
次 |
適用対象
ExtractおよびReplicat
説明
GETUPDATEBEFORES
およびIGNOREUPDATEBEFORES
パラメータでは、Oracle GoldenGateに処理されるレコードに、UPDATE
操作の列のビフォア・イメージを含めるかどうかを制御します。ビフォア・イメージには、行が更新される前に存在していた列の詳細情報が含まれます。
Oracle GoldenGate 12cは、デフォルトで、1つの統合更新レコードでの更新操作に対して変更前および変更後の値の両方をキャプチャします。前のリリースでは、デフォルトは変更後の値のみをキャプチャするものでした。このリリースからは、カスタムSQL文(SQLEXEC
)が、新しいデフォルトの更新形式を使用して、各更新操作で1回のみ実行します。このリリース以前は、カスタムSQL文は、変更前の値が見つかったときの1回と、変更後の値が見つかったときの1回の、2回実行していました。Oracle GoldenGate 12c (12.1.xまたは12.2.x)を新しい統合更新形式で使用した場合、@BEFORE
、@AFTER
および@BEFOREAFTER
ファンクションを使用して、前または後の値をカスタムSQL文に明示的に渡すことができます。Oracle GoldenGate 12.2.x
はデフォルトでこの新しい更新形式を使用しようとしますが、以前に2つの別々の変更前および変更後のレコードを生成していた競合するパラメータがある場合には、古い形式を保持することもできます。この場合、レポート・ファイルに情報メッセージが記録されます。
GETUPDATEBEFORES
パラメータは、次のように使用します。
Extractパラメータ・ファイルでは、データ・ソースからビフォア・イメージを抽出します。
Replicatパラメータ・ファイルでは、Replicat操作にビフォア・イメージを含めます。
ビフォア・イメージとアフター・イメージを比較して、トランザクションの最終結果を確認したり、その他の差分計算を実行したりできます。たとえば、更新前のBALANCE
フィールドが100ドルで更新後が120ドルの場合、これらを比較して20ドルの差異を確認できます。Oracle GoldenGateの列変換ファンクションを使用して、比較および計算を実行できます。
パラメータ・ファイルでビフォア・イメージを参照するには、@BEFORE
変換ファンクションを使用します。例:
COLMAP (previous = @BEFORE (balance))
Oracle GoldenGateがサポートするすべてのプラットフォームでOracleデータベースに競合の検出および解決(CDR)機能を使用する場合、GETUPDATEBEFORES
が必要です。CDRの詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。
GETUPDATEBEFORES
およびIGNOREUPDATEBEFORES
パラメータは、表に固有です。一方のパラメータは、もう一方のパラメータが見つかるまで、それ以降のすべてのTABLE
またはMAP
文に有効です。
これらのパラメータは、MAP
文で有効化または無効化を選択できるため、調整Replicatの様々なスレッドに対して有効にしたり、無効にしたりできます。あるセットのMAP
文にGETUPDATEBEFORES
スレッドを指定し、別のセットのMAP
文にIGNOREUPDATEBEFORES
を指定します。
デフォルト
IGNOREUPDATEBEFORES
構文
GETUPDATEBEFORES | IGNOREUPDATEBEFORES
例
この例では、GETUPDATEBEFORES
とIGNOREUPDATEBEFORES
を選択して様々なMAP
文に適用する方法を示します(各文が、調整Replicatの異なるスレッドに該当します)。
GETUPDATEBEFORES MAP sales.cust, TARGET sales.cust, THREAD (1); MAP sales.ord, TARGET sales.ord, THREAD (2); IGNOREUPDATEBEFORES MAP sales.loc, TARGET sales.loc, THREAD (3);