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

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

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

次に、ソース・インスタンスからのスキーマ・ダンプを使用してターゲット・インスタンスにロードし、その後に変更データ・レプリケーション用の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データのパージ・タスクを追加します。詳細は、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. スナップショットの分離を許可するソース・データベース・オプションは、ステップ2で手動で有効にした場合、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. 初期ロードExtractによって作成された証跡から読み取る初期ロード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, PARALLEL, EXTTRAIL ea, CHECKPOINTTABLE ggadmin.ggcheck
    START EXTRACT extcdc
    START REPLICAT repcd