Observação:

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

Arquitetura

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

Tarefa 1: Criar um novo compartimento

Tarefa 2: Crie um novo Oracle Autonomous Database denominado sourceDB

  1. Clique no menu de navegação superior esquerdo, selecione Oracle Database e clique em Autonomous Database.

  2. Selecione o compartimento streaming criado na etapa anterior e clique em Criar Autonomous Database.

    T2_1

  3. Preencha as informações conforme mostrado nas imagens a seguir.

    T2_2

    T2_3

    T2_4

Observação: anote a senha ADMIN que você criou.

Tarefa 3: Crie um novo Oracle Autonomous Database denominado targetDB

  1. Clique no menu de navegação superior esquerdo, selecione Oracle Database e clique em Autonomous Database.

  2. Selecione o compartimento criado na etapa anterior streaming e clique em Criar Autonomous Database.

    T2_1

  3. Preencha as informações conforme mostrado nas imagens a seguir.

    T3_2

    T2_3

    T2_4

Observação: anote a senha ADMIN que você criou.

Tarefa 4: Criar um novo esquema e definições para sourceDB

  1. Vá para a home page sourceDB e clique em Database Actions para executar comandos SQL no banco de dados e carregar dados.

    T4_1

  2. 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.

    T4_1

  3. 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.

    T4_1

Tarefa 5: Carregue dados do arquivo banks_export.sql em sourceDB

  1. Vá para a home page sourceDB e clique em Database Actions para executar comandos SQL no banco de dados e carregar dados.

    T4_1

  2. 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.

    T5_1

  3. Execute uma contagem simples na tabela e verifique o número de linhas inseridas.

    T5_1

Tarefa 6: Criar um novo esquema para targetDB e carregar dados

Tarefa 7: Crie a tabela de transações chamada OPERACOES em sourceDB

  1. 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.

  2. Vá para a home page sourceDB e clique em Database Actions para executar comandos SQL no banco de dados e carregar dados.

    T4_1

  3. 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.

T7_1

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

  1. Clique no menu de navegação superior esquerdo, selecione Análise e IA, clique em Streaming e selecione Pool de Streaming.

  2. Clique em Criar Pool de Fluxos e preencha as informações a seguir.

    T8_1

    T8_1

  3. Clique em Criar.

  4. Clique em Definições de Conexão do Kafka e anote as informações relacionadas às strings de conexão.

    T8_1

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.

  1. Clique no menu de navegação superior esquerdo, selecione Identidade e Segurança, selecione Identidade, Domínios, Domínio Padrão, Usuários.

  2. Selecione o mesmo usuário que você usou para criar os recursos anteriores, como Oracle Autonomous Database e OCI Stream Pool.

T9_1

T9_1

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.

  1. Clique no menu de navegação superior esquerdo, selecione Oracle Database e clique em GoldenGate.

  2. Selecione a opção Conexões no menu esquerdo e clique em Criar conexão.

  3. Crie a conexão para sourceDB.

    T9_1

    T9_1

  4. Repita o processo e crie a conexão para targetDB.

    T9_1

    T9_1

  5. Crie a conexão do pool do OCI Streaming DefaultPool.

    T9_1

    T9_1

Neste ponto, você deve ter as seguintes conexões:

T10_1

Tarefa 11: Criar implantação do Oracle GoldenGate - Tipo: ORACLE

  1. Clique no menu de navegação superior esquerdo, selecione Oracle Database e clique em GoldenGate.

  2. Selecione a opção Implantações no menu esquerdo e clique em Criar implantação.

    T10_1

    T10_1

Observação: salve sua senha oggadmin.

Tarefa 12: Criar implantação do Oracle GoldenGate - Tipo: BIGDATA

  1. Clique no menu de navegação superior esquerdo, selecione Oracle Database e clique em GoldenGate.

  2. Selecione a opção Implantações no menu esquerdo e clique em Criar implantação.

    T12_1

    T12_1

    T12_1

  3. Depois que as implantações forem criadas e ativas, vá para a próxima etapa.

    T12_1

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.

  1. Clique no menu de navegação superior esquerdo, selecione Oracle Database e clique em GoldenGate.

  2. Selecione a opção Conexões no menu esquerdo e clique em Criar conexão.

    T13_1

    T13_1

Suas conexões devem ter esta aparência:

T13_1

Tarefa 14: Adicionando conexões à implantação do Oracle GoldenGate - GGForOracle

  1. Selecione a implantação GGForOracle, no menu esquerdo, clique em Conexões designadas e, em seguida, clique em Designar conexão.

    T14_1

  2. Adicione a conexão para sourceDB.

    T14_1

  3. Adicione a conexão para targetDB.

    T14_1

  4. Adicione a conexão para GGOracletoGGBigData .

    T14_1

Você deve ter as seguintes conexões na implantação GGForOracle:

T14_1

Tarefa 15: Adicionando conexões à implantação do Oracle GoldenGate - GGforBigData

  1. Selecione a implantação GGforBigData, no menu esquerdo, clique em Conexões designadas e, em seguida, clique em Designar conexão.

    T15_1

    T15_1

Você deve ter as seguintes conexões na implantação GGforBigData:

T15_1

Tarefa 16: Configurar o Oracle GoldenGate para GGforOracle

  1. Selecione sua implantação GGForOracle e clique em Iniciar Console.

  2. Informe as credenciais oggadmin/yourpassword (a senha criada durante a criação da implantação).

    T16_1

  3. Clique no menu de navegação, selecione Configuração e clique em + para adicionar uma nova credencial.

    T16_1

  4. Adicione as credenciais da implantação GGforBigData.

    Observação: use o oggadmin que você configurou durante a criação da implantação.

    T16_1

  5. Clique para estabelecer conexão em sourceDB e, em seguida, clique em + em TRANDATA para adicionar as tabelas necessárias para replicação.

    T16_1

  6. Adicione um novo registro para a tabela FINDATA.BANKS e clique em Enviar.

    T16_1

  7. Adicione um novo registro para a tabela FINDATA.OPERACOES e clique em Enviar.

    T16_1

  8. Para verificar se as tabelas foram adicionadas, clique no filtro para FINDATA.*.

    T16_1

  9. Clique para estabelecer conexão em targetDB e, em seguida, clique em + em CHECKPOINT.

    T16_1

    T16_1

  10. Informe FINDATA.CHECKTABLE e clique em Enviar.

    T16_1

  11. Agora clique na opção Visão Geral do menu esquerdo para incluir a nova extração.

    T16_1

    T16_1

    T16_1

    T16_1

    • Incluir os seguintes parâmetros:

      EXTRACT EXT
      USERIDALIAS sourceDB DOMAIN OracleGoldenGate
      EXTTRAIL E1
      table FINDATA.operacoes;
      table FINDATA.banks;
      
      
  12. Clique em Ações, Iniciar para iniciar a extração.

    T16_1

  13. Agora, crie uma nova replicação para aplicar a replicação ao targetDB.

    T16_1

    T16_1

    T16_1

    • 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 tabela FINDATA.OPERACOES será replicada para o tópico OCI Streaming posteriormente neste tutorial.

  14. Clique em Ação, Iniciar para iniciar a replicação.

    T16_1

    T16_1

  15. 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;
    

    T16_1

  16. 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;
    
    

    T16_1

  17. Clique na guia Serviço de Distribuição e adicione um novo caminho para enviar dados para GGforBigData.

    T16_1

    T16_1

    T16_1

  18. Clique em Ação, Iniciar para iniciar a distribuição de serviço.

    T16_1

    T16_1

Tarefa 17: Configurar o Oracle GoldenGate for Big Data - GGforBigData

  1. Selecione sua implantação GGforBigData e clique em Iniciar Console.

  2. Informe as credenciais oggadmin/yourpassword (a senha criada durante a criação da implantação).

    T17_1

  3. 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.

    T17_2

  4. Agora precisamos configurar o REPLICAT para publicar os dados no tópico OCI Streaming.

  5. Clique na tab Serviço de Administração.

    T17_1

    T17_1

    T17_1

    • 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);
      
      

      T17_1

    • Basta adicionar ${tableName} nesta linha e usar todos os valores padrão fornecidos.

      T17_1

  6. Clique em Ação, Iniciar para iniciar a replicação.

    T17_1

    • Verifique se o status é verde:

      T17_1

Tarefa 18: Verificar replicação no tópico OCI Streaming

  1. 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.

      T17_1

  2. Verifique se há algum registro em FINDATA.OPERACOES executando o seguinte comando SQL.

    SELECT COUNT(*) FROM FINDATA.OPERACOES;
    

    T17_1

  3. Clique no menu de navegação superior esquerdo, selecione Análise e IA, clique em Streaming e selecione Stream no menu esquerdo.

  4. Verifique se um novo TOPIC foi criado automaticamente pelo Oracle GoldenGate for Big Data.

    T17_1

  5. Tente consumir algumas mensagens e verifique se elas estão disponíveis no tópico clicando em Carregar Mensagens.

    T17_1

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

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.