Acerca de los Componentes de Replicación de Datos en Oracle GoldenGate
Tipos de configuraciones de replicación de datos
Oracle GoldenGate se puede configurar para los siguientes fines:
-
Extracción estática de los registros de datos de una base de datos y carga de esos registros a otra base de datos u origen de datos.
-
Extracción y replicación continuas de operaciones transaccionales del lenguaje de manipulación de datos (DML) y cambios del lenguaje de definición de datos (DDL) (para bases de datos soportadas) para mantener la coherencia de los datos de origen y destino.
-
Extracción de datos de orígenes de base de datos soportados y replicación en Big Data y destinos de archivos mediante Oracle GoldenGate Distributed Applications and Analytics.
Procesos de Oracle GoldenGate
Extracción
El proceso de extracción está configurado para ejecutarse en el punto final de origen desde el que se deben capturar las transacciones de base de datos confirmadas. Este proceso es la extracción o el mecanismo de captura de datos de Oracle GoldenGate.
Puede configurar el proceso Extract para capturar datos de los siguientes tipos de orígenes de datos:
-
Tablas de origen: este tipo de origen se utiliza para las cargas iniciales.
-
Logs de recuperación de base de datos o logs de transacciones: al capturar desde los logs, el método real varía según el tipo de base de datos. Un ejemplo de este tipo de origen son los redo logs de Oracle AI Database.
Consulte Acerca de Extract para obtener más información.
Replicat
El proceso Replicat aplica las actualizaciones de los archivos de pista a la base de datos destino. Lee el archivo de pista de la base de datos destino, reconstruye las operaciones DML o DDL y las aplica a la base de datos destino.
El proceso Replicat utiliza SQL dinámico para compilar una sentencia SQL una vez y, a continuación, la ejecuta muchas veces con diferentes variables de enlace. Puede configurar el proceso de Replicat para que espere una cantidad específica de tiempo antes de aplicar las operaciones replicadas a la base de datos destino.
Por ejemplo, puede ser conveniente un retraso para evitar la propagación de SQL erróneo, para controlar la llegada de datos a través de diferentes zonas horarias o para permitir el tiempo para que se produzcan otros eventos planificados.
Para los dos casos de uso comunes de Oracle GoldenGate, Replicat funciona de la siguiente manera:
-
Cargas iniciales: al configurar Oracle GoldenGate para cargas iniciales, el proceso de Replicat aplica una copia de datos estática a los objetos de destino o enruta los datos a una utilidad de carga masiva de alta velocidad.
-
Cambiar sincronización: al configurar Oracle GoldenGate para mantener la base de datos de destino sincronizada con la base de datos de origen, el proceso Replicat aplica las operaciones de origen a los objetos de destino mediante una interfaz de base de datos nativa u ODBC, según el tipo de base de datos.
Puede configurar varios procesos de Replicat con uno o más procesos de Extract en paralelo para aumentar el rendimiento. Para preservar la integridad de los datos, cada juego de procesos maneja un juego diferente de objetos. Para diferenciar entre los procesos de Replicat, puede crear grupos de Replicat con un nombre de grupo único.
Consulte Acerca de Replicat para obtener más información sobre los diferentes tipos de modos de Replicats.
Rutas de distribución para el transporte de datos
Una ruta de distribución o DISTPATH define la ruta de acceso del archivo de pista entre puntos finales. La ruta de distribución se configura desde el servicio de distribución. Consulte Servicio de distribución para obtener más información.
Una ruta de distribución iniciada por el destino, que también se denomina ruta del receptor o RECVPATH, define la ruta de la pista, desde el servicio del receptor hasta el servicio de distribución en entornos con puntos finales de destino seguros. Consulte Agregar rutas de servicio de receptor.
Objetos de Oracle GoldenGate
Los objetos de Oracle GoldenGate nunca se deben modificar directamente. La modificación de archivos de parámetros, pistas, archivos de puntos de control y tablas solo se debe modificar mediante llamadas a la API de REST mediante AdminClient y la interfaz web.
Archivos de pista
Una pista es un conjunto de archivos en el disco en el que Oracle GoldenGate almacena los cambios capturados para soportar la extracción y la replicación continua de cambios de base de datos.
Puede existir una pista en el sistema de origen, un sistema intermediario, el sistema de destino o cualquier combinación de estos sistemas, según cómo configure Oracle GoldenGate. En el sistema local, se conoce como pista de Extract (o pista local). En un sistema remoto, se lo conoce como una pista remota. Al utilizar una pista para el almacenamiento, Oracle GoldenGate admite la precisión de los datos y la tolerancia a fallos. El uso de una pista también permite que las actividades de extracción y replicación se produzcan de forma independiente entre sí. Al separar estos procesos, hay más opciones sobre cómo se procesan y entregan los datos. Por ejemplo, en lugar de extraer y replicar cambios continuamente, puede extraer los cambios continuamente y almacenarlos en la pista para la replicación en el destino más adelante, siempre que la aplicación de destino los necesite.
Además, las pistas permiten que Oracle AI Database funcione en un entorno heterogéneo. Los datos se almacenan en un archivo de pista en un formato consistente, por lo que el proceso de Replicat puede leerlos para todas las bases de datos soportadas.
Procesos que escriben en el archivo de pista
Oracle GoldenGate Extract escribe en el archivo de pista. Todas las pistas locales deben tener nombres de ruta completa diferentes, aunque puede utilizar los mismos nombres de pista en rutas diferentes.
En Oracle GoldenGate MA, las rutas de distribución y las rutas del receptor se utilizan para distribuir pistas remotas. El servicio de distribución y el servicio de recepción se utilizan para configurar la ruta de distribución y la ruta del receptor, respectivamente. La ruta de distribución transfiere la pista a través de una red, a destinos definidos. La pista puede contener datos de varias extracciones, que se transfieren a un sistema remoto.
Procesos que leen desde el archivo de pista
Los procesos de Replicat y la ruta de distribución se leen desde los archivos de pista. Extract captura las operaciones DML y DDL mediante una pista local, realiza un procesamiento adicional si es necesario y transfiere los datos a una pista que lee el siguiente proceso de Oracle GoldenGate, que es Replicat.
En caso de despliegue distribuido, un proceso del servicio de distribución leerá el archivo de pista remoto y lo enviará a través de la red a un proceso del servicio de receptor en espera.
El proceso Replicat lee la pista y aplica las operaciones DML y DDL replicadas a la base de datos destino.
Creación y mantenimiento de archivos de pista
Los archivos de pista se crean según sea necesario durante el procesamiento. Especifique un nombre de dos caracteres para la pista cuando la agregue a la configuración de Oracle GoldenGate. Por defecto, las pistas se almacenan en el subdirectorio del directorio de Oracle GoldenGate. Puede especificar un número de secuencia de nueve dígitos para el archivo de pista.
A medida que se crea cada nuevo archivo, hereda el nombre de pista de dos caracteres agregado con un número de secuencia único de nueve dígitos de 000000000 a 999999999. Cuando el número de secuencia alcance los 999.999.999 o los 999.999 (según la configuración anterior), el proceso de extracción finalizará de forma anormal.
Los archivos de pista se pueden depurar de forma rutinaria mediante la configuración de tareas de mantenimiento automatizadas para depurar archivos de pista o suprimir archivos de pista manualmente desde el servicio de administración. Consulte Suprimir Archivos de Pista y Depurar Pistas
Puede crear más de una pista para separar los datos de diferentes objetos o aplicaciones. Para maximizar el rendimiento y minimizar la carga de E/S en el sistema, los datos extraídos se envían dentro y fuera de una pista en bloques grandes. Se conserva el orden transaccional del archivo de pista o la secuencia de pista.
Archivos de parámetros
La mayoría de la funcionalidad de Oracle GoldenGate se controla mediante los parámetros especificados en los archivos de parámetros. Un archivo de parámetros es un archivo de texto sin formato que lee un proceso asociado de Oracle GoldenGate.
La arquitectura de microservicios de Oracle GoldenGate utiliza los siguientes parámetros de tiempo de ejecución:
-
Parámetros de tiempo de ejecución global: son diferentes del parámetro GLOBALS. Se aplican a todos los objetos de base de datos que se especifican en un archivo de parámetros. Algunos parámetros de tiempo de ejecución globales afectan el comportamiento del proceso, mientras que otros afectan aspectos como el uso de memoria.
USERIDALIASes un ejemplo de un parámetro de tiempo de ejecución global. Un parámetro global solo debe aparecer una vez en el archivo. Cuando se muestra más de una vez, solo la última instancia está activa y todas las demás instancias se ignoran. -
Parámetro específico de objeto: estos parámetros permiten aplicar diferentes reglas de procesamiento para diferentes juegos de objetos de base de datos.
GETINSERTSyIGNOREINSERTSson ejemplos de parámetros específicos del objeto. Cada una precede a una sentenciaMAPque especifica los objetos que se van a afectar. Los parámetros específicos del objeto se aplican en el orden en que aparecen en el archivo.
Los parámetros de tiempo de ejecución permiten controlar varios aspectos de la sincronización de Oracle GoldenGate, como:
-
Selección, asignación, transformación y replicación de datos
-
Selección, asignación y replicación de DDL y secuencia (cuando estén soportados)
-
Resolución de errores
-
Registro
-
Informes de estado y errores
-
Uso de recursos del sistema
-
Comportamiento de inicio y tiempo de ejecución
Aunque puede tener varios Extracts y Replicats ejecutándose en un único despliegue, cada uno solo se puede asociar a un único archivo de parámetros. Los Extracts y Replicats se identifican por su nombre que no distingue entre mayúsculas y minúsculas. Por ejemplo, un Extract denominado exte tendría 1 archivo de parámetros asociado denominado exte.prm.
Archivos y Tablas de Punto de Control
Oracle GoldenGate utiliza una combinación de archivos de puntos de control, tablas de puntos de control y los valores correspondientes dentro de los archivos de pista para garantizar que los datos se aplican exactamente una vez a la plataforma de destino. Oracle GoldenGate utiliza estos objetos para garantizar la replicación adecuada de los datos y con fines de recuperación en caso de interrupción o bloqueo de la base de datos origen, la base de datos destino o la propia Oracle GoldenGate. Estos objetos son cruciales para el estado de Oracle GoldenGate y nunca deben modificarse ni modificarse sin la orientación directa de los Servicios de Soporte Oracle.
Consulte Detalles adicionales de tablas de puntos de control.
Uso de punto de control por extracción, ruta de acceso y replicación
Los puntos de control se utilizan durante la sincronización de cambios en línea para almacenar la posición de lectura y escritura actual de un proceso. Los puntos de control garantizan que los cambios de datos marcados para sincronización se extraigan y evitan extracciones redundantes. Proporcionan tolerancia a fallos al evitar la pérdida de datos si es necesario reiniciar el sistema, la red o un proceso de Oracle GoldenGate.
Extraer, Ruta (Extraer) y Entrega (Replicat) guardan posiciones en un archivo de punto de control para permitir la recuperación en caso de fallo. Extract crea puntos de control para sus posiciones en el origen de datos y en la pista. Replicat crea puntos de control para su posición en la pista. En el siguiente diagrama se muestra este flujo de trabajo:

La información de punto de control se mantiene en los archivos de punto de control del directorio de Oracle GoldenGate por defecto: $OGG_VAR_HOME/lib/checkpt
No se debe confundir con la tabla de puntos de control opcional almacenada en la base de datos. Extract coloca un punto de control de escritura, conocido como punto de control actual, en la pista. El punto de control actual es la posición en la pista donde Extract está escribiendo actualmente.
Los puntos de control almacenan la posición actual de lectura/escritura de un proceso. Evitan extracciones redundantes y proporcionan tolerancia a fallos.
Oracle GoldenGate utiliza los puntos de control solo con fines informativos, ya que el origen de la verdad está en los archivos de pista.
Punto de control de ruta
El punto de control de ruta de servicio de distribución agrega una capa adicional de fiabilidad para la arquitectura de microservicios al transferir archivos de pista entre despliegues. En la siguiente imagen se describe el mecanismo de punto de control DISTPATH utilizado en despliegues.

La lectura actual es el punto de control de lo que se ha leído por última vez. El punto de control comprueba si hay cambios cada segundo. Esta frecuencia se puede configurar. El punto de control Write identifica lo que se escribió por última vez en la pista. Oracle GoldenGate realiza un seguimiento de la posición de escritura en la pista.
La ruta de servicio de distribución no conoce ninguna transacción abierta porque solo procesa los registros que se han confirmado.
Punto de control de Replicat
Replicat realiza puntos de control en la tabla de puntos de control para marcar su última posición de lectura y aplicación.
Para ver los puntos de control del proceso, utilice el comando INFO REPLICAT con la opción SHOWCH. El comando básico muestra los puntos de control actuales.
El punto de control actual es la posición del último registro leído por Replicat en la pista y aplicado a la base de datos. La fuente de datos para las transacciones aplicadas es la tabla de puntos de control. El archivo de punto de control utilizado por los comandos Replicat y INFO es solo información aproximada y de asesoramiento. Consulte la siguiente imagen para comprender este flujo de trabajo:
