ターゲットでの制約の無効化
ターゲット表で、トリガーおよびカスケード制約を無効にするか、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で削除されたため、見つかりません。