Archivo
Volver a sincronizar esquemas o tablas en Oracle GoldenGate
En ocasiones en nuestras instalaciones de GoldenGate nos podemos encontrar con esquemas o tablas que quedan fuera de sincronía con el resto. Esto puede ser a causa de problemas que nos obligan a “saltar” ciertas transacciones o incluso a eliminar esquemas de la configuración de réplica para que ésta pueda continuar.
En esta entrada explicaremos como recuperar estos usuarios o tablas que han dejado de estar sincronizados sin tener que cargar nuevamente todos los esquemas o tablas de la réplica.
Usaremos dos sistemas, el primero disponible en todas las versiones de GoldenGate y tipos de BBDD y el segundo específico para GoldenGate 11.1.1 o superior y BBDD Oracle.
En ambos casos partiremos de un proceso EXTRACT que captura los datos en una BBDD origen y otro proceso REPLICAT que los entrega en una BBDD Destino.
Oracle tools for Data Replication and Synchronization: Industry Leaders
En el último informe de Gartner sobre Data Integration Tools, las herramientas de Oracle aparecían con una valoración de 5 sobre 5 en la categoría de Data Replication and Synchronization:
La puntuación de esta categoría se calcula en base a estos pesos relativos:
| Business Intelligence and Data Warehousing | 10% |
| Data Consistency Between Operational Applications | 25% |
| Data or System Migrations and Consolidations | 35% |
| Master Data Management | 10% |
| Interenterprise Data Acquisition or Sharing | 10% |
Oracle GoldenGate delivers low-impact, real-time data acquisition, distribution, and delivery across heterogeneous systems. Using this technology, it enables cost-effective and low-impact real-time data integration and continuous availability solutions. Oracle GoldenGate offers tighter integration with Oracle technologies and applications, support for additional heterogeneous systems, and improved performance. (web, datasheet)
Oracle Data Integrator Enterprise Edition delivers unique next-generation, Extract Load and Transform (E-LT) technology that improves performance, reduces data integration costs, even across heterogeneous systems. Unlike conventional ETL tools, Oracle Data Integrator EE offers the productivity of a declarative design approach, as well as the benefits of an active integration platform for seamless batch and real-time integration. In addition, hot-pluggable Knowledge Modules provide modularity, flexibility, and extensibility. (web, datasheet)
Real Time Data Integration
El uso combinado de ambos productos nos permite, por ejemplo, dar una solución de Business Intelligence en tiempo real cuando existe la necesidad de analizar la situación y estado del negocio, con los datos más actuales y sin necesidad de impactar en los sistemas críticos.

Traspaso inicial de datos con Oracle GoldenGate
Oracle GoldenGate es una herramienta de replicación de datos entre entornos heterogéneos. Permite configurar soluciones de alta disponibilidad, de integración de datos o de réplica en tiempo real.
Para los que desconozcáis este producto, os recomiendo visitar esta entrada del blog y, en especial, ver la presentación que lo acompaña.
En la entrada de hoy comentaré una parte de la configuración de GoldenGate que no aparece en la mayoría de ejemplos existentes en la Web: el traspaso inicial de datos.
Al configurar una réplica con GoldenGate lo más común es que en el entorno de destino no dispongamos de datos, por lo que como paso previo a la réplica deberemos traspasar los datos para posteriormente poder empezar a traspasar únicamente los cambios. A este proceso lo llamamos la “carga inicial”.
Las cargas iniciales normalmente tienen como hándicap que el origen de datos se mantiene activo, esto es, se siguen generando cambios durante el proceso de carga inicial de datos.
Tenemos varias opciones para realizar esta tarea:
- Carga de datos en formato nativos con utilidades de la BBDD
En este caso replicaríamos la BBDD mediante las herramientas nativas de las que se disponga. En caso de Oracle podría ser desde una recuperación mediante RMAN (completa o Tablespace Point In Time Recovery) o mediante expdp/impdp.
Deberemos tener arrancado un proceso de EXTRACT/REPLICAT que controlará los cambios realizados durante el tiempo que dure la carga inicial y que posteriormente los aplicará en destino.


