Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse para obtener una cuenta gratuita, consulte Introducción a la cuenta gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar la práctica, sustituya estos valores por otros específicos de su entorno en la nube.
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.
Objetivos
- Migre a OCI Database con el servicio PostgreSQL mediante OCI GoldenGate.
Requisitos
Nota: Estos requisitos son para una base de datos PostgreSQL local en VM (origen).
-
Plugin
test_decoding
: OCI GoldenGate necesita que el plugin de base de datostest_decoding
se instale en la base de datos PostgreSQL. Es posible que este plugin no esté instalado de forma predeterminada. -
Paquete de contribución PostgreSQL: asegúrese de que el paquete
postgresqlversion#-contrib
esté instalado en el servidor de base de datos. -
Compatibilidad de biblioteca de cliente: las bibliotecas de cliente PostgreSQL deben coincidir con la versión de la base de datos. Tenga en cuenta que las versiones de cliente inferiores a 10 no están soportadas.
sudo yum install postgresql14-contrib (our database is version 14)
Tarea 1: Preparación del entorno de la base de datos de origen
-
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;
-
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
-
Conéctese a la consola de OCI y cree el despliegue de OCI GoldenGate para la base de datos PostgreSQL.
-
Cree la conexión GoldenGate de OCI para OCI PostgreSQL.
-
Introduzca los detalles de la conexión de origen y haga clic en Crear.
-
Introduzca los detalles de conexión de destino y haga clic en Crear.
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.
-
-
Haga clic en Crear para crear la conexión.
Tarea 3: Configuración de la replicación de la base de datos de origen
-
Cree Extract en OCI GoldenGate.
Nota: Agregue trandata de esquema en la base de datos de origen para todos los esquemas elegibles y haga clic en Enviar.
Nota: Haga clic en CREAR y no haga clic en CREAR y EJECUTAR.
-
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:-
Conéctese a la base de datos PostgreSQL utilizando
psql
como usuario con el rol de replicación, como usuariopostgres
oggadmin
. -
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
-
Tenga en cuenta los detalles de
snapshot_name
yconsistent_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 mediantepg_dump
ypg_restore
.
-
-
Coloque OCI Goldengate Extract en el número de secuencia de log (LSN)
consistent_point
.El extracto de CDC creado estará en estado parado.
En Acciones, haga clic en el icono ... y seleccione Modificar.
Modifique la posición de LSN a
consistent_point
capturada en la tarea 3.2. -
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.
Tarea 4: Ejecución de copia de seguridad y restauración en la base de datos de origen y destino
-
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 &
-
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
-
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.
-
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.
-
Haga clic en Enviar e inicie el Replicat. Permitir que se sincronice.
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.
-
Realice la reducción vertical de la aplicación conectada a la base de datos de VM de origen.
-
Asegúrese de que no haya conexiones de base de datos a la base de datos de VM de origen.
-
Asegúrese de que no haya demora en el proceso de Extract/Replicat y realice el corte que apunta a la aplicación a la base de datos OCI de destino con el servicio PostgreSQL parando el proceso de Extract/Replicat.
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.
Enlaces relacionados
- Migra sin problemas una base de datos PostgreSQL local a OCI Database con PostgreSQL mediante OCI GoldenGate
- Importación, Exportación y Migración de Bases de Datos
- Instanciación precisa entre entornos PostgreSQL con pg_dump
Agradecimientos
- Autor: Saravanadurai Rajendran (especialista en implantación de elevadores: base de datos)
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.
Migrate an On-Premises PostgreSQL Database to OCI Database with PostgreSQL using OCI GoldenGate
G29124-01
Copyright ©2025, Oracle and/or its affiliates.