Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever e obter uma conta gratuita, consulte Conceitos Básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Transmita dados usando o Oracle GoldenGate e o Oracle GoldenGate for Big Data com diferentes destinos
Introdução
O Oracle GoldenGate é um serviço totalmente gerenciado que ajuda os engenheiros de dados a mover dados em tempo real, em escala, de um ou mais sistemas de gerenciamento de dados para bancos de dados do Oracle Cloud. Projete, execute, orquestre e monitore tarefas de replicação de dados em uma única interface sem precisar alocar ou gerenciar qualquer ambiente de computação.
O Oracle GoldenGate for Big Data transmite dados transacionais para sistemas de Big Data e Nuvem em tempo real, sem afetar o desempenho dos sistemas de origem. Ele agiliza a entrega de dados em tempo real nas soluções de Big Data mais populares, incluindo Apache Hadoop, Apache HBase, Apache Hive, Confluent Kafka, Bancos de Dados NoSQL, Elasticsearch, JDBC, Oracle Cloud, Amazon Web Services, Microsoft Azure Cloud, Google Cloud Platform e Data Warehouses para facilitar insights aprimorados e ações oportunas.
O serviço Oracle Cloud Infrastructure (OCI) Streaming oferece uma solução totalmente gerenciada, escalável e durável para ingestão e consumo de fluxos de dados de alto volume em tempo real. Use o OCI Streaming para qualquer caso de uso no qual os dados sejam produzidos e processados de forma contínua e sequencial em um modelo de mensagens do padrão publicar-assinar.
Neste tutorial, você aprenderá a transmitir dados do Oracle Autonomous Database para dois destinos diferentes, ou seja, o Oracle Autonomous Database e o Tópico do Oracle Streams.
Objetivo
-
Configurar dois Oracle Autonomous Databases
-
Neste cenário de exemplo, sourceDB tem duas tabelas Bancos e Operacoes em que os dados precisam ser replicados para dois destinos diferentes
-
A tabela Banks será replicada para um Oracle Autonomous Database de destino chamado targetDB
-
A tabela Operacoes será replicada para um tópico do OCI Streaming (kafka) com fluxo quase em tempo real
-
-
Configurar o Oracle GoldenGate para replicar dados do banco de dados de Origem para o banco de dados de Destino
-
Publicar DMLs de tabela do banco de dados de Origem para um tópico Destino do Oracle Cloud Infrastructure (OCI) Streaming (compatível com Kafka)
Arquitetura
IMPORTANTE: essa arquitetura de amostra é apenas para fins de aprendizado e para mantê-la simples, estamos usando uma sub-rede PUBLIC, o que significa que essa não deve ser usada para ambientes de Produção ou processamento de dados reais.
Para ambientes de Produção, você DEVE usar sub-redes PRIVATE e aplicar todas as melhores práticas de segurança descritas aqui: Melhores Práticas de Segurança da Oracle)
Pré-requisitos
- Uma Conta do Oracle Cloud - Comece agora com o Oracle Cloud Infrastructure Free Tier
- Uma VCN básica (Rede Virtual na Nuvem) com duas sub-redes (Pública e Privada)
Você pode seguir este tutorial para criar uma nova VCN QuickStart Networking - Conceitos básicos do Oracle Database
- Conceitos básicos de Kafka Streaming
Tarefa 1: Criar um novo compartimento
-
Faça log-in na sua conta do Oracle Cloud, clique no menu de navegação superior esquerdo, selecione Identidade e Segurança e clique em Compartimentos.
Tarefa 2: Crie um novo Oracle Autonomous Database denominado sourceDB
-
Clique no menu de navegação superior esquerdo, selecione Oracle Database e clique em Autonomous Database.
-
Selecione o compartimento streaming criado na etapa anterior e clique em Criar Autonomous Database.
-
Preencha as informações conforme mostrado nas imagens a seguir.
Observação: anote a senha ADMIN que você criou.
Tarefa 3: Crie um novo Oracle Autonomous Database denominado targetDB
-
Clique no menu de navegação superior esquerdo, selecione Oracle Database e clique em Autonomous Database.
-
Selecione o compartimento criado na etapa anterior streaming e clique em Criar Autonomous Database.
-
Preencha as informações conforme mostrado nas imagens a seguir.
Observação: anote a senha ADMIN que você criou.
Tarefa 4: Criar um novo esquema e definições para sourceDB
-
Vá para a home page sourceDB e clique em Database Actions para executar comandos SQL no banco de dados e carregar dados.
-
Faça download do arquivo findata_schema.sql e copie o conteúdo para a janela de execução SQL e execute-o como um SCRIPT.
Observação: certifique-se de definir uma senha para o usuário FINDATA e anote as etapas posteriores deste tutorial.
-
Faça download do arquivo enable_gg.sql e copie o conteúdo para a janela de execução SQL e execute-o como um SCRIPT.
Observação: certifique-se de definir uma senha para o usuário GGADMIN e observe as etapas posteriores deste tutorial.
Tarefa 5: Carregue dados do arquivo banks_export.sql
em sourceDB
-
Vá para a home page sourceDB e clique em Database Actions para executar comandos SQL no banco de dados e carregar dados.
-
Faça download do arquivo banks_export.sql e copie o conteúdo para a janela de execução SQL e execute-o como um SCRIPT.
-
Execute uma contagem simples na tabela e verifique o número de linhas inseridas.
Tarefa 6: Criar um novo esquema para targetDB e carregar dados
-
Repita a Tarefa 4 e a Tarefa 5 para "targetDB".
-
Crie a tabela FINDATA, ative o GG e carregue dados da tabela BANKS no banco de dados de destino da mesma forma que você fez no sourceDB, mas agora conectado no targetDB.
Tarefa 7: Crie a tabela de transações chamada OPERACOES em sourceDB
-
Crie uma nova tabela chamada
FINDATA.OPERACOES
somente em sourceDB. Esta tabela serão os dados de origem que o Oracle GoldenGate for Big Data capturará e publicará no tópico OCI Streaming. -
Vá para a home page sourceDB e clique em Database Actions para executar comandos SQL no banco de dados e carregar dados.
-
Faça download do arquivo operacoes_table.sql e copie o conteúdo para a janela de execução SQL e execute-o como um SCRIPT.
Esta é uma tabela vazia que receberá os dados aleatórios para iniciar eventos no Oracle GoldenGate.
Tarefa 8: Criar um Pool de Streaming do OCI
-
Clique no menu de navegação superior esquerdo, selecione Análise e IA, clique em Streaming e selecione Pool de Streaming.
-
Clique em Criar Pool de Fluxos e preencha as informações a seguir.
-
Clique em Criar.
-
Clique em Definições de Conexão do Kafka e anote as informações relacionadas às strings de conexão.
Tarefa 9: Gerar um AUTH TOKEN para acessar o Pool de Streaming do OCI
Você pode acessar o OCI Streaming (API Kafka) e outros recursos no Oracle Cloud com um Token de Autenticação associado ao seu usuário no OCI Oracle Cloud Infrastructure Identity and Access Management (IAM). Em Definições de Conexão Kafka, as Strings de Conexão SASL têm um parâmetro denominado senha e um valor AUTH_TOKEN, conforme descrito na tarefa anterior. Para ativar o acesso ao OCI Streaming, vá para a Console do OCI e crie um AUTH TOKEN.
-
Clique no menu de navegação superior esquerdo, selecione Identidade e Segurança, selecione Identidade, Domínios, Domínio Padrão, Usuários.
-
Selecione o mesmo usuário que você usou para criar os recursos anteriores, como Oracle Autonomous Database e OCI Stream Pool.
Observação: anote AUTH TOKEN; você precisará dele para a próxima etapa.
Tarefa 10: Criar conexões do Oracle GoldenGate
Para estabelecer conexão com os bancos de dados de origem e de destino, o Oracle GoldenGate precisa da configuração de conexão adequada.
-
Clique no menu de navegação superior esquerdo, selecione Oracle Database e clique em GoldenGate.
-
Selecione a opção Conexões no menu esquerdo e clique em Criar conexão.
-
Crie a conexão para sourceDB.
-
Repita o processo e crie a conexão para targetDB.
-
Crie a conexão do pool do OCI Streaming DefaultPool.
Neste ponto, você deve ter as seguintes conexões:
Tarefa 11: Criar implantação do Oracle GoldenGate - Tipo: ORACLE
-
Clique no menu de navegação superior esquerdo, selecione Oracle Database e clique em GoldenGate.
-
Selecione a opção Implantações no menu esquerdo e clique em Criar implantação.
Observação: salve sua senha oggadmin.
Tarefa 12: Criar implantação do Oracle GoldenGate - Tipo: BIGDATA
-
Clique no menu de navegação superior esquerdo, selecione Oracle Database e clique em GoldenGate.
-
Selecione a opção Implantações no menu esquerdo e clique em Criar implantação.
-
Depois que as implantações forem criadas e ativas, vá para a próxima etapa.
Tarefa 13: Criar conexão entre implantações do Oracle GoldenGate
Para que o Oracle GoldenGate se comunique com o Oracle GoldenGate for Big Data, precisamos criar a conexão.
-
Clique no menu de navegação superior esquerdo, selecione Oracle Database e clique em GoldenGate.
-
Selecione a opção Conexões no menu esquerdo e clique em Criar conexão.
Suas conexões devem ter esta aparência:
Tarefa 14: Adicionando conexões à implantação do Oracle GoldenGate - GGForOracle
-
Selecione a implantação GGForOracle, no menu esquerdo, clique em Conexões designadas e, em seguida, clique em Designar conexão.
-
Adicione a conexão para sourceDB.
-
Adicione a conexão para targetDB.
-
Adicione a conexão para GGOracletoGGBigData .
Você deve ter as seguintes conexões na implantação GGForOracle:
Tarefa 15: Adicionando conexões à implantação do Oracle GoldenGate - GGforBigData
-
Selecione a implantação GGforBigData, no menu esquerdo, clique em Conexões designadas e, em seguida, clique em Designar conexão.
Você deve ter as seguintes conexões na implantação GGforBigData:
Tarefa 16: Configurar o Oracle GoldenGate para GGforOracle
-
Selecione sua implantação GGForOracle e clique em Iniciar Console.
-
Informe as credenciais oggadmin/yourpassword (a senha criada durante a criação da implantação).
-
Clique no menu de navegação, selecione Configuração e clique em + para adicionar uma nova credencial.
-
Adicione as credenciais da implantação GGforBigData.
Observação: use o oggadmin que você configurou durante a criação da implantação.
-
Clique para estabelecer conexão em sourceDB e, em seguida, clique em + em TRANDATA para adicionar as tabelas necessárias para replicação.
-
Adicione um novo registro para a tabela
FINDATA.BANKS
e clique em Enviar. -
Adicione um novo registro para a tabela
FINDATA.OPERACOES
e clique em Enviar. -
Para verificar se as tabelas foram adicionadas, clique no filtro para FINDATA.*.
-
Clique para estabelecer conexão em targetDB e, em seguida, clique em + em CHECKPOINT.
-
Informe FINDATA.CHECKTABLE e clique em Enviar.
-
Agora clique na opção Visão Geral do menu esquerdo para incluir a nova extração.
-
Incluir os seguintes parâmetros:
EXTRACT EXT USERIDALIAS sourceDB DOMAIN OracleGoldenGate EXTTRAIL E1 table FINDATA.operacoes; table FINDATA.banks;
-
-
Clique em Ações, Iniciar para iniciar a extração.
-
Agora, crie uma nova replicação para aplicar a replicação ao targetDB.
-
Incluir os seguintes parâmetros:
REPLICAT REP USERIDALIAS targetDB DOMAIN OracleGoldenGate MAP FINDATA.BANKS, TARGET FINDATA.BANKS;
Observação: Somente a tabela
FINDATA.BANKS
está sendo replicada aqui. Isso acontece porque estamos replicando-o para targetDB. A outra tabelaFINDATA.OPERACOES
será replicada para o tópico OCI Streaming posteriormente neste tutorial. -
-
Clique em Ação, Iniciar para iniciar a replicação.
-
Verifique se a replicação está trabalhando para a tabela
FINDATA.BANKS
: Vá para a página de ações do banco de dados em sourceDB e insira um novo registro.INSERT INTO FINDATA.BANKS VALUES (999, 999, 'XXXXXX','TEST GOLDENGATE','TESTGG'); COMMIT;
-
Abra a página de ações do banco de dados para targetDB e execute a consulta abaixo para verificar se o registro foi criado.
select * from FINDATA.BANKS WHERE ID_SEQ = 999;
-
Clique na guia Serviço de Distribuição e adicione um novo caminho para enviar dados para GGforBigData.
-
Clique em Ação, Iniciar para iniciar a distribuição de serviço.
Tarefa 17: Configurar o Oracle GoldenGate for Big Data - GGforBigData
-
Selecione sua implantação GGforBigData e clique em Iniciar Console.
-
Informe as credenciais oggadmin/yourpassword (a senha criada durante a criação da implantação).
-
Clique na guia Serviço do Recebedor e verifique se já está funcionando. Ela deverá ter esta aparência, pois já fizemos todas as definições necessárias para a conexão entre as implantações do Oracle GoldenGate.
-
Agora precisamos configurar o REPLICAT para publicar os dados no tópico OCI Streaming.
-
Clique na tab Serviço de Administração.
-
Incluir os seguintes 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);
-
Basta adicionar ${tableName} nesta linha e usar todos os valores padrão fornecidos.
-
-
Clique em Ação, Iniciar para iniciar a replicação.
-
Verifique se o status é verde:
-
Tarefa 18: Verificar replicação no tópico OCI Streaming
-
Vá até a página de ações do banco de dados para sourceDB e insira algumas linhas na tabela
FINDATA.OPERACOES
.-
Você pode usar o script load_random_data.sql para inserir dados aleatórios na tabela
FINDATA.OPERACOES
. -
Este script adicionará 1.000 linhas em
FINDATA.OPERACOES
e será suficiente para verificar se a replicação está funcionando conforme esperado.
-
-
Verifique se há algum registro em
FINDATA.OPERACOES
executando o seguinte comando SQL.SELECT COUNT(*) FROM FINDATA.OPERACOES;
-
Clique no menu de navegação superior esquerdo, selecione Análise e IA, clique em Streaming e selecione Stream no menu esquerdo.
-
Verifique se um novo TOPIC foi criado automaticamente pelo Oracle GoldenGate for Big Data.
-
Tente consumir algumas mensagens e verifique se elas estão disponíveis no tópico clicando em Carregar Mensagens.
Observação Importante: Carregar Mensagens só funciona para mensagens consumidas no último MINUTE. Isso significa que, se você levar mais tempo do que isso após executar o script LOAD_RANDOM_DATA.SQL, não verá nenhum resultado.
Para ver os resultados, vá para seu banco de dados e execute o script LOAD_RANDOM_DATA.SQL novamente e volte para Carregar Mensagens e você verá suas mensagens.
Confirmações
- Autor - Joao Tarla (Engenheiro de Soluções da Equipe do Oracle LAD)
Mais Recursos de Aprendizagem
Explore outros laboratórios no site docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o 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.