ターゲットでの制約の無効化
ターゲット表で、トリガーおよびカスケード制約を無効にするか、Replicatによる変更を無視するよう構成する必要があります。Oracle GoldenGateでは、トリガーまたはカスケード制約によって生じたDMLがレプリケートされるため、制約を無効にする必要があります。同じトリガーや制約がターゲット表でアクティブになった場合、レプリケートされたバージョンのために重複となり、データベースでエラーが返されます。ソース表にemp_src
とsalary_src
、ターゲット表にemp_targ
とsalary_targ
を使用している次の例について考えます。
emp_src
に削除が発行されます。- それによって、削除が
salary_src
にカスケードされます。 - Oracle GoldenGateが、両方の削除をターゲットに送信します。
- 親削除が最初に到達し、
emp_targ
に適用されます。 - 親削除によって、削除が
salary_targ
にカスケードされます。 salary_src
のカスケードされた削除が、salary_targ
に適用されます。- 行は、すでにステップ5で削除されているため、見つかりません。