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:

  1. 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 extecdc

    En este ejemplo, extecdc es el nombre de Extract. Para la arquitectura de microservicios, utilice DBLOGIN USERIDALIAS para configurar la conexión a la base de datos.

  2. Crear una extracción de carga inicial.

    ADD EXTRACT extinit, SOURCEISTABLE
    EDIT PARAMS extinit

    El 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 INITIALLOADOPTIONS para obtener información sobre el uso de este parámetro con la opción USESNAPSHOT.

  3. Inicie el Extract de carga inicial.

    START EXTRACT extinit
  4. 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.
  5. Cree e inicie un Replicat de carga inicial que lea la pista desde el Extract de carga inicial.

    DBLOGIN USERIDALIAS tgt_alias
    ADD CHECKTPOINTTABLE ggs.checkpoint
    ADD REPLICAT repinit, EXTTRAIL west/ei, CHECKPOINTTABLE ggs.ggcheckpoint
    START REPLICAT repinit

    A 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.*;
  6. 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/173F770
    ADD EXTTRAIL ea, EXTRACT extecdc
    START EXTRACT extecdc

    A 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.*;
  7. 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.ggcheckpoint
    START REPLICAT repecdc
  8. 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.