Instanciación precisa para SQL Server

A partir de Oracle GoldenGate 23.8, se puede orquestar una instanciación precisa mediante el Extract de carga inicial para SQL Server. El método preciso de instanciación permite la carga inicial de datos de una base de datos origen a una base de datos destino mientras la base de datos origen permanece en línea para las actualizaciones de la aplicación. Este método garantiza un posicionamiento preciso de los procesos de captura y entrega de datos de cambio sin tener datos duplicados en la base de datos de destino y sin necesidad de utilizar HANDLECOLLISIONS en Replicat.

La instanciación precisa para Oracle GoldenGate for SQL Server requiere definir la base de datos de SQL Server de origen para permitir el aislamiento de instantáneas y utiliza el parámetro INITIALLOADOPTIONS USESNAPSHOT en el Extract de carga inicial. Este método se puede utilizar para instanciar cualquier base de datos de destino soportada desde cualquier base de datos de origen de SQL Server soportada.

A continuación se muestra un método de instanciación preciso de ejemplo que utiliza un volcado de esquema de la instancia de origen y, a continuación, se carga en la instancia de destino, seguido de la configuración de Oracle GoldenGate para la replicación de datos de cambio:

  1. ADD TRANDATA en las tablas de la base de datos origen.

    DBLOGIN USERIDALIAS src_alias
    ADD TRANDATA dbo.*
  2. Cuando termine TRANDATA, verifique que la base de datos esté activada para el aislamiento de instantáneas y, si no, actívela manualmente.

    ALTER DATABASE tpcc_source SET ALLOW_SNAPSHOT_ISOLATION ON;
  3. Para la arquitectura de microservicios, agregue una tarea Depurar datos CDC en WebUI. Consulte Depuración de datos de ubicación temporal de CDC y Depuración de proceso para obtener más información.

  4. Cree un Extract de carga inicial con el parámetro INITIALLOADOPTIONS USESNAPSHOT.

    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. Inicie el Extract de carga inicial.

    START EXTRACT einit
  6. Cuando finalice y se detenga el Extract de carga inicial, consulte el archivo de informe, buscando un mensaje similar al que se muestra a continuación, que se utilizará al crear el Extract de CDC.

    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. La opción de la base de datos origen para permitir el aislamiento de instantáneas ahora se puede volver a definir en OFF si se activó manualmente en el paso 2.

    ALTER DATABASE tpcc_source SET ALLOW_SNAPSHOT_ISOLATION OFF;
  8. Cree un extracto de CDC mediante la salida de LSN del archivo de informe de Extract de carga inicial.

    ADD EXTRACT extcdc TRANLOG LSN 0x00000488:00002a98:0002
    ADD EXTTRAIL ea, EXTRACT extcdc
  9. Cree e inicie un Replicat de carga inicial que lea desde la pista creada por el Extract de carga inicial.

    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. Cuando finalice el procesamiento de la carga inicial de Replicat, cree e inicie un Replicat de CDC que lea de la pista creada por el extracto de CDC.

    ADD REPLICAT repcd, PARALLEL, EXTTRAIL ea, CHECKPOINTTABLE ggadmin.ggcheck
    START EXTRACT extcdc
    START REPLICAT repcd