Hola a todos, hoy vamos a hacerle una introducción a Oracle Golden Gate, uno de los productos top de Oracle que permite replicar datos en tiempo real entre diferentes bases de datos.

¿Qué es Oracle Golden Gate?
Se trata de una solución rápida y de ahorro de espacio para las solicitudes de replicación de datos que nos permitirán sincronizar dos tablas en tiempo real en lugares diferentes, apenas se realice la transacción en la primera, podrías tener esos datos disponibles en la segunda, prácticamente en tiempo real. También, se podrán crear réplicas entre entornos heterogéneos. Por ejemplo, desde una base de datos DB2 a una Oracle, o dentro de Oracle, entre bases de datos en diferente versión.
Está configurado para los siguientes propósitos:
- Extracción de registros de una BBDD y la carga de ellos en otra BBDD.
- Replicación de cambios DDL para mantener la coherencia de los datos de origen y de destino.
- Extracción de una base de datos y replicación a un archivo fuera de la base de datos.
Características básicas de Oracle Golden Gate
- Alta velocidad
- Ligero
- Opciones flexibles
- Se ejecuta en el servidor de base de datos
- Replicación entre diferentes productos de base de datos
- Replicación entre diferentes sistemas operativos
- Replicación bidireccional
Ejemplo de GoldenGate
En este caso, el cliente requería tener dos tablas replicadas en todo momento de una base de datos hacia otra para poder trabajarla y realizar consultas con otras tablas de la BBDD destino. Anteriormente lo hacían por replicaciones de vistas materializadas. Esto, les ocasionada problemas además de no ser del todo “automático” y no ser una solución recomendada de Oracle. GoldenGate sí es un producto que debe ser instalado para su uso.
En primer lugar, se instala el producto Oracle Golden Gate. Luego procedemos a crear los archivos en las bases de datos origen y destino:
Creamos el extractor:
edit params EXT1 extract EXT1 setenv (ORACLE_SID="ora12c") … table comision.departamento ;
Creamos el replicador:
edit params REP1 REPLICAT REP1 SETENV (ORACLE_SID="ora12c") SETENV (ORACLE_HOME="/u01/app/oracle/product/12.1.0/dbhome_1") … MAP comision.departamento, TARGET comision.departamento;
A modo de prueba, insertamos información en la base de datos origen:
insert into comision.departamento values (dbms_random.value(41,99), dbms_random.string('L',3) , dbms_random.string('L',3));
commit;
Al insertar datos, debemos revisar si el manager se encuentra activo en ambas bases de datos para que la replicación automática sea exitosa:

Como se muestra, el estado «RUNNING» es el tiempo en segundos que tardó en replicar la última ejecución del grupo. También lo que tardó en replicar en el destino.
Comandos de monitoreo útiles:
- INFO { EXTRACT│REPLICAT } Muestra ejecutar estado, puntos de control.
- INFO MANAGER Muestra ejecutar estado y número de puerto
- STATUS MANAGER Muestra Ejecutar estado
- STATS { EXTRACT │ REPLICAT } Muestra las estadísticas cobre el volumen de procesamiento y el número de operaciones
- INFO { EXTTRAIL │ RMTTRAIL } Muestra el nombre del proceso asociado y la posición de los últimos datos procesados
Conclusiones
- Permite capturar, direccionar, transformar y enviar datos y transacciones entre entornos heterogéneos en tiempo real.
- No es intrusivo y la réplica se realiza en tiempo real.
- Tiene bajo impacto, se ejecuta en cuestión de segundos
- Alto rendimiento
- Mínima parada (99,99% uptime)
- Se puede manejar grandes volúmenes de información
Esperamos que sea de utilidad esta introducción a Oracle Golden Gate y que puedan utilizar esta funcionalidad. Si quieres que analicemos tu caso para ver si es viable implantar este sistema en tu empresa, échale un vistazo a nuestro servicio de consultoría Oracle y contáctanos sin compromiso.
¿Aún no conoces Query Performance? Descubre cómo puede ayudarte en tu entorno Oracle. Más información en su página de LinkedIn.
Sígue a GPS en LinkedIn