ターゲットでの制約の無効化

ターゲット表で、トリガーおよびカスケード制約を無効にするか、Replicatによる変更を無視するよう構成する必要があります。Oracle GoldenGateでは、トリガーまたはカスケード制約によって生じたDMLがレプリケートされるため、制約を無効にする必要があります。同じトリガーや制約がターゲット表でアクティブになった場合、レプリケートされたバージョンのために重複となり、データベースでエラーが返されます。ソース表にemp_srcsalary_src、ターゲット表にemp_targsalary_targを使用している次の例について考えます。

  1. emp_srcに削除が発行されます。
  2. それによって、削除がsalary_srcにカスケードされます。
  3. Oracle GoldenGateが、両方の削除をターゲットに送信します。
  4. 親削除が最初に到達し、emp_targに適用されます。
  5. 親削除によって、削除がsalary_targにカスケードされます。
  6. salary_srcのカスケードされた削除が、salary_targに適用されます。
  7. 行は、すでにステップ5で削除されているため、見つかりません。