Oracle GoldenGate Microservices: replicación unidireccional Oracle → Oracle
OracleNivel: AvanzadoDuración: 3–5 horasReplica de forma continua (con un retraso de segundos) un esquema de una PDB a otra base de datos con GoldenGate 21c o 23ai/26ai Microservices. Al final, en el origen funcionan un Integrated Extract y un Distribution Path, y en el destino un Parallel Replicat; el esquema de destino se rellena con una carga inicial desde un SCN consistente y el retraso de extremo a extremo se mide con heartbeat. La diferencia con Data Guard: es una replicación a nivel de fila (lógica), no una copia física; el destino está abierto y admite escrituras, y puede tener otra versión/plataforma. El origen y el destino pueden ser instancia única o RAC; para la operación diaria y las averías se usa la guía de operación de GoldenGate.
Topología: Servidor de BD de origen (deployment de origen de OGG) + servidor de BD de destino (deployment de destino de OGG); en RAC, GoldenGate en el nodo 1 (o como recurso de cluster con XAG)
Antes de empezar
- Se dispone de licencia de GoldenGate y de acceso a My Oracle Support/eDelivery. En ambos servidores está preparado …/… (el software Microservices para Oracle Database); la certificación de versiones (versión de OGG ↔ versión de BD ↔ sistema operativo) se ha verificado en la matriz de certificación de MOS.
- Los servidores son …Oracle Linux / RHEL 7.9…Oracle Linux / RHEL ……; existen el usuario oracle y el grupo oinstall (servidor de base de datos) y unzip está instalado (si no, como root: … -y install unzip). Hay al menos 4 GB de RAM libre para GoldenGate, ~2 GB para el software y espacio en disco para los archivos de trail según la generación de redo (redo generado por día × días de retención).
- La base de datos de origen es una CDB en modo ARCHIVELOG (si no, esta guía lo activa); los archived logs no deben borrarse hasta que Extract los haya procesado (política de borrado de RMAN). Las PDB de origen y de destino están abiertas y sus servicios registrados en el listener.
- Las tablas del esquema … que se replicará tienen primary key (o una unique key no nula). En las tablas sin clave, todas las columnas se tratan como clave; las actualizaciones se ralentizan y hay riesgo de asociar la fila equivocada.
- Se han revisado los tipos de datos/objetos del esquema que GoldenGate no admite o que requieren un tratamiento especial (DBA_GOLDENGATE_SUPPORT_MODE).
- …/tcp (Receiver Server) está abierto del origen al destino; para la administración, …–…/tcp está abierto a la red de administración en ambos servidores. Los servidores se resuelven entre sí por nombre…, los nombres SCAN (…………, …………) se resuelven en DNS…; los relojes están sincronizados con NTP.
- En el origen no debe haber transacciones abiertas de larga duración durante el registro del Integrated Extract ni durante la carga inicial; se ha planificado una franja tranquila para la carga inicial.
- En el lado RAC, Clusterware está sano y srvctl funciona con el usuario oracle; el software y el deployment de GoldenGate se instalarán en un solo nodo (…………, …………). Si se requiere toma de control automática ante la pérdida de un nodo, se ha planificado XAG + un directorio compartido (ACFS) (vea las notas).
Fases de la guía
- Preparación de la base de datos de origen — Comprobar el estado de la base de datos de origen · Activar el modo ARCHIVELOG (si hace falta) · Parámetros de base de datos para GoldenGate (origen) · Crear el usuario de capture de GoldenGate (origen) · Crear el servicio de GoldenGate (RAC de origen) · Definir el directorio de Data Pump (PDB de origen)
- Preparación de la base de datos de destino — Parámetros de base de datos para GoldenGate (destino) · Crear el usuario ggadmin (PDB de destino) · Crear el servicio de GoldenGate (RAC de destino) · Definir el directorio de Data Pump (PDB de destino)
- Instalación del software de GoldenGate (ambos servidores) — Crear los directorios · Descomprimir el medio de instalación · Preparar oggcore.rsp a partir de la plantilla · Instalar el software de GoldenGate (silencioso) · Definir la variable de entorno OGG_HOME
- Service Manager y deployments (oggca) — Escribir el response file de oggca (origen) · Crear el deployment (oggca, origen) · Registrar Service Manager como servicio systemd (origen) · Escribir el response file de oggca (destino) · Crear el deployment (oggca, destino) · Registrar Service Manager como servicio systemd (destino) …
- Origen: credenciales, trandata, heartbeat, Extract, Distribution Path — Preparar el credential store y la conexión a la base de datos (origen) · Activar el supplemental logging a nivel de esquema · Crear la tabla de heartbeat (origen) · Registrar y añadir el Integrated Extract · Escribir el archivo de parámetros del Extract · Iniciar el Extract …
- Destino: credenciales, checkpoint, Parallel Replicat — Preparar el credential store y la conexión a la base de datos (destino) · Crear las tablas de heartbeat y de checkpoint (destino) · Añadir el Parallel Replicat · Escribir el archivo de parámetros del Replicat
- Carga inicial e inicio del Replicat — Comprobar las transacciones abiertas (origen) · Obtener el SCN de la carga inicial y exportar (expdp) · Copiar los archivos de dump al destino · Importar en el destino (impdp) · Iniciar el Replicat después del SCN · Iniciar el Replicat
- Verificación y monitorización — Comprobar el estado de todos los procesos (origen) · Comprobar el estado de todos los procesos (destino) · Prueba de extremo a extremo: insertar filas (origen) · Prueba de extremo a extremo: comprobar las filas y el retraso (destino) · Monitorización y mantenimiento