アクティブ/アクティブ(双方向)構成でのDDLの伝播
Oracle GoldenGateでは、2つのシステム間のアクティブ/アクティブDDLレプリケーションがサポートされます。アクティブ/アクティブ双方向レプリケーションの場合、Oracle GoldenGateプロセスで次のように構成される必要があります。
-
一方のシステムでビジネス・アプリケーションによって実行されるDDLを他方のシステムにレプリケートし、同期を保つ必要があります。この要件を満たすには、両方のシステムのExtractパラメータ・ファイルで
DDLOPTIONS
文にGETAPPLOPS
オプションを含めます。 -
一方のシステムでReplicatによって適用されるDDLは、ローカルのExtractによってキャプチャされ、他方のシステムに戻される必要があります。この要件を満たすには、両方のシステムのExtractパラメータ・ファイルで
DDLOPTIONS
文にGETREPLICATES
オプションを使用します。ノート:
ループバックが起こらないよう、内部的なOracle GoldenGateトークンによって、実際のReplicatのDDL文自体は無視されます。ReplicatのDDLを元のシステムに戻す目的は、着信DMLの受信に備えて、そのシステムのReplicatがオブジェクト・メタデータ・キャッシュを更新し、新しいメタデータを持つことです。
-
各Replicatは、キャプチャされたReplicat DDL文がリモートExtractから届いたら、そのオブジェクト・メタデータ・キャッシュを更新するように構成する必要があります。この要件を満たすには、両方のシステムのReplicatパラメータ・ファイルで
DDLOPTIONS
文にUPDATEMETADATA
オプションを使用します。
その結果、DDLOPTIONS
文は次のようになります。
Extract(プライマリおよびセカンダリ)
DDLOPTIONS GETREPLICATES, GETAPPLOPS
Replicat(プライマリおよびセカンダリ)
DDLOPTIONS UPDATEMETADATA
警告:
元のDDLと同じオブジェクトに対してDDLまたはDMLを発行する前に、元のDDLがリモート・システムにレプリケートされ、そのシステムのExtractによって再度キャプチャされる時間を考慮します。これによって、各操作が元のシステムのReplicatに正しい順序で届くことを保証し、メタデータの非一貫性によってDMLエラーが発生することを防止します。詳細は、次の図を参照してください。
詳細は、『Oracle GoldenGateリファレンス』
を参照してください。
親トピック: 様々なトポロジをサポートするためのDDLの伝播の制御