最新タイムスタンプの競合検出および解決
DBMS_GOLDENGATE_ADM
パッケージのADD_AUTO_CDR
プロシージャを実行して、Oracle GoldenGate自動競合検出および解決のために表を構成すると、非表示のタイムスタンプ列が表に追加されます。この非表示のタイムスタンプ列によって行変更の時間が記録され、この情報を使用して競合が検出されて解決されます。
行LCRを適用すると、INSERT
、UPDATE
またはDELETE
操作で競合が発生する可能性があります。次の表では、それぞれの競合のタイプと、その解決方法について説明します。
操作 | 競合の検出 | 競合の解決 |
---|---|---|
|
競合が検出されるのは、表のキー列の値が行LCRの新しい値と同じ場合です。 |
行LCRのタイムスタンプが表の行のタイムスタンプより遅い場合は、行LCRの値で表の値が置き換えられます。 行LCRのタイムスタンプが表の行のタイムスタンプより早い場合は、行LCRが破棄され、表の値が保持されます。 |
|
次のそれぞれの場合に競合が検出されます。
|
値が一致せず、行LCRのタイムスタンプが表の行のタイムスタンプより遅い場合は、行LCRの値で表の値が置き換えられます。 値が一致せず、行LCRのタイムスタンプが表の行のタイムスタンプより早い場合は、行LCRが破棄され、表の値が保持されます。 表の行が存在せず、行LCRのタイムスタンプがツームストン表の行のタイムスタンプより遅い場合は、行LCRが 表の行が存在せず、行LCRのタイムスタンプがツームストン表の行のタイムスタンプより早い場合は、行LCRが破棄されます。 表の行が存在せず、対応する行がツームストン表に存在しない場合は、行LCRが |
|
次のそれぞれの場合に競合が検出されます。
|
行LCRのタイムスタンプが表のタイムスタンプより遅い場合は、行が表から削除されます。 行LCRのタイムスタンプが表のタイムスタンプより早い場合は、行LCRが破棄され、表の値が保持されます。 削除が成功した場合は、行LCRがツームストン表に挿入されてログに記録されます。 表の行が存在しない場合は、行LCRがツームストン表に挿入されてログに記録されます。 |