正確なインスタンス化を使用したPostgreSQLソース・データベースの初期同期の構成

ソースPostgreSQLデータベースからOracle GoldenGateターゲットへのデータ同期は、正確なインスタンス化を使用するオプションの方法を使用して実行できます。この方法は、Oracle GoldenGate 21c (21.8.0)で導入されました。

正確なインスタンス化には、ターゲットReplicatで競合処理が必要ないという利点があります。これは、フラット・ファイルなど、衝突処理をサポートしていないターゲットで重要です。この方法では、データベース・スナップショットを使用して、初期ロードExtractの出力をチェンジ・データ・キャプチャExtractの開始位置と同期します。このスナップショットは初期ロードExtractによって管理されるため、複数の初期ロードExtractで同じスナップショットを使用することはできません。したがって、この方法は、複数の初期ロードExtractを使用してワークロードをパラレル化する場合にはサポートされません。

次の例では、Microservices Architecture内の管理クライアントを使用します。Oracle GoldenGateに精通し、必要なすべての前提条件とともにソース・データベースとターゲット・データベースを正しく設定していることを前提としています。これらのステップには、Oracle GoldenGate 21c (21.8.0)以上が必要です。

正確なインスタンス化方法を使用してエンドツーエンドの初期ロードおよび同期プロセスを設定するには、次のステップを実行します:

  1. チェンジ・データ・キャプチャ(CDC) ExtractをソースのPostgreSQLデータベースに登録します。

    DBLOGIN USERIDALIAS src_alias
    REGISTER EXTRACT extecdc

    この例では、extecdcがExtract名です。Microservices Architectureの場合は、データベース接続設定にDBLOGIN USERIDALIASを使用します。

  2. 初期ロードExtractを作成します。
    ADD EXTRACT extinit, SOURCEISTABLE
    EDIT PARAMS extinit
    初期ロードExtractパラメータ・ファイルには、INITIALLOADOPTIONS USESNAPSHOTパラメータが含まれている必要があります。たとえば:
    EXTRACT extinit
    INITIALLOADOPTIONS USESNAPSHOT
    SOURCEDB USERIDALIAS src_alias
    EXTFILE west/ei, MEGABYTES 500, PURGE
    TABLE public.*;

    USESNAPSHOTオプションでのこのパラメータの使用方法については、INITIALLOADOPTIONSを参照してください。

  3. 初期ロードExtractを起動します。
    START EXTRACT extinit
  4. 初期ロードExtractが完了して停止したら、レポート・ファイルをレビューして、CDC Extractで使用される位置指定LSNを確認します。

    たとえば、次の出力では、CDC Extractで使用される位置指定LSNは0/173F770になります。
    INFO    OGG-100001 A consistent point is
    established in database 'tpcc' using replication slot ogg_initx_1234 at LSN 0/173F770
    and snapshot name '00000003-00000026-1'.
    INFO    OGG-100002 Create or position the CDC
    extract to LSN 0/173F770. Example: ADD EXTRACT <cdc-extract> TRANLOG LSN 0/173F770
    or ALTER EXTRACT <cdc-extract> LSN 0/173F770.
  5. 初期ロードExtractから証跡を読み取る初期ロードReplicatを作成して起動します。

    DBLOGIN USERIDALIAS tgt_alias
    ADD CHECKTPOINTTABLE ggs.checkpoint
    ADD REPLICAT repinit, EXTTRAIL west/ei, CHECKPOINTTABLE ggs.ggcheckpoint
    START REPLICAT repinit
    初期ロードReplicatパラメータ・ファイルの例を次に示します:
    REPLICAT repinit
    TARGETDB USERIDALIAS tgt_alias
    END RUNTIME
    BATCHSQL
    MAP public.*, TARGET public.*;
  6. 初期ロードExtractレポート・ファイルで参照される一貫性のあるLSN値を使用して、CDC Extract (extecdc)を追加して起動します。
    ADD EXTRACT extecdc, TRANLOG, LSN 0/173F770
    ADD EXTTRAIL ea, EXTRACT extecdc
    START EXTRACT extecdc
    CDC Extractパラメータ・ファイルの例を次に示します:
    EXTRACT extecdc
    SOURCEDB USERIDALIAS src_alias
    EXTTRAIL west/ea
    TABLE public.*;
  7. 初期ロードReplicatが完了して停止したら、CDC Extractから証跡を読み取るCDC Replicatを追加して起動します。

    ADD REPLICAT repecdc, EXTTRAIL west/ea, CHECKPOINTTABLE ggs.ggcheckpoint
    START REPLICAT repecdc
  8. CDC ExtractとCDC Replicatの両方のラグを監視し、両方が0秒に近い場合、ソース・データベースからターゲット・データベースへのデータ・ストリームはリアルタイムに近いはずです。