主コンテンツへ
Oracle® Fusion Middleware Oracle GoldenGateリファレンスfor Windows and UNIX
12c (12.2.0.1)
E70112-04
目次へ移動
目次

前
次

3.85 GETUPDATEBEFORES | IGNOREUPDATEBEFORES

適用対象

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

この例では、GETUPDATEBEFORESIGNOREUPDATEBEFORESを選択して様々な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);