トリガーおよびカスケード制約の無効化
ターゲットSybase表のトリガー、カスケード削除制約、カスケード更新制約を無効にするか、Oracle GoldenGateデータベース・ユーザーによる変更を無視するように変更します。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で削除されているため、見つかりません。
データベース・セッションの開始時にターゲット・トリガーを無効化するようにReplicatを構成するには、次のステップを実行します。