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

Post on 17-Jun-2015

552 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

info@rittmanmead.com 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!

info@rittmanmead.com 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: edel.kammermann@rittmanmead.com Twitter: @EdelweissK

info@rittmanmead.com 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

info@rittmanmead.com 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

info@rittmanmead.com 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.

info@rittmanmead.com 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

info@rittmanmead.com 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

info@rittmanmead.com 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

info@rittmanmead.com 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

info@rittmanmead.com 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

info@rittmanmead.com 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.

info@rittmanmead.com 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.

info@rittmanmead.com 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)

info@rittmanmead.com www.rittmanmead.com @rittmanmead !

Oracle Golden Gate

info@rittmanmead.com 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.

info@rittmanmead.com 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.

info@rittmanmead.com 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

info@rittmanmead.com 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.

info@rittmanmead.com 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

info@rittmanmead.com 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

info@rittmanmead.com 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.

info@rittmanmead.com 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

info@rittmanmead.com 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

info@rittmanmead.com 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

info@rittmanmead.com 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.

info@rittmanmead.com 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.

info@rittmanmead.com 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)

info@rittmanmead.com 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.

info@rittmanmead.com 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.

info@rittmanmead.com 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.

info@rittmanmead.com 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

info@rittmanmead.com 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

info@rittmanmead.com 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

info@rittmanmead.com 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

info@rittmanmead.com www.rittmanmead.com @rittmanmead !

DEMO

Oracle Data Integrator y GoldenGate 12c

35!

info@rittmanmead.com 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.

info@rittmanmead.com www.rittmanmead.com @rittmanmead !

Preguntas?

info@rittmanmead.com 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

info@rittmanmead.com www.rittmanmead.com @rittmanmead !

¡Muchas gracias!

Twitter: @EdelweissK Mail: edel.kammermann@rittmanmead.com

top related