正確なインスタンス化を使用した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)以上が必要です。
正確なインスタンス化方法を使用してエンドツーエンドの初期ロードおよび同期プロセスを設定するには、次のステップを実行します:
-
チェンジ・データ・キャプチャ(CDC) ExtractをソースのPostgreSQLデータベースに登録します。
DBLOGIN USERIDALIAS src_alias REGISTER EXTRACT extecdc
この例では、
extecdc
がExtract名です。Microservices Architectureの場合は、データベース接続設定にDBLOGIN USERIDALIAS
を使用します。 -
初期ロード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
を参照してください。 -
初期ロードExtractを起動します。
START EXTRACT extinit
-
初期ロード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.
-
初期ロード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.*;
-
初期ロード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.*;
-
初期ロードReplicatが完了して停止したら、CDC Extractから証跡を読み取るCDC Replicatを追加して起動します。
ADD REPLICAT repecdc, EXTTRAIL west/ea, CHECKPOINTTABLE ggs.ggcheckpoint
START REPLICAT repecdc
-
CDC ExtractとCDC Replicatの両方のラグを監視し、両方が0秒に近い場合、ソース・データベースからターゲット・データベースへのデータ・ストリームはリアルタイムに近いはずです。
親トピック: インスタンス化