Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tutorial, aprenderá a usar Oracle GoldenGate (OGG) para extraer y replicar datos de captura de cambios (CDC) de bases de datos Oracle en Microsoft Fabric Real-Time Intelligence mediante el punto de conexión de Kafka que se ofrece desde el origen de punto de conexión personalizado de Eventstream. Esta configuración permite el procesamiento en tiempo real de los datos CDC de Oracle y permite enviarlos a varios destinos dentro de Fabric, como Eventhouse, Reflex, Stream Derivado o destino de punto de conexión personalizado para su posterior análisis.
En este tutorial, hará lo siguiente:
- Cree una máquina virtual de Oracle y la base de datos de Oracle.
- Instale Oracle GoldenGate (OGG) Core en la máquina virtual de Oracle.
- Configure la base de datos de Oracle para OGG y la Extracción de OGG para extraer datos de CDC.
- Instale macrodatos de Oracle GoldenGate (OGG) en la máquina virtual de Oracle.
- Configurar OGG Big Data para replicar los datos de CDC en el endpoint de Kafka de Eventstream.
- Valide todo el flujo de un extremo a otro de Oracle a Eventstream.
Prerrequisitos
- Obtenga acceso a un área de trabajo con los permisos de colaborador o superior donde se encuentra la eventstream.
- Shell preferido: Windows, Linux o Azure Shell.
- Familiaridad con los editores de Unix, como
vi
ovim
, y un conocimiento básico de X Server.
Creación de una máquina virtual y una base de datos de Oracle
En esta sección se proporcionan instrucciones sobre el uso de comandos de la CLI de Azure para crear una máquina virtual oracle y configurar una base de datos dentro de ella.
Creación de una máquina virtual de Oracle
Abra el shell preferido para iniciar sesión en la suscripción de Azure con el comando
az login
. A continuación, siga las instrucciones en pantalla:$ az login
Compruebe el nombre y el identificador de la suscripción que usa para asegurarse de que es el correcto:
$ az account show
Cree un grupo de recursos que se use para agrupar todos los recursos de Azure para este tutorial:
$ az group create --name esoggcdcrg --location eastus2
Cree los recursos de red necesarios para este tutorial:
- Cree una red virtual (red virtual) que se use para las máquinas virtuales de este tutorial:
$ az network vnet create --name oggVnet --resource-group esoggcdcrg --address-prefixes "10.0.0.0/16" --subnet-name oggSubnet1 --subnet-prefixes "10.0.0.0/24"
- Cree un grupo de seguridad de red (NSG):
$ az network nsg create --resource-group esoggcdcrg --name oggVnetNSG
- Cree una regla de NSG para permitir el tráfico de red dentro de la red virtual:
$ az network nsg rule create --resource-group esoggcdcrg --nsg-name oggVnetNSG --name oggAllowVnet --protocol '*' --direction inbound --priority 3400 --source-address-prefix 'VirtualNetwork' --source-port-range '*' --destination-address-prefix 'VirtualNetwork' --destination-port-range '*' --access allow
- Cree una regla de grupo de seguridad de red para permitir que la conexión RDP conecte la máquina virtual de Windows. Se usa para acceder a la máquina virtual windows de forma remota desde la máquina windows local:
$ az network nsg rule create --resource-group esoggcdcrg --nsg-name oggAllowRDP --protocol '*' --direction inbound --priority 3410 --source-address-prefix '*' --source-port-range '*' --destination-address-prefix '*' --destination-port-range '3389' --access allow
- Cree una regla NSG para denegar todas las conexiones entrantes:
$ az network nsg rule create --resource-group esoggcdcrg --nsg-name oggDenyAllInBound --protocol '*' --direction inbound --priority 3500 --source-address-prefix '*' --source-port-range '*' --destination-address-prefix '*' --destination-port-range '*' --access deny
- Asigne NSG a la subred donde hospedamos nuestros servidores:
$ az network vnet subnet update --resource-group esoggcdcrg --vnet-name oggVNet --name oggSubnet1 --network-security-group oggVnetNSG
- Cree una red virtual (red virtual) que se use para las máquinas virtuales de este tutorial:
Cree la máquina virtual de Oracle:
$ az vm create --resource-group esoggcdcrg --name oggVM --image Oracle:oracle-database:oracle_db_21:21.0.0 --size Standard_D2s_v3 --generate-ssh-keys --admin-username azureuser --vnet-name oggVnet --subnet oggSubnet1 --public-ip-address "" --nsg "" --zone 1
Creación y configuración de máquinas virtuales de X Server
Para crear la base de datos de Oracle, es necesario usar SSH para iniciar sesión en la máquina virtual que se creó en el paso anterior. Dado que la regla NSG definida anteriormente deniega todas las conexiones entrantes pero permite conexiones dentro de la red virtual y a través del puerto RDP 3389, se crea una máquina virtual de Windows para conectarse a la máquina virtual Oracle. Esta máquina virtual Windows también se usa para hospedar el servidor X que recibirá la interfaz gráfica de instalación al instalar la aplicación principal de GoldenGate en Oracle VM posteriormente.
Reemplace la contraseña y ejecute el siguiente comando para crear una máquina virtual de estación de trabajo windows donde se implementa X Server.
$ az vm create --resource-group esoggcdcrg --name oggXServer --image MicrosoftWindowsDesktop:windows-11:win11-24h2-pro:26100.2605.241207 --size Standard_D2s_v3 --vnet-name oggVnet --subnet oggSubnet1 --public-ip-sku Standard --nsg "" --data-disk-delete-option Delete --os-disk-delete-option Delete --nic-delete-option Delete --security-type Standard --admin-username azureuser --admin-password <YOUR_OWN_PASSWORD>
Una vez creado, vaya a Azure Portal para descargar el archivo RDP desde el recurso oggXServer para que pueda usarlo para acceder de forma remota a esta máquina Windows. Abra el archivo RDP y use la contraseña que especificó al crear la máquina virtual windows (oggXServer).
Instale WSL en la máquina virtual windows (oggXServer) para que se pueda usar SSH para conectarse a la máquina virtual de Oracle (oggVM). También puede usar otras herramientas SSH, como putty para conectarse también.
PS C:\Users\azureuser> wsl --install -d Ubuntu
Debe descargar la clave privada para el inicio de sesión ssh en oggXServer desde oggVM. Una vez descargada la clave, use esta clave (mueva esta clave al directorio .ssh principal de WSL) para iniciar sesión:
$ ssh -i ~/.ssh/id_rsa.pem azureuser@10.0.0.4
Conecte la máquina virtual de Oracle con su dirección IP privada con SSH.
Creación de la base de datos de Oracle
Ahora, debería poder iniciar sesión en la máquina virtual de Oracle en la máquina virtual de Windows de X server (oggXServer) con SSH. Siga estos pasos para crear la base de datos de Oracle.
Use SSH para iniciar sesión en la máquina virtual de Oracle (oggVM).
$ chmod 400 ~/.ssh/oggVM.pem $ ssh -i ~/.ssh/oggVM.pem azureuser@10.0.0.4
Cambie el usuario a
oracle
.$ sudo su - oracle
Cree la base de datos con el comando siguiente. Este comando puede tardar entre 30 y 40 minutos en completarse.
$ dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname cdb1 -sid cdb1 -responseFile NO_VALUE -characterSet AL32UTF8 -sysPassword OraPasswd1 -systemPassword OraPasswd1 -createAsContainerDatabase true -numberOfPDBs 1 -pdbName pdb1 -pdbAdminPassword OraPasswd1 -databaseType MULTIPURPOSE -automaticMemoryManagement false -storageType FS -datafileDestination "/u01/app/oracle/oradata/" -ignorePreReqs
Establecer las variables de ORACLE_SID y LD_LIBRARY_PATH
$ export ORACLE_SID=cdb1 $ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
Agregue ORACLE_SID y LD_LIBRARY_PATH al archivo ~/.bashrc, de modo que esta configuración se guarde para futuros inicios de sesión. ORACLE_HOME variable ya debe establecerse en el archivo .bashrc
$ sed -i '$ a export ORACLE_SID=cdb1' .bashrc $ sed -i '$ a export LD_LIBRARY_PATH=$ORACLE_HOME/lib' .bashrc
Iniciar el agente de escucha de Oracle
$ lsnrctl start
Por ahora, se ha creado la base de datos de Oracle. Para habilitar el CDC de Oracle para GoldenGate, es necesario habilitar el registro de archivo. Siga estos pasos para habilitarlo.
Conexión a sqlplus:
$ sqlplus / as sysdba
Habilite el registro de archivo con el siguiente comando. Ejecute estos comandos uno por uno:
SQL> SELECT log_mode FROM v$database; SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP MOUNT; SQL> ALTER DATABASE ARCHIVELOG; SQL> ALTER DATABASE OPEN;
Habilite el registro forzado y la replicación de GoldenGate y asegúrese de que haya al menos un archivo de registro presente. Ejecute estos comandos uno por uno:
SQL> ALTER DATABASE FORCE LOGGING; SQL> ALTER SYSTEM SWITCH LOGFILE; SQL> ALTER SYSTEM set enable_goldengate_replication=true; SQL> ALTER PLUGGABLE DATABASE PDB1 OPEN; SQL> ALTER SESSION SET CONTAINER=CDB$ROOT; SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; SQL> ALTER SESSION SET CONTAINER=PDB1; SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; SQL> EXIT;
Instalación de Oracle GoldenGate Core
En esta sección, aprenderá a descargar la aplicación Oracle GoldenGate Core y a transferirla a la máquina virtual de Oracle (oggVM) y a instalarla. Todos estos pasos se realizan en la máquina virtual windows de X server (oggXServer).
Descarga y transferencia de la aplicación Oracle GoldenGate Core a la máquina virtual
Abra la máquina virtual de Windows del servidor X (oggXServer) mediante RDP y descargue
Oracle GoldenGate 21.3.0.0.0 for Oracle on Linux x86-64
desde Oracle Golden Gate en la máquina virtual Windows (oggXServer).Transfiera el archivo ZIP descargado a la máquina virtual de Oracle (oggVM) con protocolo de copia segura (SCP) en la máquina virtual windows de X server (oggXServer).
$ scp -i ~/.ssh/oggVM.pem 213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip azureuser@10.0.0.4:~/
Para instalar la aplicación principal Oracle GoldenGate con la interfaz GUI, se necesita la aplicación Xming para instalar en oggXServer. Descargue Xming X Server para Windows a ggXServer e instale con todas las opciones predeterminadas.
- Asegúrese de que no ha seleccionado Iniciar al final de la instalación.
- Inicie la aplicación "XLAUNCH" desde el menú Inicio.
Complete la configuración iniciando la aplicación XLAUNCH desde el menú Inicio. Asegúrese de seleccionar Sin control de acceso.
Instalación de la aplicación Oracle GoldenGate Core en oggVM
Todas las operaciones de esta sección se realizan en la máquina virtual de Oracle (oggVM). Por lo tanto, use el inicio de sesión SSH en esta máquina virtual y siga estos pasos para instalarlo.
Conéctese a oggVM con SSH.
$ ssh -i ~/.ssh/oggVM.pem azureuser@10.0.0.4
Mueva el archivo ZIP cargado a oracle home dir.
$ sudo su - $ mv /home/azureuser/213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip /home/oracle/
Descomprima los archivos (instale la utilidad unzip si aún no está instalado).
$ yum install unzip $ cd /home/oracle/ $ unzip 213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip
Cambiar permiso.
$ chown -R oracle:oinstall fbo_ggs_Linux_x64_Oracle_shiphome/ $ exit
Ahora, vamos a iniciar la instalación de Oracle GoldenGate Core. La dirección IP privada de 'DISPLAY=10.0.0.5:0.0' es la dirección IP privada de oggXServer.
$ sudo su - oracle $ export DISPLAY=10.0.0.5:0.0 $ cd fbo_ggs_Linux_x64_Oracle_shiphome/Disk1 $ ./runInstaller
Debería ver que este instalador abre el servidor Xming.
Seleccione Oracle GoldenGate para Oracle Database 21c. A continuación, seleccione Siguiente para continuar.
Elija la ruta de instalación del software como /u01/app/oggcore, asegúrese de que el cuadro Iniciar Gestor esté seleccionado y seleccione Siguiente para continuar.
Seleccione Instalar en el paso de resumen.
Seleccione Cerrar en el último paso.
Ahora, la aplicación principal oracle GoldenGate se instala correctamente en la máquina virtual de Oracle (oggVM).
Configurar la base de datos de Oracle para OGG y OGG Extract para extraer los datos CDC
Una vez instalada la aplicación principal oracle GoldenGate, se puede configurar para extraer los datos CDC de Oracle. Siga estos pasos para configurar el Extract. Todas las operaciones de esta sección se siguen realizando en la máquina virtual de Oracle (oggVM) con conexión SSH.
Preparación de la base de datos para extraer
Cree o actualice el archivo tnsnames.ora.
$ sudo su - oracle $ cd $ORACLE_HOME/network/admin $ vi tnsnames.ora
Cuando se abre vi editor, tiene que presionar
i
para cambiar al modo de inserción, luego copiar y pegar el contenido del archivo y presionarEsc
tecla,:wq
para guardar el archivo.cdb1= (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=localhost) (PORT=1521) ) (CONNECT_DATA= (SERVER=dedicated) (SERVICE_NAME=cdb1) ) ) pdb1= (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=localhost) (PORT=1521) ) (CONNECT_DATA= (SERVER=dedicated) (SERVICE_NAME=pdb1) ) )
Cree las cuentas de propietario y usuario de Golden Gate.
$ sqlplus / as sysdba
SQL> CREATE USER C##GGADMIN identified by ggadmin; SQL> EXEC dbms_goldengate_auth.grant_admin_privilege('C##GGADMIN',container=>'ALL'); SQL> GRANT DBA to C##GGADMIN container=all; SQL> connect C##GGADMIN/ggadmin SQL> ALTER SESSION SET CONTAINER=PDB1; SQL> EXIT;
Cree la cuenta de usuario Golden Gate ggtest.
$ cd /u01/app/oggcore $ sqlplus system/OraPasswd1@pdb1
SQL> CREATE USER ggtest identified by ggtest DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP; SQL> GRANT connect, resource, dba TO ggtest; SQL> ALTER USER ggtest QUOTA 100M on USERS; SQL> connect ggtest/ggtest@pdb1 SQL> @demo_ora_create SQL> @demo_ora_insert SQL> select * from TCUSTMER; SQL> select * from TCUSTORD; SQL> EXIT;
Debería poder ver que se crean dos tablas (TCUSTMER y TCUSTORD) y se insertan dos registros en cada una de las dos tablas.
Configuración y habilitación de la extracción
Configura el archivo de parámetros de extracción para Oracle GoldenGate Extract.
$ sudo su – oracle
Asegúrese de que
$TNS_ADMIN
esté establecido en~/.bashrc
. Si no es así, establézcalo como:export TNS_ADMIN=$ORACLE_HOME/network/admin
en~/.bashrc
. Y ejecute el comandosource ~/.bashrc
para que surta efecto.$ cd /u01/app/oggcore $ ./ggsci GGSCI> DBLOGIN USERID ggtest@pdb1 Successfully logged into database pdb1 GGSCI> ADD SCHEMATRANDATA pdb1.ggtest 2025-01-04 15:57:42 INFO OGG-01788 SCHEMATRANDATA has been added on schema "ggtest". 2025-01-04 15:57:42 INFO OGG-01976 SCHEMATRANDATA for scheduling columns has been added on schema "ggtest". 2025-01-04 15:57:42 INFO OGG-10154 Schema level PREPARECSN set to mode NOWAIT on schema "ggtest". GGSCI> EDIT PARAMS EXT1
EXTRACT EXT1 USERID C##GGADMIN@cdb1, PASSWORD ggadmin RMTHOST 10.0.0.4, MGRPORT 7809 RMTTRAIL ./dirdat/rt DDL INCLUDE MAPPED DDLOPTIONS REPORT LOGALLSUPCOLS UPDATERECORDFORMAT COMPACT TABLE pdb1.ggtest.TCUSTMER; TABLE pdb1.ggtest.TCUSTORD;
Register extract--integrated extract.
GGSCI> dblogin userid C##GGADMIN@cdb1 Successfully logged into database CDB$ROOT. GGSCI> REGISTER EXTRACT EXT1 DATABASE CONTAINER(pdb1) 2025-01-04 16:04:58 INFO OGG-02003 Extract group EXT1 successfully registered with database at SCN 2147164. GGSCI> exit
Configure los puntos de control de extracción e inicie la extracción en tiempo real.
GGSCI> ADD EXTRACT EXT1, INTEGRATED TRANLOG, BEGIN NOW GGSCI> ADD RMTTRAIL ./dirdat/rt, EXTRACT EXT1, MEGABYTES 10 RMTTRAIL added. GGSCI> START EXTRACT EXT1 Sending START request to MANAGER ... EXTRACT EXT1 starting GGSCI> INFO ALL Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING EXTRACT RUNNING EXTORA 00:00:11 00:00:04 GGSCI > EXIT
Prueba de humo para el extracto configurado.
Inicie sesión con la cuenta de prueba e inserte un registro en la tabla:
$ sqlplus ggtest
SQL> select * from TCUSTORD; SQL> INSERT INTO TCUSTORD VALUES ('OLLJ',TO_DATE('11-JAN-25'),'CYCLE',400,16000,1,102); SQL> COMMIT; SQL> EXIT;
Compruebe la transacción recogida por Golden Gate (Nota Total de inserciones valor):
$ cd /u01/app/oggcore $ ./ggsci GGSCI> STATS EXT1 Sending STATS request to Extract group EXT1 ... Start of statistics at 2025-01-04 16:12:16. DDL replication statistics (for all trails): *** Total statistics since extract started *** Operations 0.00 Mapped operations 0.00 Unmapped operations 0.00 Other operations 0.00 Excluded operations 0.00 Output to ./dirdat/rt: Extracting from PDB1.GGTEST.TCUSTORD to PDB1.GGTEST.TCUSTORD: *** Total statistics since 2025-01-04 16:11:02 *** Total inserts 1.00 Total updates 0.00 Total deletes 0.00 Total upserts 0.00 Total discards 0.00 Total operations 1.00 *** Daily statistics since 2025-01-04 16:11:02 *** Total inserts 1.00 Total updates 0.00 Total deletes 0.00 Total upserts 0.00 Total discards 0.00 Total operations 1.00 *** Hourly statistics since 2025-01-04 16:11:02 *** Total inserts 1.00 Total updates 0.00 Total deletes 0.00 Total upserts 0.00 Total discards 0.00 Total operations 1.00 *** Latest statistics since 2025-01-04 16:11:02 *** Total inserts 1.00 Total updates 0.00 Total deletes 0.00 Total upserts 0.00 Total discards 0.00 Total operations 1.00 End of statistics.
Instalación de macrodatos de Oracle GoldenGate
Los macrodatos de Oracle GoldenGate replican los datos extraídos en el controlador deseado (destino). En este tutorial, el controlador es el tema de Kafka. En esta sección, se le guiará para descargar los paquetes de software necesarios y obtenerlos instalados.
Descarga de los paquetes de software necesarios
La máquina virtual Windows (oggXServer) todavía se usa para descargar estos paquetes de software y transferirlos a la máquina virtual de Oracle (oggVM).
Descargue OGG para Big Data (Oracle GoldenGate para Big Data 21.4.0.0.0 en Linux x86-64) desde Descargas de Oracle GoldenGate.
Descargue el paquete kafka(kafka_2.13-3.9.0.tgz).
Descargue SDK de JAVA(jdk-8u202-linux-x64.tar.gz.
Use el comando SCP en WSL para transferirlos a la máquina virtual de Oracle:
$ scp -i ~/.ssh/oggVM.pem kafka_2.13-3.9.0.tgz jdk-8u202-linux-x64.tar.gz 214000_ggs_Linux_x64_BigData_64bit.zip azureuser@10.0.0.4:~/
Instalación de los tres paquetes de software
Para instalar los tres paquetes de software, extráigalos en las carpetas individuales y obtenga las variables de entorno correspondientes configuradas. Todas las operaciones de esta sección se realizan en la máquina virtual de Oracle (oggVM). Por lo tanto, use el inicio de sesión SSH en esta máquina virtual y siga estos pasos para instalarlos.
Conéctese a oggVM con SSH.
$ ssh -i ~/.ssh/oggVM.pem azureuser@10.0.0.4
Mueva estos paquetes a oracle home dir.
$ sudo su – $ mv /home/azureuser/214000_ggs_Linux_x64_BigData_64bit.zip /home/azureuser/kafka_2.13-3.9.0.tgz /home/azureuser/jdk-8u202-linux-x64.tar.gz /home/oracle/ $ exit
Cambie al usuario de Oracle y vaya al directorio principal para preparar las carpetas individuales.
$ sudo su – oracle $ mkdir kafka java oggbd $ mv 214000_ggs_Linux_x64_BigData_64bit.zip oggbd/ $ mv jdk-8u202-linux-x64.tar.gz java/ $ mv kafka_2.13-3.9.0.tgz kafka
Vaya a cada carpeta individual y obtenga el paquete extraído.
$ cd java $ tar -xvf jdk-8u202-linux-x64.tar.gz $ cd ../kafka $ tar -xvf kafka_2.13-3.9.0.tgz $ cd ../oggbd $ mkdir /u01/app/oggbd $ tar -xvf ggs_Linux_x64_BigData_64bit.tar -C /u01/app/oggbd
Configure las variables de entorno para JAVA.
$ export JAVA_HOME=/home/oracle/java/jdk1.8.0_202 $ export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$JAVA_HOME/lib:/$JAVA_HOME/jre/lib/amd64/server
Configuración de macrodatos de Oracle GoldenGate para replicar los datos CDC en el punto de conexión de Kafka de Eventstream
En esta sección, se te guiará para configurar Oracle GoldenGate para Big Data con el fin de replicar los datos CDC extraídos en la sección anterior al punto de conexión Kafka de Eventstream.
Prepare el punto de conexión de Kafka para Eventstream
Siguiendo los procedimientos de creación normales de Eventstream y su creación de origen de punto de conexión personalizado para obtener la información del punto de conexión de Kafka para su uso posterior, consulte Adición de un punto de conexión personalizado o un origen de aplicación personalizado a una secuencia de eventos.
Configuración de la replicación para macrodatos de Oracle GoldenGate
Todas las operaciones de esta sección se realizan en la máquina virtual de Oracle (oggVM). Por lo tanto, use el inicio de sesión SSH en esta máquina virtual y siga estos pasos para configurarla.
Conéctese a oggVM con SSH si perdió la conexión después de la sección anterior.
$ ssh -i ~/.ssh/oggVM.pem azureuser@10.0.0.4 $ sudo su - oracle
Vaya a la carpeta donde se extrajo el paquete de macrodatos de Oracle GoldenGate y obtenga las carpetas necesarias creadas.
$ cd /u01/app/oggbd $ ./ggsci GGSCI> CREATE SUBDIRS GGSCI> EDIT PARAMS MGR
PORT 7801
GGSCI> START MGR GGSCI> INFO ALL Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING GGSCI> EXIT
Copie los archivos de configuración de la plantilla de controlador de Kafka.
$ cp AdapterExamples/big-data/kafka/* dirprm/
Abra el archivo rkafka.prm y cambie el nombre del esquema MAP/TARGET según el nombre del esquema en la base de datos de origen.
$ vim dirprm/rkafka.prm
REPLICAT rkafka TARGETDB LIBFILE libggjava.so SET property=dirprm/kafka.props REPORTCOUNT EVERY 1 MINUTES, RATE GROUPTRANSOPS 10000 MAP pdb1.ggtest.*, TARGET pdb1.ggtest.*;
Agregue la replicación mediante el siguiente comando en el comando ./ggsci. Asegúrese de que la replicación debe ser la definida en el paso de extracción:
$ ./ggsci GGSCI> ADD REPLICAT rkafka, exttrail /u01/app/oggcore/dirdat/rt GGSCI> EXIT
Abra el archivo de propiedades de Kafka y cambie gg.classpath a la ruta de acceso correcta del directorio de instalación de Kafka en la sección '#Sample gg.classpath para Apache Kafka'. Además, rellene el nombre del tema de Kafka que procede del origen del punto de conexión personalizado de Eventstream.
$ vim dirprm/kafka.props
gg.handlerlist=kafkahandler gg.handler.kafkahandler.type=kafka gg.handler.kafkahandler.kafkaProducerConfigFile=custom_kafka_producer.properties #The following resolves the topic name using the fixed topic which is from eventstream gg.handler.kafkahandler.topicMappingTemplate={YOUR.TOPIC.NAME} #The following selects the message key using the concatenated primary keys #A null Kafka message key distributes to the partitions on a round-robin basis gg.handler.kafkahandler.keyMappingTemplate=${null} #gg.handler.kafkahandler.schemaTopicName=mySchemaTopic gg.handler.kafkahandler.blockingSend=false gg.handler.kafkahandler.includeTokens=false gg.handler.kafkahandler.mode=op #gg.handler.kafkahandler.metaHeadersTemplate=${alltokens} gg.handler.kafkahandler.transactionsEnabled=false gg.handler.kafkahandler.format=json gg.handler.kafkahandler.format.metaColumnsTemplate=${objectname[table]},${optype[op_type]},${timestamp[op_ts]},${currenttimestamp[current_ts]},${position[pos]} #Sample gg.classpath for Apache Kafka gg.classpath=dirprm/:/var/lib/kafka/libs/*:/home/oracle/kafka/kafka_2.13-3.9.0/libs/* #Sample gg.classpath for HDP #gg.classpath=/etc/kafka/conf:/usr/hdp/current/kafka-broker/libs/*
- Puede encontrar el valor de {YOUR.TOPIC.NAME} en la página Autenticación de claves SAS en la pestaña Kafka:
Realice cambios en el archivo custom_producer.properties agregando la cadena de conexión de Eventstream y la contraseña necesarias para conectarse a Eventstream.
$ vim dirprm/custom_kafka_producer.properties
bootstrap.servers={YOUR.BOOTSTRAP.SERVER} security.protocol=SASL_SSL sasl.mechanism=PLAIN sasl.jaas.config={YOUR.SASL.JASS.CONFIG}; acks=1 reconnect.backoff.ms=1000 value.serializer=org.apache.kafka.common.serialization.ByteArraySerializer key.serializer=org.apache.kafka.common.serialization.ByteArraySerializer # 100KB per partition batch.size=16384 linger.ms=0
- Reemplace {YOUR.BOOTSTRAP.SERVER} con el valor del servidor Bootstrap, que puede copiar desde su secuencia de eventos.
- Reemplace {YOUR.SASL.JASS.CONFIG} por el valor de configuración de SASL JASS, que puede copiar de su secuencia de eventos.
Inicie sesión en la instancia de GoldenGate e inicie el proceso de replicación.
$ ./ggsci GGSCI> START RKAFKA Sending START request to Manager ... Replicat group RKAFKA starting.
GGSCI> INFO ALL Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING REPLICAT RUNNING RKAFKA 00:00:00 00:53:17 GGSCI> EXIT
Validación del flujo completo de E2E de Oracle a Eventstream
Para validar todo el flujo de E2E, iniciemos sesión en la base de datos de Oracle con la cuenta ggtest para insertar algunos registros y, a continuación, vayamos a Eventstream para comprobar si los datos de los cambios fluyen.
Inicie sesión en Oracle DB con una cuenta de prueba para insertar algunos registros nuevos:
$ sqlplus ggtest
SQL> select * from TCUSTORD; SQL> INSERT INTO TCUSTORD VALUES ('MSFT',TO_DATE('3-JAN-25'),'M365',100,80000,2,104); SQL> INSERT INTO TCUSTMER VALUES ('TOM','SUNRISE SOFTWARE INC.','SAN FRANCISCO','CA'); SQL> COMMIT; SQL> EXIT;
Obtenga una vista previa de los datos que envió con este origen de punto de conexión de Kafka. Seleccione el nodo de flujo predeterminado, que es el nodo central que muestra el nombre del flujo de eventos.