Nota:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse en una cuenta gratuita, consulte Introducción a Oracle Cloud Infrastructure Free Tier.
- Utiliza valores de ejemplo para las credenciales, el arrendamiento y los compartimentos de Oracle Cloud Infrastructure. Al finalizar el laboratorio, sustituya estos valores por otros específicos de su entorno en la nube.
Transmisión de datos mediante Oracle GoldenGate y Oracle GoldenGate for Big Data con diferentes destinos
Introducción
Oracle GoldenGate es un servicio totalmente gestionado que ayuda a los ingenieros de datos a mover datos en tiempo real, a escala, de uno o más sistemas de gestión de datos a bases de datos Oracle Cloud. Diseñe, ejecute, organice y supervise tareas de replicación de datos en una sola interfaz sin tener que asignar ni gestionar ningún entorno informático.
Oracle GoldenGate for Big Data transmite datos transaccionales en sistemas Big Data y en la nube en tiempo real, sin afectar al rendimiento de los sistemas de origen. Optimiza la entrega de datos en tiempo real en las soluciones de big data más conocidas, incluidas Apache Hadoop, Apache HBase, Apache Hive, Confluent Kafka, NoSQL Databases, Elasticsearch, JDBC, Oracle Cloud, Amazon Web Services, Microsoft Azure Cloud, Google Cloud Platform y Data Warehouses para facilitar una mejor información y una acción oportuna.
El servicio de transmisión de Oracle Cloud Infrastructure (OCI) proporciona una solución duradera, ampliable y totalmente gestionada para la ingestión y el consumo de flujos de datos de gran volumen en tiempo real. Utilice OCI Streaming para cualquier caso de uso en el que se produzcan y procesen datos de forma continua y secuencial en un modelo de mensajería de publicación-suscripción.
En este tutorial, aprenderá a transmitir datos de Oracle Autonomous Database a dos destinos diferentes, es decir, Oracle Autonomous Database y el tema de Oracle Streams.
Objetivo
-
Configurar dos bases de datos autónomas de Oracle
-
En este escenario de ejemplo, sourceDB tiene dos tablas, Banks y Operacoes, donde los datos se deben replicar en dos destinos diferentes.
-
La tabla Bancos se replicará en un destino de Oracle Autonomous Database denominado targetDB
-
La tabla Operacoes se replicará en un tema de OCI Streaming (kafka) con un flujo casi en tiempo real
-
-
Configurar Oracle GoldenGate para replicar datos de la base de datos Origen a la base de datos Destino
-
Publique DML de tabla de la base de datos de origen en un tema de destino de flujo de Oracle Cloud Infrastructure (OCI) (compatible con Kafka).
Arquitectura
IMPORTANTE: esta arquitectura de ejemplo solo tiene fines de aprendizaje y, para mantenerla simple, estamos utilizando una subred PUBLIC, lo que significa que no se debe utilizar para entornos de producción ni para el procesamiento de datos reales.
Para entornos de producción, debe utilizar subredes PRIVADAS y aplicar todas las mejores prácticas de seguridad que se describen aquí: Mejores prácticas de seguridad de Oracle)
Requisitos
- Una cuenta de Oracle Cloud - Introducción a la cuenta gratuita de Oracle Cloud Infrastructure
- Una VCN básica (red virtual en la nube) con dos subredes (públicas y privadas)
Puede seguir este tutorial para crear una VCN totalmente nueva redes QuickStart - Conceptos Básicos de Oracle Database
- Conceptos básicos de la transmisión de Kafka
Tarea 1: Crear un nuevo compartimento
-
Conéctese a su cuenta de Oracle Cloud, haga clic en el menú de navegación superior izquierdo, seleccione Identidad y seguridad y, a continuación, haga clic en Compartimentos.
Tarea 2: Crear una nueva instancia de Oracle Autonomous Database denominada sourceDB
-
Haga clic en el menú de navegación superior izquierdo, seleccione Oracle Database y, a continuación, haga clic en Autonomous Database.
-
Seleccione el compartimento streaming creado en el paso anterior y haga clic en Crear Autonomous Database.
-
Rellene la información como se muestra en las siguientes imágenes.
Nota: Anote la contraseña de administrador que ha creado.
Tarea 3: Crear una nueva instancia de Oracle Autonomous Database denominada targetDB
-
Haga clic en el menú de navegación superior izquierdo, seleccione Oracle Database y, a continuación, haga clic en Autonomous Database.
-
Seleccione el compartimento creado en el paso anterior streaming y haga clic en Crear Autonomous Database.
-
Rellene la información como se muestra en las siguientes imágenes.
Nota: Anote la contraseña de administrador que ha creado.
Tarea 4: Crear un nuevo esquema y configuración para sourceDB
-
Vaya a la página inicial sourceDB y haga clic en Acciones de base de datos para ejecutar comandos SQL en la base de datos y cargar datos.
-
Descargue el archivo findata_schema.sql, copie el contenido en la ventana de ejecución de SQL y ejecútelo como SCRIPT.
Nota: Asegúrese de definir una contraseña para el usuario FINDATA y tome nota de los pasos posteriores de este tutorial.
-
Descargue el archivo enable_gg.sql, copie el contenido en la ventana de ejecución de SQL y ejecútelo como SCRIPT.
Nota: Asegúrese de definir una contraseña para el usuario de GGADMIN y tome nota de los pasos posteriores de este tutorial.
Tarea 5: Carga de datos del archivo banks_export.sql
en sourceDB
-
Vaya a la página inicial sourceDB y haga clic en Acciones de base de datos para ejecutar comandos SQL en la base de datos y cargar datos.
-
Descargue el archivo banks_export.sql, copie el contenido en la ventana de ejecución de SQL y ejecútelo como SCRIPT.
-
Ejecute un COUNT simple en la tabla y compruebe el número de filas insertadas.
Tarea 6: Crear un nuevo esquema para targetDB y cargar datos
-
Repita la tarea 4 y la tarea 5 para "targetDB".
-
Cree la tabla FINDATA, active GG y cargue datos de la tabla BANKS en la base de datos destino como lo hizo en sourceDB, pero ahora está conectado en targetDB.
Tarea 7: cree la tabla de transacciones denominada OPERACOES en sourceDB
-
Cree una nueva tabla denominada
FINDATA.OPERACOES
solo en sourceDB. Esta tabla será los datos de origen que Oracle GoldenGate for Big Data capturará y publicará en el tema OCI Streaming. -
Vaya a la página inicial sourceDB y haga clic en Acciones de base de datos para ejecutar comandos SQL en la base de datos y cargar datos.
-
Descargue el archivo operacoes_table.sql, copie el contenido en la ventana de ejecución de SQL y ejecútelo como SCRIPT.
Se trata de una tabla vacía que recibirá los datos aleatorios para iniciar eventos en Oracle GoldenGate.
Tarea 8: Creación de un pool de OCI Streaming
-
Haga clic en el menú de navegación superior izquierdo, seleccione Análisis e IA, haga clic en Flujo y, a continuación, seleccione Pool de Streaming.
-
Haga clic en Crear pool de flujos y rellene la siguiente información.
-
Haga clic en Crear.
-
Haga clic en Configuración de conexión de Kafka y tome nota de la información relacionada con las cadenas de conexión.
Tarea 9: Generación de un TOKEN AUTH para acceder al pool de OCI Streaming
Puede acceder a OCI Streaming (API de Kafka) y a otros recursos de Oracle Cloud con un token de autenticación asociado a su usuario en Oracle Cloud Infrastructure Identity and Access Management (OCI IAM). En Configuración de conexión de Kafka, las cadenas de conexión SASL tienen un parámetro denominado contraseña y un valor AUTH_TOKEN, como se describe en la tarea anterior. Para permitir el acceso a OCI Streaming, vaya a la consola de OCI y cree un TOKEN AUTH.
-
Haga clic en el menú de navegación superior izquierdo, seleccione Identidad y seguridad, seleccione Identidad, Dominios, Dominio por defecto, Usuarios.
-
Seleccione el mismo usuario que ha utilizado para crear los recursos anteriores, como Oracle Autonomous Database y Pool de flujos de OCI.
Nota: Anote AUTH TOKEN, lo necesitará para el siguiente paso.
Tarea 10: Crear conexiones de Oracle GoldenGate
Para conectarse a las bases de datos de origen y destino, Oracle GoldenGate necesita la configuración de conexión adecuada.
-
Haga clic en el menú de navegación superior izquierdo, seleccione Oracle Database y, a continuación, haga clic en GoldenGate.
-
Seleccione la opción Conexiones en el menú de la izquierda y haga clic en Crear conexión.
-
Cree la conexión para sourceDB.
-
Repita el proceso y cree la conexión para targetDB.
-
Cree la conexión para su pool de OCI Streaming DefaultPool.
En este punto, debe tener las siguientes conexiones:
Tarea 11: Crear despliegue de Oracle GoldenGate. Tipo: ORACLE
-
Haga clic en el menú de navegación superior izquierdo, seleccione Oracle Database y, a continuación, haga clic en GoldenGate.
-
Seleccione la opción Despliegues en el menú de la izquierda y haga clic en Crear despliegue.
Nota: Asegúrese de guardar la contraseña de oggadmin.
Tarea 12: Creación del despliegue de Oracle GoldenGate: tipo: BIGDATA
-
Haga clic en el menú de navegación superior izquierdo, seleccione Oracle Database y, a continuación, haga clic en GoldenGate.
-
Seleccione la opción Despliegues en el menú de la izquierda y haga clic en Crear despliegue.
-
Una vez creados y activos los despliegues, continúe con el siguiente paso.
Tarea 13: Crear conexión entre despliegues de Oracle GoldenGate
Para que Oracle GoldenGate se comunique con Oracle GoldenGate for Big Data, necesitamos crear la conexión.
-
Haga clic en el menú de navegación superior izquierdo, seleccione Oracle Database y, a continuación, haga clic en GoldenGate.
-
Seleccione la opción Conexiones en el menú de la izquierda y haga clic en Crear conexión.
Las conexiones se deben parecer a las siguientes:
Tarea 14: Adición de conexiones al despliegue de Oracle GoldenGate: GGForOracle
-
Seleccione el despliegue GGForOracle; en el menú de la izquierda, haga clic en Conexiones asignadas y, a continuación, haga clic en Asignar conexión.
-
Agregue la conexión para sourceDB.
-
Agregue la conexión para targetDB.
-
Agregue la conexión para GGOracletoGGBigData.
Debe tener las siguientes conexiones en el despliegue de GGForOracle:
Tarea 15: Adición de conexiones al despliegue de Oracle GoldenGate: GGforBigData
-
Seleccione el despliegue GGforBigData; en el menú de la izquierda, haga clic en Conexiones asignadas y, a continuación, haga clic en Asignar conexión.
Debe tener las siguientes conexiones en el despliegue de GGforBigData:
Tarea 16: Configurar Oracle GoldenGate para GGforOracle
-
Seleccione el despliegue GGForOracle y haga clic en Iniciar consola.
-
Introduzca las credenciales oggadmin/yourpassword (la contraseña que creó durante la creación del despliegue).
-
Haga clic en el menú de navegación, seleccione Configuración y, a continuación, haga clic en + para agregar una nueva credencial.
-
Agregue las credenciales para el despliegue GGforBigData.
Nota: Utilice el oggadmin que ha configurado durante la creación del despliegue.
-
Haga clic para conectarse en sourceDB y, a continuación, haga clic en + en TRANDATA para agregar las tablas necesarias para la replicación.
-
Agregue un nuevo registro para la tabla
FINDATA.BANKS
y haga clic en Enviar. -
Agregue un nuevo registro para la tabla
FINDATA.OPERACOES
y haga clic en Enviar. -
Para comprobar si se han agregado las tablas, haga clic en el filtro de FINDATA.*.
-
Haga clic para conectarse en targetDB y, a continuación, haga clic en + en CHECKPOINT.
-
Introduzca FINDATA.CHECKTABLE y haga clic en Enviar.
-
A continuación, haga clic en la opción Visión general del menú izquierdo para incluir la nueva extracción.
-
Incluir los siguientes parámetros:
EXTRACT EXT USERIDALIAS sourceDB DOMAIN OracleGoldenGate EXTTRAIL E1 table FINDATA.operacoes; table FINDATA.banks;
-
-
Haga clic en Acciones, Iniciar para iniciar la extracción.
-
Ahora, cree una nueva replicación para aplicar la replicación a targetDB.
-
Incluir los siguientes parámetros:
REPLICAT REP USERIDALIAS targetDB DOMAIN OracleGoldenGate MAP FINDATA.BANKS, TARGET FINDATA.BANKS;
Nota: Solo se replica aquí la tabla
FINDATA.BANKS
. Esto se debe a que lo replicamos en targetDB. La otra tablaFINDATA.OPERACOES
se replicará en el tema de OCI Streaming más adelante en este tutorial. -
-
Haga clic en Acción, Iniciar para iniciar la replicación.
-
Compruebe si la replicación funciona para la tabla
FINDATA.BANKS
: vaya a la página de acciones de la base de datos para sourceDB e inserte un nuevo registro.INSERT INTO FINDATA.BANKS VALUES (999, 999, 'XXXXXX','TEST GOLDENGATE','TESTGG'); COMMIT;
-
Abra la página de acciones de la base de datos para targetDB y ejecute la siguiente consulta para comprobar si se ha creado el registro.
select * from FINDATA.BANKS WHERE ID_SEQ = 999;
-
Haga clic en el separador Servicio de distribución y agregue una nueva ruta para enviar datos a GGforBigData.
-
Haga clic en Acción, Iniciar para iniciar la distribución del servicio.
Tarea 17: Configuración de Oracle GoldenGate for Big Data - GGforBigData
-
Seleccione el despliegue GGforBigData y haga clic en Iniciar consola.
-
Introduzca las credenciales oggadmin/yourpassword (la contraseña que creó durante la creación del despliegue).
-
Haga clic en el separador Servicio de receptor y compruebe si ya está funcionando. Debe ser así, ya que ya hemos realizado todos los valores necesarios para la conexión entre ambos despliegues de Oracle GoldenGate.
-
Ahora debemos configurar REPLICAT para publicar los datos en el tema OCI Streaming.
-
Haga clic en el separador Servicio de administración.
-
Incluir los siguientes parámetros:
REPLICAT STRM TARGETDB LIBFILE libggjava.so SET property=/u02/Deployment/etc/conf/ogg/STRM.properties MAP FINDATA.operacoes, TARGET FINDATA.operacoes , THREADRANGE(1-5);
-
Solo tiene que agregar el ${tableName} en esta línea y usar todos los valores por defecto proporcionados.
-
-
Haga clic en Acción, Iniciar para iniciar la replicación.
-
Compruebe si el estado es verde:
-
Tarea 18: Verificar la replicación en el tema de OCI Streaming
-
Vaya a la página de acciones de la base de datos para sourceDB e inserte algunas filas en la tabla
FINDATA.OPERACOES
.-
Puede utilizar la secuencia de comandos load_random_data.sql para insertar datos aleatorios en la tabla
FINDATA.OPERACOES
. -
Este script agregará 1.000 filas en
FINDATA.OPERACOES
y será suficiente para comprobar si la replicación funciona como se esperaba.
-
-
Compruebe si hay algún registro en
FINDATA.OPERACOES
ejecutando el siguiente comando SQL.SELECT COUNT(*) FROM FINDATA.OPERACOES;
-
Haga clic en el menú de navegación superior izquierdo, seleccione Análisis e IA, haga clic en Flujo y seleccione Flujo en el menú izquierdo.
-
Compruebe si Oracle GoldenGate for Big Data crea automáticamente una nueva TOPIC.
-
Intente consumir algunos mensajes y compruebe si están disponibles en el tema haciendo clic en Cargar mensajes.
Nota importante: Cargar mensajes solo funciona para los mensajes consumidos en el último MINUTE, esto significa que si tarda más tiempo después de ejecutar el script LOAD_RANDOM_DATA.SQL, no verá ningún resultado.
Para ver los resultados, vaya a la base de datos y vuelva a ejecutar el script LOAD_RANDOM_DATA.SQL y, a continuación, vuelva a Cargar mensajes y verá los mensajes.
Confirmaciones
- Autor: Joao Tarla (ingenier de soluciones de equipos A de LAD de Oracle)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre los productos, visite Oracle Help Center.
Stream data using Oracle GoldenGate and Oracle GoldenGate for Big Data with different targets
F80321-01
April 2023
Copyright © 2023, Oracle and/or its affiliates.