Note:

Migración de una base de datos PostgreSQL local a una base de datos OCI con PostgreSQL mediante OCI GoldenGate

Introducción

Oracle Cloud Infrastructure Database con PostgreSQL (OCI Database con PostgreSQL) es un servicio totalmente gestionado que escala automáticamente el almacenamiento a medida que se crean o borran tablas de base de datos. Esto simplifica la gestión y optimiza los costos de almacenamiento para usted. Los datos se cifran tanto en tránsito como estáticos.

OCI GoldenGate soporta la migración lógica en línea, lo que permite transiciones fluidas y migración casi sin tiempo de inactividad para OCI Database con bases de datos de servicio PostgreSQL. Esta función soporta la migración de bases de datos PostgreSQL locales en VM a OCI Database con el servicio PostgreSQL, versiones 14, 15 bases de datos y versiones futuras.

En este tutorial se describe cómo OCI GoldenGate facilita la migración de bases de datos PostgreSQL locales en VM versión 14 a OCI Database con bases de datos de servicio PostgreSQL versión 14. La carga inicial se realiza mediante la utilidad de copia de seguridad pg_dump (pg_dumpall)/pg_restore. Se creará una copia de seguridad o instantánea de la base de datos origen, que se restaurará en el sistema de destino seguido de la replicación de OCI GoldenGate Change Data Capture (CDC) para sincronizar el origen (bases de datos PostgreSQL de VM locales) y el destino (base de datos OCI con el servicio PostgreSQL).

En la siguiente imagen se muestra la arquitectura para migrar una base de datos PostgreSQL local en VM a OCI Database con el servicio PostgreSQL mediante OCI GoldenGate.

Imagen en la que se muestra la arquitectura

Objetivos

Requisitos

Nota: Estos requisitos son para una base de datos PostgreSQL local en VM (origen).

Tarea 1: Preparación del entorno de la base de datos de origen

  1. Ejecute la siguiente consulta para crear un usuario de replicación. Este usuario se debe utilizar mientras creamos una conexión en la consola de OCI.

    create user ggadmin with password ‘<<password>>’;
    GRANT ALL PRIVILEGES ON DATABASE campaign TO ggadmin;
    alter user ggadmin replication;
    alter user ggadmin with superuser;
    
  2. Se debe cambiar el siguiente parámetro y reiniciar el sistema de base de datos para que se modifique wal_level.

    ALTER SYSTEM SET wal_level = logical;
    ALTER SYSTEM SET track_commit_timestamp = on;
    

Tarea 2: Aprovisionamiento de OCI GoldenGate y configuración de conexiones

  1. Conéctese a la consola de OCI y cree el despliegue de OCI GoldenGate para la base de datos PostgreSQL.

    Imagen en la que se muestra la creación del despliegue

    Imagen en la que se muestra la creación del despliegue

    Imagen en la que se muestra la creación del despliegue

    Imagen en la que se muestra la creación del despliegue

    Imagen en la que se muestra la creación del despliegue

  2. Cree la conexión GoldenGate de OCI para OCI PostgreSQL.

    1. Introduzca los detalles de la conexión de origen y haga clic en Crear.

      Imagen que muestra la creación de SourceConnections

      Imagen que muestra la creación de SourceConnections

    2. Introduzca los detalles de conexión de destino y haga clic en Crear.

      Imagen que muestra la creación de TargetConnections

      Imagen que muestra la creación de TargetConnections

    Nota: Si se crea una conexión para VM, el protocolo SSL debe ser Simular y para OCI Database con el servicio PostgreSQL, el protocolo SSL debe ser Requerir.

  3. Haga clic en Crear para crear la conexión.

Tarea 3: Configuración de la replicación de la base de datos de origen

  1. Cree Extract en OCI GoldenGate.

    Imagen en la que se muestra la creación de trandatos de esquema

    Nota: Agregue trandata de esquema en la base de datos de origen para todos los esquemas elegibles y haga clic en Enviar.

    Imagen en la que se muestra la creación de Extract

    Imagen en la que se muestra la creación de Extract

    Imagen que muestra la creación del parámetro de extracción file1

    Nota: Haga clic en CREAR y no haga clic en CREAR y EJECUTAR.

  2. Cree un espacio de replicación temporal en la base de datos origen que se utilizará para crear un punto de partida para nuestro proceso de extracción y para posicionar la instantánea PostgreSQL. Esto se puede hacer mediante el comando CREATE_REPLICATION_SLOT. Siga los pasos para configurar la ranura de replicación temporal:

    1. Conéctese a la base de datos PostgreSQL utilizando psql como usuario con el rol de replicación, como usuario postgres o ggadmin.

    2. Utilice la opción replication=database.

      psql "dbname=pgsource replication=database user=postgres" 
      CREATE_REPLICATION_SLOT tslot TEMPORARY LOGICAL test_decoding EXPORT_SNAPSHOT;
      slot_name | consistent_point | snapshot_name | output_plugin
      ----------+------------------+---------------+--------------------- 
          tslot | 1/4232A6B0 | 00000007-00001142-1 | test_decoding 
      
    3. Tenga en cuenta los detalles de snapshot_name y consistent_point.

      Nota:

      • consistent_point se debe utilizar para posicionar el Extract GoldenGate de OCI e iniciar el Extract para capturar las transacciones de CDC.
      • snapshot_name se debe utilizar para la carga inicial de la base de datos de origen a destino mediante pg_dump y pg_restore.
  3. Coloque OCI Goldengate Extract en el número de secuencia de log (LSN) consistent_point.

    El extracto de CDC creado estará en estado parado.

    Imagen en la que se muestra la creación del posicionamiento de extracción

    En Acciones, haga clic en el icono ... y seleccione Modificar.

    Imagen en la que se muestra la creación del posicionamiento de extracción

    Modifique la posición de LSN a consistent_point capturada en la tarea 3.2.

    Imagen en la que se muestra la creación del posicionamiento de extracción

  4. Haga clic en Enviar e inicie el proceso de extracción.

    El Extract estará en estado de ejecución e iniciará la captura de CDC desde la posición alterada.

    Imagen en la que se muestra la creación del posicionamiento de extracción

Tarea 4: Ejecución de copia de seguridad y restauración en la base de datos de origen y destino

  1. Ejecute el siguiente comando para realizar una copia de seguridad de la base de datos primaria de origen.

    nohup /u01/pgsql-14/bin/pg_dump -h <<Sourceip>> -p 5432 -U <<superuser/ggadmin user>> –snapshot=00000007-00001142-1 -F c -b -v -f latestdump.db pgsource &
    
  2. Ejecute el siguiente comando para restaurar los volcados en la base de datos de destino.

    nohup /u01/pgsql-14/bin/pg_restore -h <<Targetip>> -p 5432 -U admin -d pgtarget -v latestdump.db &
    

Tarea 5: Configuración de la replicación de base de datos de destino

  1. Cree una tabla de puntos de control en cualquier esquema disponible en la base de datos de destino GoldenGate de OCI y haga clic en Enviar.

    Imagen en la que se muestra la creación de la tabla de puntos de control

  2. Cree el proceso Replicat con la conexión a la base de datos de destino para aplicar los datos de CDC a la base de datos de destino.

    Imagen en la que se muestra la creación de Replicat

    Imagen en la que se muestra la creación de Replicat

    Imagen en la que se muestra la creación de Replicat

    Imagen en la que se muestra la creación del archivo de parámetros de Replicat

  3. Haga clic en Enviar e inicie el Replicat. Permitir que se sincronice.

    Imagen en la que se muestra la creación de Replicat

Tarea 6: Realizar la migración real

Transformación de la base de datos PostgreSQL de VM local a OCI Database con el servicio PostgreSQL.

Tarea 7: Validación de la migración

Verifique los objetos y datos de base de datos transferidos en el sistema de base de datos de destino en OCI Database con PostgreSQL para garantizar que la migración se ha realizado correctamente y que no hay problemas ni discrepancias.

Agradecimientos

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.

Para obtener documentación sobre el producto, visite Oracle Help Center.