integración de oracle data integrator con oracle goldengate 12c

39
[email protected] www.rittmanmead.com @rittmanmead ODI y Oracle GoldenGate 12c: más allá de CDC Edelweiss Kammermann OTN Tour LA 2014 Buenos Aires -11 de Agosto 1

Upload: edelweiss-kammermann

Post on 17-Jun-2015

551 views

Category:

Technology


1 download

DESCRIPTION

En esta presentación se verá todos los pasos y configuraciones necesarias para integrar ODI 12c con OGG en forma eficiente.

TRANSCRIPT

Page 1: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

ODI y Oracle GoldenGate 12c: más allá de CDC

Edelweiss Kammermann OTN Tour LA 2014 Buenos Aires -11 de Agosto

1!

Page 2: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Edelweiss Kammermann •  Ingeniera en Computación. Especialista en BI y BPM con +18 años de experiencia en consultoría y liderazgo de proyectos con tecnología Oracle en varios países de Latino América.

•  Co-fundadora y Vice Presidenta del Grupo de Usuarios de Oracle Uruguay (UYOUG) •  Artículos publicados de Business Intelligence en OTN en Español e Inglés •  Speaker en conferencias internacionales como Collaborate, OTN Tour LA, OOW, UKOUG y Rittman Mead BI Forum

•  Oracle ACE •  Training Materials Specialist en Rittman Mead

Mail: [email protected] Twitter: @EdelweissK

Page 3: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Rittman Mead •  Oracle Gold partner con oficinas en USA (Atlanta), Europa, Australia, India y Sudáfrica

•  Partner especializado en BI, líder mundial en excelencia técnica, soluciones e innovación.

•  Provee consultoría y cursos para clientes en todas partes del mundo.

•  120+ consultores incluidos 1 Oracle ACE Director, 3 Oracle ACEs y 1 Oracle ACE Associate

•  Consultores expertos en un amplio rango de herramientas Oracle: OBIEE,OBIA,ODI, Essbase, Oracle OLAP, GoldenGate, Exadata, Exalytics, Endeca y BigData

•  Blog : http://www.rittmanmead.com/blog/

•  Twitter : @rittmanmead

Page 4: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Agenda

•  Qué es Oracle Data Integrator? •  Qué es Oracle GoldenGate? •  Cómo funciona la integración entre ODI y OGG? •  Beneficios de esta integración •  Pasos para integrar ambas herramientas •  Conclusiones

Page 5: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Oracle Data Integrator •  ODI es una solución completa y unificada de transformación e integración de datos

•  Provee reusabilidad, flexibilidad y extensibilidad a través de Knowledge Modules (KM)

•  Es parte del stack de Oracle Fusion Middleware 12c •  Independiente de la plataforma en la que se ejecuta •  Separa la lógica de la implementación física •  Basado en arquitectura ELT (Extract Load Transform) en vez de la clásica ETL lo

cual brinda una mejor performance. •  Combina movimiento de datos, sincronización de datos, transformación de datos,

control de calidad de datos, manejo de datos y web services. •  Soporta integración basado en batch, en tiempo real, y en web services.

Page 6: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Componentes de ODI

•  ODI Studio •  Agents - the runtime components •  Repositories

•  Work Repository •  Master Repository

•  Management Pack for Oracle Data Integrator •  ODI Console

Page 7: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

ODI Studio

•  Es un IDE (Integrated Development Environment) que permite a Operadores, Desarrolladores y Administradores para acceder a los repositorios.

•  Consta de 4 navegadores que permiten realizar tareas distintas.

•  Designer

•  Topology

•  Operator •  Security

Page 8: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

ODI Studio: Topology Navigator

•  Define la Arquitectura Física y Lógica de los sistemas de información.

•  Guarda las conexiones a las bases de datos, servidores OLAP, archivos, etc.

•  Maneja alias lógicos para esas conexiones.

•  Contexts (ambientes) •  Standalone y JEE agents

•  Gestiona repositorios.

•  Esta información es almacenada en el Master Repository

Page 9: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

ODI Studio: Designer Navigator •  Gestiona dos tipos de objetos principales:

•  Models (Modelos)

•  Contiene la metadata de los objetos a través de aplicar ingeniería reversa sobre los objetos fuente.

•  Projects (Projectos)

•  Usado para diseñar objetos en ODI, transformaciones y mappings.

•  Define variables, secuencias, funciones, mappings y paquetes entre otros

•  Se importa y se utilizan los Knowledge Modules para chequear integridad, carga de datos e integración de información.

•  Generación de escenarios.

•  Esta información es almacenada en el Work Repository

Page 10: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

ODI Studio: Operator Navigator

•  Monitorea la ejecución de las objetos de ODI -mappings, paquetes y escenarios- en las sesiones

•  Se puede hacer drill hasta llegar a cada una de las tareas de la ejecución y ver el código que se ejecuta.

•  Muestra los errores, las advertencias y las métricas de ejecución en los logs de ejecución.

•  Importa y ejecuta escenarios y load plans

•  Esta información es almacenada en el Work Repository

Page 11: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Qué es el proceso de Change Data Capture (CDC)?

•  CDC es el proceso de capturar sólo los datos nuevos y modificados desde las tablas fuente a las tablas destino.

•  Realiza carga incremental

•  Típico requerimiento de Data Warehouses

•  Más eficiente al tener menos datos para mover y procesar.

•  Opción para extraer datos en tiempo real.

Page 12: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Cómo se implementa CDC en ODI?

•  ODI implementa CDC aplicando un Journalizing Knowledge Module (JKM) a un Modelo (Model)

•  Este JKM crea la infraestructura para guardar y manejar la información de journal

•  Esta infraestructura es un conjunto de tablas, vistas y triggers para capturar y almacenar la información.y una vez consumida la info eliminar estos registros.

Page 13: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Oracle Golden Gate

•  Oracle GoldenGate 12c es una aplicación para: •  Integración de datos en tiempo real

•  Replicación de datos con mínimo overhead.

•  Provee soluciones para:

•  Sistemas de Alta Disponiblidad

•  Integración de datos en tiempo real usando Change Data Capture (CDC) basado en redo-logs y replicación de datos

•  Recuperación de desastres (Disaster Recovery)

Page 14: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Oracle Golden Gate

Page 15: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Cómo funciona la integración de ODI y OGG? •  OGG replica los datos desde el origen a un área de staging

•  OGG captura los cambios en los datos de la tabla origen, los rutea y los copia en:

•  La tabla replicada en el area de staging

•  En tablas y vistas internas de ODI (J$/JV$) que utiliza para guardar la info de journal

•  Replicación de datos con mínimo overhead.

•  ODI detecta los registros modificados en su infrastructura de journal y mueve los datos a la tabla destino.

Page 16: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Beneficios de la integración entre ODI y OGG •  Muy bajo impacto en el sistema origen

•  Lee los cambios directamente de los archivos de logs de la base

•  No requiere actividad adicional de la base de datos como triggers.

•  Mejor Performance

•  Permite integración en tiempo real

•  En tablas internas de ODI (J$/JV$) que utiliza para guardar la información de journal

•  Replicación de datos con mínimo overhead.

•  Tanto ODI como OGG soportan trabajar con variedad de base de datos

•  Mayor flexibilidad para integración datos en ambientes heterogéneos.

Page 17: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Pasos para integrar ambas herramientas

Configuraciones en Oracle GoldenGate:

1.  Instalar OGG dos veces. Para los esquemas fuente y destino.

2.  Configuración de la base de datos y de las variables de entorno.

3.  Configurar el Jagent para cada instalación de OGG

4.  Iniciar ambas instalaciones de OGG

Page 18: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Paso 1: Instalar OGG para el esquema fuente y destino

•  Necesitamos instalar GoldenGate dos veces •  La instalación origen es necesaria para capturar los datos desde el esquema fuente.

•  La instalación destino es necesaria para enviar la los datos al esquema destino.

Page 19: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Paso 2: Configuración de la base de datos •  Como Oracle GoldenGate usa redo logs para capturar los datos que necesita replicar, tenemos que

setear las opciones de Logging en la base

•  Se necesitan ejecutar estos comandos para habilitar el Supplemental Logging

•  ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

•  ALTER SYSTEM SWITCH LOGFILE; •  Oracle recomienda tambien setear el Forge Logging en la base:

•  ALTER DATABASE FORCE LOGGING;

•  Si la versión de base de datos es 11.2.0.4 hay que setear explícitamente un parámetro de inicialización de la base para habilitar GoldenGate

•  ENABLE_GOLDENGATE_REPLICATION=true

Page 20: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Paso 2: Configuración de variables de entorno

•  En Unix, se tiene que setear la variable Libray_Path para que contenga el path de las librerías compartidas de OGG (se encuentran en el directorio de instalación)

•  También se tienen que setear las variables JAVA_HOME y PATH para que apunten a la carpeta JDK y a la carpeta JDK/BIN respectivamente

Page 21: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Paso 3: Configuración del JAgent

•  Crear el archivo de parámetros GLOBALS en el home directory de GoldenGate para habilitar el monitoreo

•  Necesario para poder trabajar con el Jagent que se usa para comunicarse con ODI.

Page 22: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Paso 3: Configuración del JAgent

•  Crear un Oracle Wallet para asegurar la comunicación entre ODI y OGG. 1.  Seteamos la variable de ambiente JAVA_HOME para que apunte a la carpeta

JDK que está bajo el home directory de OGG

2.  Correr el utilitario pw_agent_util (ubicado en el home de OGG) con la opción –jagentonly

Page 23: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Paso 3: Configuración del JAgent

•  Modificar el archivo Config. Properties 1.  Agent_type_enabled=OEM. Para

especificar que el montireo no se hace con el OGG Monitor (OGGMON)

2.  Tomar nota del jagent.rmi.port. Valor por decto 5559. Colocar otro valor en la segunda instalación de OGG

Page 24: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Paso 4: Iniciar GoldenGate

•  Correr el ejecutable ggsci que se encuentra en el home de OGG 1.  Levantar el manager con el comando Start Manager

2.  Levantar el Jagent con el comando Start jagent

Page 25: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Pasos para integrar ambas herramientas

Configuraciones en Oracle Data Integrator:

1.  Crear OGG Data Servers en ODI para los esquemas fuente y destino en el Topology Navigator.

2.  Seleccionar el OGG JKM en el modelo origen.

3.  Crear los OGG Physical Schemas desde el Modelo 4.  Iniciar el proceso de Journal

5.  Crear un mapping para cargar los datos en la tabla final.

6.  Automatizar el proceso de journal.

Page 26: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Paso 1: Crear Data Servers en ODI •  ODI 12c se comunica con OGG a través de los OGG Jagents que se definen como

Data Servers en el Topology Navigator

•  Crear un nuevo Data Server bajo la tecnología Oracle GoldenGate y llenar los siguientes valores: host, JMI Port, Manage Port (se obtiene durante la instalación), JMI User (root), la Password que pusimos en la Wallet y el directorio de instalación de OGG

•  Testar luego la conexión.

Page 27: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Paso 2: Seleccionar el OGG JKM

•  Tenemos que aplicar el proceso de journal al modelo (esquema) origen 1.  Seleccionamos el modelo origen y en el Journalizing tab seteamos el modo

como Consistent Set que implica que se aplica sobre un conjunto de tablas teniendo en cuenta las FK y el orden entre ellas.

2.  Seleccionamos el JKM Oracle to Oracle Consistent (OGG online)

Page 28: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Paso 3: Crear los Physical Schemas desde el Model •  Los procesos de Capture (Captura) y Delivery (Envío) son los Physical Schemas.

•  Se pueden crear directamente desde el Topology Navigator o crearlos a partir del Model.

•  Para crear el proceso de Captura de datos, apretamos el botón Crear y seleccionamos el Jagent (Data Server) origen y le ponemos nombre al proceso.

•  Para crear el proceso de Envío de los datos seleccionamos el Data Server destino de OGG y además seleccionamos el esquema destino del envío de los datos.

Page 29: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Paso 3: Crear los Physical Schemas desde el Model

•  Una vez creados los procesos de Captura y Envío cambiamos el valor de la opción ONLINE comoTRUE.

•  En el Topology Navigator nos quedan definidos los Physical and Logical Schemas.

Page 30: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Paso 3: Crear los Physical Schemas desde el Model

•  Cuando se crea el proceso de Capture desde el Model, no queda seteado el Trial File Path de destino con la instalación de destino de OGG.

•  Hay que modificar el Remote Trial File Path del proceso de Capture en el Topology Navigator.

Page 31: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Paso 4: Iniciar el proceso de CDC 1.  Una vez que el Model está configurado, tenemos que seleccionar de qué tablas queremos capturar

los datos modificados. Para eso tenemos que agregar esas tablas al proceso de CDC.

2.  Determinar a que Subscriptores vamos a notificar de estos cambios.

3.  Por último iniciamos el proceso de journal, para empezar a capturar los cambios en forma automática.

1 3

2

Page 32: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Paso 5: Crear un mapping para usar los datos de journal

1.  Crear un mapping para cargar los datos de la tabla origen a la tabla final. 2.  Seleccionar la opción Journalized Data Only para que sólo use los datos de journal y

realize una carga incremental

Page 33: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Paso 6: Automatizar el proceso de journal

Cuando usamos Consistent Set como modo de journal, hay que realizar algunos pasos extra antes y después de ejecutar el mapping que consume los datos.

Pasos previos al consumo de los datos:

•  Extended Window

•  Lock Subscribers

Pasos Posteriores al consumo de los datos: •  Unlock Subscribers

•  Purge Journal

Page 34: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Paso 6: Automatizar el proceso de journal

Para automatizar el proceso, creamos un paquete en ODI que haga las siguientes tareas: •  ODIWaitForLogData Step: espera por cambios en los datos de journal

•  Journal Model Step: Para hacer Extend Window y Lock Subscriber

•  Mapping Step: Para ejecutar el mapping

•  Journal Model Step: Para hacer Unlock Subscriber y Purge Journal Data

Page 35: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

DEMO

Oracle Data Integrator y GoldenGate 12c

35!

Page 36: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Conclusiones

•  OGG es la mejor opción para usar CDC en ODI:

•  Menor impacto en la base ya que OGG lee de los redo-logs y no genera actividad extra en la base

•  Mejor performance en el envío de los datos modificados, permitiendo la integración de datos en tiempo real.

•  Mayor flexibilidad en la integración de datos ya que ODI y OGG proveen soporte para trabajar con una amplia variedad de bases de datos.

Page 37: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Preguntas?

Page 38: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

Información Adicional

•  ODI 12c Documentation: http://docs.oracle.com/middleware/1212/odi/odi-devandrun.htm

•  ODI 12c OTN Forum : https://community.oracle.com/community/developer/english/business_intelligence/system_management_and_integration/data_integrator

•  A-Team Blog: http://www.ateam-oracle.com/ •  Data Integration Blog: https://blogs.oracle.com/dataintegration/

•  Rittman Mead Blog: www.rittmanmead.com/blog

Page 39: Integración de Oracle Data Integrator  con Oracle GoldenGate 12c

[email protected] www.rittmanmead.com @rittmanmead !

¡Muchas gracias!

Twitter: @EdelweissK Mail: [email protected]