Instanciación precisa para PostgreSQL mediante el extracto de carga inicial
La sincronización de datos de una base de datos PostgreSQL de origen a un destino de Oracle GoldenGate se puede realizar con el método opcional de utilizar una instanciación precisa. Este método se ha introducido con Oracle GoldenGate 21c (21.8.0).
La instanciación precisa tiene la ventaja de no requerir ningún manejo de colisiones en el Replicat de destino. Esto es importante para los destinos que no admiten el manejo de colisiones, como archivos planos. Este método utiliza una instantánea de base de datos para sincronizar la salida de Extract de carga inicial con la posición inicial de Extract de captura de datos de cambio. Esta instantánea se gestiona mediante el Extract de carga inicial, por lo que no es posible que varios Extract de carga inicial utilicen la misma instantánea. Por lo tanto, este método no está soportado al utilizar varias extracciones de carga inicial para paralelizar la carga de trabajo.
En el siguiente ejemplo se utiliza el cliente de administración dentro de la arquitectura de microservicios. Se supone que está familiarizado con Oracle GoldenGate y que ha configurado las bases de datos de origen y destino correctamente, con todos los requisitos necesarios. Estos pasos requieren un mínimo de Oracle GoldenGate 21c (21.8.0) o superior.
Realice los siguientes pasos para configurar de principio a fin los procesos de carga y sincronización iniciales mediante el método de instanciación preciso:
-
Registre una extracción de captura de datos de cambio (CDC) con la base de datos PostgreSQL de origen.
DBLOGIN USERIDALIAS src_alias REGISTER EXTRACT extecdcEn este ejemplo,
extecdces el nombre de Extract. Para la arquitectura de microservicios, utiliceDBLOGIN USERIDALIASpara configurar la conexión a la base de datos. -
Crear una extracción de carga inicial.
ADD EXTRACT extinit, SOURCEISTABLE EDIT PARAMS extinitEl archivo de parámetros Extract de carga inicial debe contener el parámetro
INITIALLOADOPTIONS USESNAPSHOT. Por ejemplo:EXTRACT extinit INITIALLOADOPTIONS USESNAPSHOT SOURCEDB USERIDALIAS src_alias EXTFILE west/ei, MEGABYTES 500, PURGE TABLE public.*;Consulte
INITIALLOADOPTIONSpara obtener información sobre el uso de este parámetro con la opciónUSESNAPSHOT. -
Inicie el Extract de carga inicial.
START EXTRACT extinit -
Cuando el Extract de carga inicial se haya completado y detenido, revise su archivo de informe para determinar el LSN de posicionamiento que utilizará el Extract de CDC.
Por ejemplo, en la siguiente salida, el LSN de posicionamiento que utilizará el extracto de CDC será '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. -
Cree e inicie un Replicat de carga inicial que lea la pista desde el Extract de carga inicial.
DBLOGIN USERIDALIAS tgt_aliasADD CHECKTPOINTTABLE ggs.checkpointADD REPLICAT repinit, EXTTRAIL west/ei, CHECKPOINTTABLE ggs.ggcheckpointSTART REPLICAT repinitA continuación se muestra un ejemplo del archivo de parámetros Replicat de carga inicial:
REPLICAT repinit TARGETDB USERIDALIAS tgt_alias BATCHSQL MAP public.*, TARGET public.*; -
Agregue e inicie el Extract de CDC (
extecdc) mediante el valor de LSN consistente al que se hace referencia en el archivo de informe de extracción de carga inicial.ADD EXTRACT extecdc, TRANLOG, LSN 0/173F770ADD EXTTRAIL ea, EXTRACT extecdcSTART EXTRACT extecdcA continuación se muestra un ejemplo de un archivo de parámetros de extracción de CDC:
EXTRACT extecdc SOURCEDB USERIDALIAS src_alias EXTTRAIL west/ea TABLE public.*; -
Cuando la carga inicial Replicat haya procesado todos los registros de carga inicial, agregue e inicie un Replicat de CDC que lea la pista desde el extracto de CDC.
ADD REPLICAT repecdc, EXTTRAIL west/ea, CHECKPOINTTABLE ggs.ggcheckpointSTART REPLICAT repecdc -
Supervise el retraso tanto en el Extract de CDC como en el Replicat de CDC y, cuando ambos están cerca de cero segundos, el flujo de datos de la base de datos de origen a destino debe estar cerca del tiempo real.