SQL Serverの正確なインスタンス化

Oracle GoldenGate 23ai (23.8)以降では、SQL Serverの初期ロードExtractを使用した正確なインスタンス化方法を使用できます。正確なインスタンス化の方法では、ソース・データベースからターゲット・データベースへのデータの初期ロードが可能ですが、ソース・データベースはアプリケーションの更新のためにオンラインのままになります。この方法では、ターゲット・データベースに重複データを持たず、ReplicatでHANDLECOLLISIONSを使用する必要なく、変更データの取得および配信プロセスを正確に位置指定できます。

Oracle GoldenGate for SQL Serverの正確なインスタンス化では、スナップショットの分離を可能にするためにソースSQL Serverデータベースを設定し、初期ロードExtractでINITIALLOADOPTIONS USESNAPSHOTパラメータを使用する必要があります。この方法を使用すると、サポートされているSQL Serverソース・データベースからサポートされているOracleおよびOracle以外のターゲット・データベースをインスタンス化できます。

ソース・インスタンスからのスキーマ・ダンプを使用した正確なインスタンス化の方法の例を次に示します。その後、ターゲット・インスタンスにロードし、変更データ・レプリケーション用にOracle GoldenGateを構成します:

  1. ソース・データベースの表に対してADD TRANDATAを実行します。
    DBLOGIN USERIDALIAS src_alias
    ADD TRANDATA dbo.*
  2. TRANDATAの完了後、データベースでスナップショットの分離が有効になっているかどうかを確認し、有効になっていない場合は手動で有効にします。
    ALTER DATABASE tpcc_source SET ALLOW_SNAPSHOT_ISOLATION ON;
  3. Microservices Architectureの場合は、WebUIにCDCデータのパージ・タスクを追加します。
  4. INITIALLOADOPTIONS USESNAPSHOTパラメータを使用して初期ロードExtractを作成します。
    ADD EXTRACT einit, SOURCEISTABLE
    --Sample Initial Load Extract Parameter File:
    	EXTRACT einit
    	USERIDALIAS tpcc_source2017 
    	INITIALLOADOPTIONS USESNAPSHOT
    	EXTFILE ei, MEGABYTES 500, PURGE
    	TABLE dbo.*;
  5. 初期ロードExtractを起動します。
    START EXTRACT einit
  6. 初期ロードExtractが完了して停止したら、レポート・ファイルを表示して、CDC Extractの作成時に使用される次のようなメッセージを探します。
    VIEW REPORT einit
    INFO    OGG-05381  A consistent point is established in database 'tpcc_source' at LSN 0x00000488:00002a98:0002.  
    	OGG-05379  Create or position a Change Data Capture Extract to LSN 0x00000488:00002a98:0002. Example: ADD EXTRACT <extract-name> TRANLOG LSN 
    	0x00000488:00002a98:0002 or ALTER EXTRACT <extract-name> LSN 0x00000488:00002a98:0002
  7. GoldenGateの正確なインスタンス化を設定する前に、ソース・データベースのスナップショットの分離がOFFになっていない場合は、OFFに設定します。
    ALTER DATABASE tpcc_source SET ALLOW_SNAPSHOT_ISOLATION OFF;
  8. 初期ロードExtractのレポート・ファイルのLSN出力を使用してCDC Extractを作成します。
    ADD EXTRACT extcdc TRANLOG LSN 0x00000488:00002a98:0002
    ADD EXTTRAIL ea, EXTRACT extcdc
  9. 初期ロードReplicatを作成して起動します。
    ADD REPLICAT rinit, PARALLEL, EXTTRAIL ei, CHECKPOINTTABLE ggadmin.ggcheck
    START rinit
    --Sample Initial Load Replicat Parameter file
    	REPLICAT rinit
    	USERIDALIAS tgt_alias
    	BATCHSQL
    	SPLIT_TRANS_RECS 100000
    	MAP dbo.*, TARGET dbo.*;
  10. 初期ロードReplicatの処理が終了したら、CDC Extractを起動し、CDC Replicatを作成して起動します。
    ADD REPLICAT repcd, COORDINATED, EXTTRAIL ea, CHECKPOINTTABLE ggadmin.ggcheck
    START EXTRACT extcdc
    START REPLICAT repcd