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:
-
ADD TRANDATAen las tablas de la base de datos origen.DBLOGIN USERIDALIAS src_aliasADD TRANDATA dbo.* -
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; -
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.
-
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.*; -
Inicie el Extract de carga inicial.
START EXTRACT einit -
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 einitINFO 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 -
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; -
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:0002ADD EXTTRAIL ea, EXTRACT extcdc -
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.ggcheckSTART rinit--Sample Initial Load Replicat Parameter file REPLICAT rinit USERIDALIAS tgt_alias BATCHSQL SPLIT_TRANS_RECS 100000 MAP dbo.*, TARGET dbo.*; -
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.ggcheckSTART EXTRACT extcdcSTART REPLICAT repcd