Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste tutorial, você aprenderá a usar o Oracle GoldenGate (OGG) para extrair e replicar dados CDC (change data capture) do banco de dados Oracle para o Microsoft Fabric Real-Time Intelligence usando o ponto de extremidade Kafka oferecido a partir da fonte de ponto de extremidade personalizada de um Eventstream. Essa configuração permite o processamento em tempo real de dados do Oracle CDC e permite enviá-los para vários destinos dentro da malha, como Eventhouse, Reflex, fluxo derivado ou destino de ponto de extremidade personalizado para análise posterior.
Neste tutorial, você irá:
- Crie uma VM Oracle e o banco de dados Oracle.
- Instale o Oracle GoldenGate (OGG) Core na VM Oracle.
- Configure o banco de dados Oracle para OGG e o OGG Extract para extrair dados CDC.
- Instale o Oracle GoldenGate (OGG) Big Data no Oracle VM.
- Configure OGG Big Data para replicar os dados CDC para o endpoint Kafka do Eventstream.
- Valide todo o fluxo de ponta a ponta do Oracle para o Eventstream.
Pré-requisitos
- Obtenha acesso a um espaço de trabalho com permissões de Colaborador ou superiores, onde o seu fluxo de eventos está localizado.
- Shell preferido: Windows, Linux ou Azure Shell.
- Familiaridade com editores Unix como
vi
ouvim
, e uma compreensão básica do X Server.
Criar VM Oracle e banco de dados
Esta seção fornece instruções sobre como usar comandos da CLI do Azure para criar uma máquina virtual Oracle e configurar um banco de dados dentro dela.
Criar máquina virtual Oracle
Abra seu shell preferido para entrar em sua assinatura do Azure com o comando
az login
. Em seguida, siga as instruções na tela:$ az login
Verifique o nome e o ID da subscrição que está a utilizar para se certificar de que é o correto:
$ az account show
Crie um grupo de recursos que é usado para agrupar todos os recursos do Azure para este tutorial:
$ az group create --name esoggcdcrg --location eastus2
Crie os recursos de rede necessários para este tutorial:
- Crie uma rede virtual (rede virtual) que é usada para as máquinas virtuais neste 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"
- Crie um grupo de segurança de rede (NSG):
$ az network nsg create --resource-group esoggcdcrg --name oggVnetNSG
- Crie uma regra NSG para permitir o tráfego de rede dentro da rede 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
- Crie uma regra NSG para permitir que a conexão RDP conecte a VM do Windows. Ele é usado para acessar a VM do Windows remotamente a partir de sua 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
- Crie uma regra NSG para negar todas as conexões de entrada:
$ 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
- Atribuir a NSG à sub-rede onde os nossos servidores estão hospedados:
$ az network vnet subnet update --resource-group esoggcdcrg --vnet-name oggVNet --name oggSubnet1 --network-security-group oggVnetNSG
- Crie uma rede virtual (rede virtual) que é usada para as máquinas virtuais neste tutorial:
Crie a máquina virtual 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
Criar e configurar a VM do X Server
Para criar o banco de dados Oracle, ele requer o uso de SSH para entrar na máquina virtual que foi criada na etapa anterior. Como a regra NSG definida anteriormente nega todas as conexões de entrada, mas permite conexões dentro da rede virtual e da porta RDP 3389, uma máquina virtual do Windows é criada para se conectar à máquina virtual Oracle. Esta máquina virtual do Windows também é usada para hospedar o servidor X, que deve receber a interface de instalação gráfica ao instalar o aplicativo principal GoldenGate na Oracle VM mais tarde.
Substitua sua senha e execute o seguinte comando para criar uma VM de estação de trabalho Windows onde implantamos o 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>
Depois de criado, vá para o portal do Azure para baixar o arquivo RDP do recurso oggXServer para que você possa usá-lo para acessar remotamente essa máquina Windows. Abra o arquivo RDP e use a senha especificada ao criar a VM do Windows (oggXServer).
Instale o WSL na VM do Windows (oggXServer) para que o SSH possa ser usado para se conectar ao Oracle VM (oggVM). Você também pode usar outras ferramentas SSH, como putty para se conectar também.
PS C:\Users\azureuser> wsl --install -d Ubuntu
Você precisa baixar a chave privada para entrar SSH no oggXServer do oggVM. Depois que a chave for baixada, use essa chave (mova essa chave para o diretório .ssh inicial da WSL) para entrar:
$ ssh -i ~/.ssh/id_rsa.pem azureuser@10.0.0.4
Conecte a VM Oracle com seu endereço IP privado com SSH.
Criar o banco de dados Oracle
Agora, você deve ser capaz de entrar na VM Oracle na VM do Windows do servidor X (oggXServer) com SSH. Siga estas etapas para criar o banco de dados Oracle.
Use SSH para entrar no Oracle VM (oggVM).
$ chmod 400 ~/.ssh/oggVM.pem $ ssh -i ~/.ssh/oggVM.pem azureuser@10.0.0.4
Altere o usuário para
oracle
.$ sudo su - oracle
Crie o banco de dados usando o seguinte comando. Este comando pode levar de 30 a 40 minutos para ser concluído.
$ 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
Definir as variáveis ORACLE_SID e LD_LIBRARY_PATH
$ export ORACLE_SID=cdb1 $ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
Adicione ORACLE_SID e LD_LIBRARY_PATH ao arquivo ~/.bashrc, para que essas configurações sejam salvas para logins futuros. ORACLE_HOME variável já deve estar definida no arquivo .bashrc
$ sed -i '$ a export ORACLE_SID=cdb1' .bashrc $ sed -i '$ a export LD_LIBRARY_PATH=$ORACLE_HOME/lib' .bashrc
Iniciar ouvinte Oracle
$ lsnrctl start
Até agora, o banco de dados Oracle foi criado. Para habilitar o Oracle CDC for GoldenGate, o log de arquivamento precisa ser habilitado. Siga estas etapas para ativá-lo.
Conecte-se ao sqlplus:
$ sqlplus / as sysdba
Habilite o log de arquivamento com o seguinte comando. Execute estes comandos um a um:
SQL> SELECT log_mode FROM v$database; SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP MOUNT; SQL> ALTER DATABASE ARCHIVELOG; SQL> ALTER DATABASE OPEN;
Habilite o registro forçado e a replicação GoldenGate e assegure-se de que pelo menos um arquivo de log esteja presente. Execute estes comandos um a um:
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;
Instalar o Oracle GoldenGate Core
Nesta seção, você aprenderá como baixar o Oracle GoldenGate Core Application e transferir para o Oracle VM (oggVM) e instalá-lo. Todas essas etapas são executadas na VM do Windows do servidor X (oggXServer).
Baixe e transfira o aplicativo Oracle GoldenGate Core para a VM
Abra a máquina virtual do servidor X (oggXServer) RDP e baixe
Oracle GoldenGate 21.3.0.0.0 for Oracle on Linux x86-64
de Oracle Golden Gate na máquina virtual de Windows (oggXServer).Transfira o arquivo zip baixado para Oracle VM (oggVM) com Secure Copy Protocol (SCP) na VM do Windows do servidor X (oggXServer).
$ scp -i ~/.ssh/oggVM.pem 213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip azureuser@10.0.0.4:~/
Para instalar o aplicativo principal Oracle GoldenGate com interface GUI, o aplicativo Xming é necessário para instalar no oggXServer. Baixe Xming X Server para Windows para ggXServer e instale com todas as opções padrão.
- Certifique-se de que não selecionou Iniciar no final da instalação
- Inicie o aplicativo "XLAUNCH" no menu Iniciar.
Conclua a configuração iniciando o aplicativo XLAUNCH no menu Iniciar. Certifique-se de selecionar Sem controle de acesso.
Instale o Oracle GoldenGate Core Application no oggVM
Todas as operações nesta seção são executadas em Oracle VM (oggVM). Portanto, use o SSH entre nessa VM e siga estas etapas para instalá-la.
Conecte-se ao oggVM com SSH.
$ ssh -i ~/.ssh/oggVM.pem azureuser@10.0.0.4
Mova o arquivo zip carregado para oracle home dir.
$ sudo su - $ mv /home/azureuser/213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip /home/oracle/
Descompacte os arquivos (instale o utilitário de descompactação se ainda não estiver instalado).
$ yum install unzip $ cd /home/oracle/ $ unzip 213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip
Alterar permissão.
$ chown -R oracle:oinstall fbo_ggs_Linux_x64_Oracle_shiphome/ $ exit
Agora, vamos iniciar a instalação do Oracle GoldenGate Core. O IP privado em 'DISPLAY=10.0.0.5:0.0' é o IP privado do oggXServer.
$ sudo su - oracle $ export DISPLAY=10.0.0.5:0.0 $ cd fbo_ggs_Linux_x64_Oracle_shiphome/Disk1 $ ./runInstaller
Você deve ver que o servidor Xming é aberto por este instalador.
Selecione Oracle GoldenGate for Oracle Database 21c. Em seguida, selecione Avançar para continuar.
Escolha o caminho de instalação do software como /u01/app/oggcore, certifique-se de que a caixa de seleção Iniciar Gerenciador está selecionada e selecione o botão Avançar para continuar.
Selecione Instalar na etapa de resumo.
Selecione Fechar na última etapa.
Agora, o aplicativo principal do Oracle GoldenGate é instalado com êxito na Oracle VM (oggVM).
Configurar o banco de dados Oracle para OGG e OGG Extract para extrair os dados CDC
Depois que o aplicativo principal do Oracle GoldenGate é instalado, ele pode ser configurado para extrair os dados do Oracle CDC. Siga estas etapas para configurar o Extract. Todas as operações nesta seção ainda são executadas em Oracle VM (oggVM) com conexão SSH.
Preparar o banco de dados para extração
Crie ou atualize o arquivo tnsnames.ora.
$ sudo su - oracle $ cd $ORACLE_HOME/network/admin $ vi tnsnames.ora
Quando o editor vi abre, deves pressionar
i
para alternar para o modo de inserção, depois copiar e colar o conteúdo do ficheiro e pressionar a teclaEsc
,:wq
para guardar o ficheiro.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) ) )
Crie as contas de proprietário e usuário do 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;
Crie a conta de usuário 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;
Você deve ser capaz de ver duas tabelas (TCUSTMER e TCUSTORD) são criadas e dois registros são inseridos em cada uma das duas tabelas.
Configurar e ativar a extração
Configure o ficheiro de parâmetros do Extract do Oracle GoldenGate.
$ sudo su – oracle
Verifique se
$TNS_ADMIN
está definido em~/.bashrc
. Se não, defina-o como:export TNS_ADMIN=$ORACLE_HOME/network/admin
em~/.bashrc
. E execute o comandosource ~/.bashrc
para fazê-lo entrar em vigor.$ 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;
Extrato de registo - extrato integrado.
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 pontos de verificação de extração e inicie a extração em tempo 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
Teste de fumaça para o extrato configurado.
Entre no banco de dados com a conta de teste e insira um registro na tabela:
$ 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;
Confira a transação captada pela Golden Gate (Nota Total insere 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.
Instalar o Oracle GoldenGate Big Data
O Oracle GoldenGate Big Data replica os dados extraídos para o manipulador desejado (destino). Neste tutorial, o manipulador é o tópico Kafka. Nesta seção, você é orientado a baixar os pacotes de software necessários e instalá-los.
Faça o download dos pacotes de software necessários
A VM do Windows (oggXServer) ainda é usada para baixar esses pacotes de software e transferi-los para o Oracle VM (oggVM).
Descarregar o OGG para big data (Oracle GoldenGate for Big Data 21.4.0.0.0 no Linux x86-64) de Oracle GoldenGate Downloads.
Descarregar pacote Kafka(kafka_2.13-3.9.0.tgz).
Use o comando SCP no WSL para transferi-los para a Oracle VM:
$ 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:~/
Instale os três pacotes de software
Para instalar os três pacotes de software, obtenha-os extraídos para as pastas individuais e obtenha as variáveis de ambiente correspondentes configuradas. Todas as operações nesta seção são executadas em Oracle VM (oggVM). Portanto, use o SSH entre nessa VM e siga estas etapas para instalá-los.
Conecte-se ao oggVM com SSH.
$ ssh -i ~/.ssh/oggVM.pem azureuser@10.0.0.4
Mova esses pacotes para 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
Mude para oracle user e vá para o diretório home para preparar as pastas individuais.
$ 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
Vá para cada pasta individual e obtenha o pacote 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 as variáveis de ambiente 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
Configure o Oracle GoldenGate Big Data para replicar os dados de CDC para o endpoint Kafka do Eventstream
Nesta seção, você é orientado a configurar o Oracle GoldenGate Big Data para replicar os dados CDC extraídos na seção anterior para o ponto de extremidade Kafka do Eventstream.
Preparar o endpoint Kafka do Eventstream
Seguindo os procedimentos normais de criação do Eventstream para criar uma fonte de ponto de extremidade personalizada e obter as informações do ponto de extremidade Kafka para uso posterior, consulte Adicionar um ponto de extremidade personalizado ou uma fonte de aplicação personalizada a um fluxo de eventos.
Configurar a replicação para Oracle GoldenGate Big Data
Todas as operações nesta seção são executadas em Oracle VM (oggVM). Portanto, use o SSH entre nessa VM e siga estas etapas para configurá-la.
Conecte-se ao oggVM com SSH se você perdeu a conexão após a seção anterior.
$ ssh -i ~/.ssh/oggVM.pem azureuser@10.0.0.4 $ sudo su - oracle
Vá para a pasta onde o pacote Oracle GoldenGate Big Data foi extraído e obtenha as pastas necessárias criadas.
$ 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 os arquivos de configuração do modelo do manipulador Kafka.
$ cp AdapterExamples/big-data/kafka/* dirprm/
Abra o arquivo rkafka.prm e altere o nome do esquema MAP/TARGET de acordo com o nome do esquema no banco de dados de origem.
$ 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.*;
Adicione a réplica usando o seguinte comando dentro do comando ./ggsci. Certifique-se de que a réplica deve ser a definida na etapa de extração:
$ ./ggsci GGSCI> ADD REPLICAT rkafka, exttrail /u01/app/oggcore/dirdat/rt GGSCI> EXIT
Abra o ficheiro de propriedades do Kafka e altere o gg.classpath para o caminho correto do diretório de instalação do Kafka sob #Exemplo de gg.classpath para o Apache Kafka. E também preencha o nome do tópico Kafka proveniente da origem de ponto final personalizada do 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/*
- Você pode encontrar o valor {YOUR.TOPIC.NAME} na página de Autenticação de Chave SAS na guia Kafka:
Faça alterações no arquivo custom_producer.properties adicionando a cadeia de caracteres de conexão do Eventstream e a senha necessárias para se conectar ao 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
- Substitua {YOUR.BOOTSTRAP.SERVER} pelo valor do servidor Bootstrap , que pode copiar do seu stream de eventos.
- Substitua {YOUR. SASL. JASS.CONFIG} com o SASL JASS config valor, que você pode copiar do seu fluxo de eventos.
Entre em sua instância do GoldenGate e inicie o processo de replicação.
$ ./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
Validar todo o fluxo E2E do Oracle para o Eventstream
Para validar todo o fluxo E2E, vamos iniciar sessão na base de dados Oracle com a conta ggtest para inserir alguns registos e, em seguida, aceder ao Eventstream para verificar se o fluxo de dados de alteração está a ocorrer.
Entre no banco de dados Oracle com conta de teste para inserir alguns novos registros:
$ 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;
Visualize os dados que você enviou com essa fonte de ponto de extremidade Kafka. Selecione o nó de fluxo padrão, que é o nó central que exibe o nome do fluxo de eventos.