プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成
12c (12.2.0.1)
E70107-04
目次へ移動
目次

前
次

13.12 様々なトポロジをサポートするためのDDLの伝播の制御

双方向およびカスケード・レプリケーション構成をサポートするには、Oracle GoldenGateおよびローカル・ビジネス・アプリケーションなどのアプリケーションによって実行されたDDLを、Extractが識別できることが重要です。デプロイする構成によっては、ローカル・システム上のこれらのDDLのソースのいずれかまたは両方をキャプチャすることが適当な場合もあります。

注意:

Oracle GoldenGate DDLは、ログ・グループを作成するためにExtractによって実行されるALTER TABLE文、およびソースDDLの変更をレプリケートするためにReplicatによって実行されるDDLで構成されます。

DDLOPTIONSパラメータの次のオプションは、Oracle GoldenGate DDLサポートが構成され有効になっていることを前提として、ローカル・システム上のDDLがExtractによってキャプチャされ、リモート・システムに送信されるかどうかを制御します。

  • GETREPLICATESおよびIGNOREREPLICATESオプションは、Oracle GoldenGateで生成されたDDLがExtractによってキャプチャされるか無視されるかを制御します。デフォルトはIGNOREREPLICATESで、Oracle GoldenGateで生成されたDDLは伝播されません。Oracle GoldenGateで実行されたDDL操作を識別するために、各Extract文とReplicat DDL文に次のコメントが含まれています。

    /* GOLDENGATE_DDL_REPLICATION */
    
  • GETAPPLOPSおよびIGNOREAPPLOPSオプションは、Oracle GoldenGate以外のアプリケーションで生成されたDDLがExtractによってキャプチャされるか無視されるかを制御します。デフォルトはGETAPPLOPSで、DDLはローカル・アプリケーション(Oracle GoldenGate以外の)から伝播されます。

これらのデフォルト設定では、DDLがソースに戻されないように、独自のDDLおよびローカルReplicatによってローカル・データベースに適用されるDDLはExtractで無視されます。また、レプリケーション用に構成されているその他のDDLはすべてキャプチャされます。デフォルトのDDLOPTIONS構成は次のとおりです。

DDLOPTIONS GETAPPLOPS, IGNOREREPLICATES

この動作は変更できます。次の項を参照してください。

13.12.1 アクティブ/アクティブ(双方向)構成でのDDLの伝播

Oracle GoldenGateでは、2つのシステム間のアクティブ/アクティブDDLレプリケーションがサポートされます。アクティブ/アクティブ双方向レプリケーションの場合、Oracle GoldenGateプロセスで次のように構成される必要があります。

  1. 一方のシステムでビジネス・アプリケーションによって実行されるDDLを他方のシステムにレプリケートし、同期を保つ必要があります。この要件を満たすには、両方のシステムのExtractパラメータ・ファイルでDDLOPTIONS文にGETAPPLOPSオプションを含めます。

  2. 一方のシステムでReplicatによって適用されるDDLは、ローカルのExtractによってキャプチャされ、他方のシステムに戻される必要があります。この要件を満たすには、両方のシステムのExtractパラメータ・ファイルでDDLOPTIONS文にGETREPLICATESオプションを使用します。

    注意:

    ループバックが起こらないよう、内部的なOracle GoldenGateトークンによって、実際のReplicatのDDL文自体は無視されます。ReplicatのDDLを元のシステムに戻す目的は、着信DMLの受信に備えて、そのシステムのReplicatがオブジェクト・メタデータ・キャッシュを更新し、新しいメタデータを持つことです。図13-1を参照してください。

  3. 各Replicatは、キャプチャされたReplicat DDL文がリモートExtractから届いたら、そのオブジェクト・メタデータ・キャッシュを更新するように構成する必要があります。この要件を満たすには、両方のシステムのReplicatパラメータ・ファイルでDDLOPTIONS文にUPDATEMETADATAオプションを使用します。

その結果、DDLOPTIONS文は次のようになります。

Extract(プライマリおよびセカンダリ)

DDLOPTIONS GETREPLICATES, GETAPPLOPS 

Replicat(プライマリおよびセカンダリ)

DDLOPTIONS UPDATEMETADATA

警告:

元のDDLと同じオブジェクトに対してDDLまたはDMLを発行する前に、元のDDLがリモート・システムにレプリケートされ、そのシステムのExtractによって再度キャプチャされる時間を考慮します。これによって、各操作が元のシステムのReplicatに正しい順序で届くことを保証し、メタデータの非一貫性によってDMLエラーが発生することを防止します。詳細は、図13-1を参照してください。

図13-1 Replicatオブジェクト・メタデータ・キャッシュが更新されるDDLのラウンドトリップ・パス

図13-1の説明が続きます
「図13-1 Replicatオブジェクト・メタデータ・キャッシュが更新されるDDLのラウンドトリップ・パス」の説明が続きます

DDLOPTIONSの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

双方向構成の構成方法の詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

13.12.2 カスケード構成でのDDLの伝播

カスケード構成では、各中間システムのExtractパラメータ・ファイルでDDLOPTIONSに次の設定を使用します。この構成では、Extractで中間システムのReplicatからDDLが強制的にキャプチャされ、次のシステム・ダウンストリームにカスケードされます。

DDLOPTIONS GETREPLICATES, IGNOREAPPLOPS

DDLOPTIONSの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください

カスケード構成の構成方法の詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。