EnterpriseDB (EDB)サブスクライバ・ノード用のOracle GoldenGate CDC Extractの構成
EnterpriseDB (EDB) Postgres双方向レプリケーション環境では、Oracle GoldenGate CDC Extractは、アクティブなデータベース・ノードから直接ではなく、専用のサブスクライバ専用ノードから変更を取得できます。このデプロイメント・モデルは、ダウンストリーム変更データ取得の統合ソースを提供しながら、本番システムの取得ワークロードを削減します。EnterpriseDB Postgres Distributedの双方向レプリケーションの詳細は、レプリケーション・セットを参照してください。
EnterpriseDB PostgresのOracle GoldenGate双方向レプリケーションでは、サブスクライバのみのノードを構成する必要があります。サブスクライバのみのノードは、基本的にダウンストリーム・レプリケーション・ノードまたはCDC集約ノードであり、アクティブな双方向データ・ソースから変更を受信し、Oracle GoldenGateで取得できる専用データベースを提供します。
説明のために、加入者専用ノードは Master 3と呼ばれ、アクティブな双方向データ ソースは Master 1および Master 2と呼ばれます。
Oracle GoldenGate CDC Extractがサブスクライバのみのノード(マスター3)から取得するトポロジを次に示します:
- Master 1および Master 2は、双方向レプリケーションを使用してアクティブ/アクティブモードで構成されます。
- Master 3は Master 1と Master 2の両方にサブスクライブされます。
- Oracle GoldenGate CDC Extractは、サブスクライバのみのノードマスター3で排他的に実行されます。
このトポロジに基づいて、各ノードの職責は次のとおりです。
- マスター1およびマスター2: アプリケーションの読取りおよび書込みを受け入れます。
- マスター3: Oracle GoldenGate CDC Extractに使用されるサブスクライバ専用ノード
マスター1およびマスター2ノードはアプリケーションからの読取りおよび書込みを受け入れますが、マスター3は、Oracle GoldenGate CDC Extractのサブスクライバ専用ノードとして機能することを目的としています。これには、アクティブ・ノードから発生した統合データが含まれます。
サブスクライバ・ノードでの操作を実行するためのOracle GoldenGate CDC Extractの構成
CDC Extractの構成を開始する前に、次のベスト・プラクティスを検討してください。
- Oracle GoldenGate CDC Extractを登録する前に、マスター1およびマスター2からマスター3へのレプリケーションが完全に同期されていることを確認します。
- レプリケーション・ラグ(Master to Subscriber)とCDC Extractの両方のラグを定期的に監視します。
- データの損失を防ぐために、
WALの保持およびレプリケーション・スロットの状態を確認します。
様々なDDLおよびDML操作を実行できるようにするには、サブスクライバ・ノードおよびOracle GoldenGate側で次のステップを実行する必要があります。
-
Peform DDL操作: マスター1およびマスター2でのみすべてのDDL文を実行します。これらの変更は、双方向レプリケーションによって自動的にマスター3にレプリケートされます。
-
サプリメンタル・ロギングの有効化: DDLの変更が正常にレプリケートされたら、マスター3に接続し、必要な表に対してtrandataコマンドを実行します。これにより、必要な列のサプリメンタル・ロギングが有効になります。これは、
UPDATEおよびDELETE操作のビフォア・イメージを取得するために必須です。 -
DML操作の実行: マスター1またはマスター2のみに対するすべてのDML操作を実行します。DMLアクティビティを開始する前に、マスター3が完全に構成されていることを確認します。
-
Set up the Replication Slot and Publication: Master 3でレプリケーションスロットおよびパブリケーションを作成します。
-
パブリケーションへの表の追加: DML操作を実行する前に、マスター3で作成されたパブリケーションに必要な表をすべて追加します。公開に含まれる表のみがCDC Extractによって取得されます。
Note: パブリケーションがMaster 1および/またはMaster 2で作成されていないことを確認します。
-
CDC Extractの登録および作成: マスター3に接続し、Extractを登録してサブスクライバ・ノードにレプリケーション・スロットを作成し、CDC Extractを追加します。PostgreSQLのCDC Extractを登録するステップは、「管理クライアントからのPostgreSQLのExtractの登録」を参照してください。
Note: ExtractがMaster 1またはMaster 2に接続されていないことを確認してください。
-
CDC Extractの構成: マスター3またはサブスクライバ・ノードにのみ接続するようにCDC Extractを構成します。このトポロジでは、Extractはマスター1またはマスター2に直接接続できません。
-
ハートビートの構成(オプション、推奨): ハートビート機能を使用する場合:
a. マスター1またはマスター2にハートビート・シード表を作成します。
b. マスター3にレプリケートした後、マスター3のパブリケーションにハートビート表を追加します。
c. CDCパイプラインをアクティブなままにして待機時間をモニターするように、Oracle GoldenGateのCDC Extractのハートビートを構成します。
ノート: Oracle GoldenGateでExtractのハートビート機能を構成するには、「ハートビート表の追加」を参照してください。Oracle GoldenGateコマンドライン・リファレンス・ガイドのADD HEARTBEATTABLEも参照してください。
-
構成済プロセスの検証: レプリケーション・スロット、パブリケーションおよびCDC Extractプロセスが存在し、想定どおりに機能していることを確認します。レプリケーション・ラグおよびExtractラグが正常であることを確認します。