データ・ループの防止

双方向構成では、あるシステムから別のシステムにレプリケートされたSQL変更は、最初のシステムに再度レプリケートされないようにする必要があります。そうしないと、システム間でデータの移動が繰り返され、次の例のように無限ループに陥ります。

  1. ユーザー・アプリケーションがシステムAのある行を更新します。

  2. Extractは、システムAでその行を抽出してシステムBに送信します。

  3. Replicatは、システムBでその行を更新します。

  4. Extractは、システムBでその行を抽出してシステムAに戻します。

  5. その行がシステムAに適用されます(2回目)。

  6. このループが無限に継続します。

データのループバックを防止するには、状況に応じて次の処理を行う必要があります。

  • Replicatによって生成されるSQL操作を取得しないようにします。ただし、Extractのパラメータ・ファイルに指定されているオブジェクトがビジネス・アプリケーションに含まれる場合は、それらのビジネス・アプリケーションによって生成されるSQL操作の取得を有効化します。

  • ローカルReplicatトランザクションを識別します(Extractプロセスでそれらのトランザクションを無視するため)。