Replicación de Datos de PostgresSQL a Snowflake mediante el Manejador de Streaming

Descubra cómo utilizar OCI GoldenGate para replicar datos de PostgreSQL a Snowflake mediante el manejador de transmisión.

Antes de empezar

Para completar correctamente este inicio rápido, debe tener lo siguiente:

Configuración de OCI Database with PostgreSQL

  1. Cree una instancia de OCI Database with PostgreSQL.

    1. En OCI Database with PostgreSQL:

      1. Seleccione Configuraciones.

      2. Utilice una configuración existente, como PostgreSQL.VM.Standard.E5.Flex-14-0_51.

      3. Seleccione Copiar configuración, cámbiele el nombre, agregue wal_level en las variables de usuario (lectura/escritura) y defínala en 'lógica'.

      4. Seleccione Crear.

      5. Consulte Copying a Configuration para obtener más información.

    2. Utilice la configuración con wal_level definido en true al crear el sistema de base de datos. Consulte Creación de un sistema de base de datos para obtener más información.

  2. Conéctese a OCI Database with PostgreSQL. Consulte Conexión a una base de datos para obtener más información.

  3. Cree una base de datos y un usuario para GoldenGate en OCI Database with PostgreSQL:

    1. Base de datos

      1. crear una base de datos ociggll;

      2. \c ociggll;

      3. crear esquema src_ociggll;

      4. Cargar script de ejemplo

    2. Usuario

      1. crear el usuario ggadmin con la contraseña <password>;

      2. CONCEDE TODOS LOS PRIVILEGIOS SOBRE LA BASE DE DATOS ociggll A ggadmin;

      3. GRANT SELECT ON ALL TABLES IN SCHEMA src_ociggll TO ggadmin;

Configurar base de datos de Snowflake

  1. Crear base de datos de Snowflake.

  2. Los usuarios deben crear un par de claves públicas y privadas para autenticarse en Snowflake.

  3. Cree un usuario específicamente para GoldenGate en Snowflake con privilegios adecuados.

  4. Agregue la clave pública al usuario de Snowflake, por ejemplo: ALTER USER example_user SET RSA_PUBLIC_KEY='MIIBIjANBgkqh...';

  5. Crear tablas de destino mediante esquema de ejemplo.

Tarea 1: Creación de recursos de OCI GoldenGate

En este ejemplo de inicio rápido se necesitan despliegues y conexiones tanto para el origen como para el destino.

  1. Se necesita GoldenGate para PostgreSQL 26ai.

  2. Cree un despliegue de PostgreSQL para la base de datos PostgreSQL de origen.

  3. Cree un despliegue de Big Data para la base de datos de Snowflake de destino.

  4. Cree una conexión PostgreSQL con los siguientes valores:

    1. En Tipo, seleccione OCI Database with PostgreSQL en la lista desplegable.

    2. En Nombre de base de datos, introduzca ociggll.

    3. En Nombre de usuario, introduzca ggadmin.

    4. Para Password (Contraseña), introduzca la contraseña.

    5. En Protocolo de seguridad, seleccione TLS en la lista desplegable y, a continuación, seleccione Preferir.

  5. Cree una conexión de Snowflake con los siguientes valores:

    1. En URL de conexión, introduzca jdbc:snowflake://<account_identifier>.snowflakecomputing.com/?warehouse=<warehouse name>&db=OCIGGLL.

      Nota: Asegúrese de sustituir <account_identifier> y <warehouse name> por los valores adecuados.

    2. En Tipo de autenticación, seleccione Autenticación de par de claves en la lista desplegable.

      Nota: La autenticación de par de claves es el único tipo de autenticación soportado para Snowflake Streaming.

    3. En Nombre de usuario, introduzca un nombre.

    4. Cargue la clave privada que ha creado anteriormente.

    5. Introduzca la frase de contraseña para la clave privada en el campo de contraseña para la clave privada.

  6. Cree una conexión a GoldenGate para el despliegue de Big Data de destino y, a continuación, asigne esta conexión al despliegue de PostgreSQL de origen.

  7. Asigne la conexión de PostgreSQL de origen al despliegue de PostgreSQL.

  8. Asigne la conexión de Snowflake al despliegue de Big Data de destino.

Tarea 2: Activar el registro complementario

Para activar el registro complementario:

  1. Inicie la consola de despliegue de PostgreSQL GoldenGate:

    1. En la página Despliegues, seleccione el despliegue de PostgreSQL para ver los detalles.

    2. En la página del despliegue de PostgreSQL, seleccione Iniciar consola.

    3. En la página de conexión de la consola de despliegue, introduzca las credenciales de administrador de GoldenGate proporcionadas en la tarea 1, paso 1.

      Nota: La conexión es necesaria si IAM no se ha seleccionado como almacén de credenciales al crear un despliegue.

  2. En la consola de despliegue, seleccione Conexiones de base de datos en la navegación izquierda, la base de datos PostgreSQL de origen y, a continuación, Trandata.

  3. En la página Datos de Transacción, junto a Información de TRANDATA, seleccione Agregar Datos de Transacción (icono más).

  4. En el panel Datos de transacción, en Nombre de esquema, introduzca src_ociggll y, a continuación, seleccione Enviar.

    Nota: Utilice el campo de búsqueda para buscar src_ociggll y verificar que se han agregado las tablas.

Tarea 3: Creación de los Extracts

  1. Agregue la extracción de captura de cambios en datos:

    1. En la navegación izquierda, seleccione Extracts.

    2. En la página Extracts, seleccione Add Extract (icono más) y, a continuación, complete los campos de la siguiente manera:

      • En la página Información de extracción:

        1. En Tipo de extracción, seleccione Cambiar extracción de captura de datos.

        2. En Nombre de proceso, introduzca un nombre para el Extract, como ECDC.

        3. Seleccione Next (Siguiente).

      • En la página Opciones de Extracción:

        1. Para las credenciales de origen, seleccione Oracle GoldenGate en la lista desplegable Dominio

        2. Seleccione la base de datos PostgreSQL de origen en la lista desplegable Alias.

        3. En Nombre de pista de extracción, introduzca un nombre de pista de dos caracteres, como C1.

        4. Seleccione Next (Siguiente).

      • En la página Parámetros de Extract, sustituya MAP *.*, TARGET *.*; por lo siguiente:

        TABLE SRC_OCIGGLL.*;
    3. Seleccione Crear y ejecutar.

  2. Agregue el Extract de carga inicial:

    1. En la página Extracts, seleccione Agregar Extract y, a continuación, complete el formulario Add Extract de la siguiente manera:

      • En la página Información de extracción:

        1. Para el tipo de extracción, seleccione Extracción de carga inicial.

        2. En Nombre de proceso, introduzca un nombre, como EIL.

        3. Seleccione Next (Siguiente).

      • En la página Opciones de Extracción:

        1. Para las credenciales de origen, seleccione Oracle GoldenGate en la lista desplegable Dominio.

        2. Seleccione la base de datos PostgreSQL en la lista desplegable Alias.

        3. En Nombre de Pista de Extracción, introduzca un nombre de ruta de dos caracteres, como I1.

        4. Seleccione Next (Siguiente).

      • En la página Parámetros de Extract, sustituya el contenido del área de texto por lo siguiente:

        EXTRACT EIL
        USERIDALIAS PostgreSQL_Compute, DOMAIN OracleGoldenGate
        EXTFILE I1, PURGE
        TABLE src_ociggll.*;

        Nota: Asegúrese de eliminar el parámetro SOURCEDB delante de USERIDALIAS antes de continuar.

    2. Seleccione Crear y ejecutar.

Vuelva a la página Extracts, donde puede observar el inicio de Extract.

Tarea 4: Creación de la ruta de distribución para el Extract de carga inicial

Para crear una ruta de distribución para la extracción de carga inicial:

  1. En la consola de Oracle Cloud, en la página Despliegues, seleccione el despliegue de Big Data del destino.

  2. En la página de detalles del despliegue, seleccione Iniciar consola y, a continuación, conéctese como usuario administrador.

  3. Si utiliza el almacén de credenciales de IAM, continúe con el paso Crear una ruta de distribución. Si utiliza el almacén de credenciales de GoldenGate, cree un usuario con el que GoldenGate de origen utilice para conectarse al GoldenGate de destino.

    1. En el menú de navegación, seleccione User Administration (Administración de usuarios).

    2. Seleccione Agregar nuevo usuario (icono con signo más), complete los campos como se indica a continuación y, a continuación, seleccione Enviar:

      • En Nombre de usuario, introduzca ggsnet.

      • En Rol, seleccione Operador.

      • Introduzca la contraseña dos veces para su verificación.

  4. En la consola de despliegue de PostgreSQL de origen, cree una conexión de ruta para el usuario creado en el paso anterior.

    1. En el menú de navegación, seleccione Path Connections (Conexiones de ruta).

    2. Seleccione Agregar conexión de ruta de acceso (icono más), complete los campos de la siguiente manera y, a continuación, seleccione Enviar:

      • En Alias de credencial, introduzca dpuser.

      • En ID de usuario, introduzca ggsnet

      • En Contraseña, introduzca la misma contraseña utilizada en el paso anterior.

  5. Crear una ruta de distribución.

    1. En la barra de menús del servicio, seleccione Rutas y, a continuación, seleccione Agregar ruta de distribución (icono más).

    2. Complete el formulario Agregar ruta de la siguiente manera:

      • En la página Path Information:

        1. En Nombre de la ruta, introduzca un nombre para esta ruta.

        2. Seleccione Next (Siguiente).

      • En la página Source Options:

        1. En Extracción de origen, deje en blanco.

        2. En Nombre de pista, introduzca el nombre de pista de Extract de carga inicial (I1).

        3. Seleccione Next (Siguiente).

      • En la página Opciones de Destino:

        1. En Destino, seleccione wss.

        2. En Host de Destino, introduzca la URL de despliegue de origen, sin https:// ni barras inclinadas finales.

        3. En Número de puerto, introduzca 443.

        4. En Nombre de la pista, introduzca I1.

        5. En Método de autenticación del destino, seleccione Alias de ID de Usuario.

        6. En Dominio, introduzca el nombre de dominio creado en el paso anterior.

        7. En Alias, introduzca el alias creado en el paso anterior (dpuser).

        8. Seleccione Next (Siguiente).

    3. Seleccione Crear y ejecutar.

    Volverá a la página Servicio de distribución, donde podrá revisar la ruta de acceso creada.

  6. En la consola de despliegue de destino, revise la ruta del receptor creada como resultado de la ruta del distribuidor:

    1. Seleccione Paths (Rutas).

    2. Revise los detalles de ruta.

Tarea 5: Adición del Replicat para la carga inicial

  1. En la consola de despliegue de Big Data del destino, agregue el Replicat de carga inicial.

    1. En el menú de navegación, seleccione Replicats y, a continuación, seleccione Add Replicat (icono más).

    2. En la página Replicats, complete los campos Add Replicat de la siguiente manera:

      1. En la página Replication Information:

        1. En Tipo de Replicat, seleccione Replicat Coordinado.

        2. En Nombre de proceso, introduzca un nombre, como RIL.

        3. Seleccione Next (Siguiente).

      2. En la página Replicat Options:

        1. En Nombre de Pista de Replicat, introduzca el nombre de las pistas desde la tarea 2 (I1).

        2. En Destino, seleccione Copo de nieve.

        3. En Credenciales de destino, seleccione el dominio y alias para la conexión de Snowflake.

        4. Para Alias disponibles, seleccione un alias en la lista desplegable, como Snowflake.

        5. Seleccione Streaming.

        6. Seleccione Next (Siguiente).

      3. En la página Archivo de parámetros, agregue la siguiente asignación:

        INSERTALLRECORDS
        MAP src_ociggll.src_city, TARGET SRCMIRROR_OCIGGLL.SRC_CITY;
        MAP src_ociggll.src_region, TARGET SRCMIRROR_OCIGGLL.SRC_REGION;
        MAP src_ociggll.src_customer, TARGET SRCMIRROR_OCIGGLL.SRC_CUSTOMER;
        MAP src_ociggll.src_orders, TARGET SRCMIRROR_OCIGGLL.SRC_ORDERS;
        MAP src_ociggll.src_order_lines, TARGET SRCMIRROR_OCIGGLL.SRC_ORDER_LINES;
        MAP src_ociggll.src_product, TARGET SRCMIRROR_OCIGGLL.SRC_PRODUCT;
      4. En la página Properties, revise las propiedades y agregue jvm.bootoptions= -Djdk.lang.processReaperUseDefaultStackSize=true.

      5. Seleccione Crear y ejecutar.

    Volverá a la página Replicats, donde podrá revisar los detalles de Replicat.

  2. Para verificar la carga inicial, conéctese a la base de datos Snowflake y ejecute las siguientes consultas:

    select * from SRCMIRROR_OCIGGLL.SRC_CITY;
    select * from SRCMIRROR_OCIGGLL.SRC_CUSTOMER;

    La salida debe devolver los datos que se han cargado en las tablas de la base de datos de destino como resultado de la carga inicial.

Tarea 6: Creación de la Ruta de Distribución para la Captura de Cambios en los Datos

  1. En la consola de despliegue de PostgreSQL de origen, seleccione Servicio de distribución.

  2. Seleccione Agregar ruta de distribución.

  3. Complete el formulario Agregar ruta de la siguiente manera:

    1. En la página Path Information:

      1. En Nombre de ruta, introduzca un nombre.

      2. Seleccione Next (Siguiente).

    2. En la página Source Options:

      1. En Extracción de origen, seleccione la extracción de captura de datos de cambio (ECDC).

      2. En Nombre de la pista, seleccione el archivo del registro de captura del cambio de datos (C1).

      3. Seleccione Next (Siguiente).

    3. En la página Opciones de Destino:

      1. En Destino, seleccione wss.

      2. En Host de destino, introduzca la URL de la consola de despliegue de destino (puede encontrarlo en la página de detalles del despliegue, sin https:// ni barras finales).

      3. En Número de puerto, introduzca 443.

      4. En Nombre de la pista, introduzca C1.

      5. En Método de autenticación del destino, seleccione Alias de ID de Usuario.

      6. En Dominio, introduzca el nombre de dominio.

      7. En Alias, introduzca el alias.

    4. Seleccione Create Path and Run.

Tarea 7: Adición de un Replicat para la captura de cambios en los datos

Realice actualizaciones en la base de datos PostgreSQL de origen para verificar la replicación en Snowflake.

  1. Agregue el Replicat.

    1. En la consola de despliegue de Big Data de destino, seleccione Servicio de administración y, a continuación, en el menú de navegación, seleccione Replicats.

    2. En la página Replicats, seleccione Agregar Replicat (icono más) y, a continuación, complete el formulario Agregar Replicat de la siguiente manera:

      • En la página Replicat Information:
        1. En Tipo de replicación, seleccione Clásico o Coordinado.

        2. En Nombre de proceso, introduzca un nombre, como RCDC.

        3. Seleccione Next (Siguiente).

      • En la página Replicat Options:
        1. En Nombre de Pista de Replicat, introduzca el nombre de las pistas desde la tarea 3 (C1).

        2. En Destino, seleccione Copo de nieve.

        3. En Credenciales de destino, seleccione el dominio y el alias para la conexión de copo de nieve.

        4. Seleccione Streaming.

      • En la página Archivos de parámetros, agregue la siguiente asignación y, a continuación, seleccione Siguiente:

        INSERTALLRECORDS
        MAP src_ociggll.src_city, TARGET SRCMIRROR_OCIGGLL.SRC_CITY;
        MAP src_ociggll.src_region, TARGET SRCMIRROR_OCIGGLL.SRC_REGION;
        MAP src_ociggll.src_customer, TARGET SRCMIRROR_OCIGGLL.SRC_CUSTOMER;
        MAP src_ociggll.src_orders, TARGET SRCMIRROR_OCIGGLL.SRC_ORDERS;
        MAP src_ociggll.src_order_lines, TARGET SRCMIRROR_OCIGGLL.SRC_ORDER_LINES;
        MAP src_ociggll.src_product, TARGET SRCMIRROR_OCIGGLL.SRC_PRODUCT;
      • En la página Propiedades, revise las propiedades, agregue la siguiente asignación y, a continuación, seleccione Crear y ejecutar:

        jvm.bootoptions= -Djdk.lang.processReaperUseDefaultStackSize=true

    Volverá a la página Replicats, donde podrá revisar los detalles de Replicat.

  2. Verificar Captura de Cambios en Datos:

    1. Realice actualizaciones en la base de datos PostgreSQL de origen para verificar la replicación en Snowflake. Ejecute el siguiente script para realizar inserciones en la base de datos PostgreSQL:

      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1000,'Houston',20,743113);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1001,'Dallas',20,822416);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1002,'San Francisco',21,157574);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1003,'Los Angeles',21,743878);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1004,'San Diego',21,840689);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1005,'Chicago',23,616472);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1006,'Memphis',23,580075);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1007,'New York City',22,124434);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1008,'Boston',22,275581);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1009,'Washington D.C.',22,688002);
    2. En la consola de despliegue de PostgreSQL de origen, seleccione RCDC y, a continuación, seleccione Estadísticas. Verifique que src_ociggll.src_city tenga 10 inserciones.

      Nota: Si el Extract no capturó ninguna inserción, reinicie el Extract ECDC.

    3. En la consola de despliegue de Big Data de destino, seleccione RCDC, revise sus Detalles y sus Estadísticas para verificar el número de inserciones.

Tarea 8: Supervisión y mantenimiento de procesos

  1. Supervise el proceso de replicación.

  2. Gestión de archivos de pista.