Tarefa 2: Configurar o Ambiente do Oracle GoldenGate

Execute as seguintes etapas para completar esta tarefa:

Etapa 2.1: Acessar a implantação

Para acessar a implantação:

Etapa 2.2: Criar credenciais do banco de dados

Use a IU do Oracle GoldenGate Microservices para criar as credenciais do banco de dados usando os nomes de alias TNS acima. Como usuário oggadmin, adicione as credenciais do banco de dados:

  1. Faça log-in no Oracle GoldenGate Administration Service: https://localhost:<localPort>/services/<deployment_name>/adminsrvr/v2/content/.

  2. No menu de navegação esquerdo, selecione Conexões de BD.

  3. Na página Conexões de BD, selecione Adicionar Conexão de BD (ícone de mais).

  4. Adicione as informações necessárias para cada CDB e PDB de origem e destino:

    Região Contêiner Domínio Alias ID Usuário
    Região 1 CDB GoldenGate Reg1_CDB c##ggadmin@
    Região 1 PDB GoldenGate Reg1_PDB ggadmin@
    Região 2 CDB GoldenGate Reg2_CDB c##ggadmin@
    Região 2 PDB GoldenGate Reg2_PDB ggadmin@

Etapa 2.3: Criar perfis de Inicialização Automática

Crie um perfil que inicie automaticamente os processos Extract e Replicat quando o Oracle GoldenGate Administration Server for iniciado e reinicie se algum processo Extract ou Replicat for abandonado. Em Microsserviços GoldenGate, os perfis gerenciam a inicialização e a reinicialização automáticas.

Usando a IU do Oracle GoldenGate Administration Server, crie um perfil para designar a cada processo do Oracle GoldenGate:

  1. Faça log-in no GoldenGate WebUI para a implantação do GoldenGate de Origem.

  2. No menu de navegação, selecione Perfis do Processo Gerenciado.

  3. Selecione Adicionar Perfil na página Definições do Processo Gerenciado.

  4. Informe os detalhes da seguinte forma:

    • Nome do perfil: Start_Default

    • Descrição: Default auto-start/resteart profile

    • Perfil Padrão: Sim

    • Início Automático: Sim

    • Opções de Inicialização Automática

      • Atraso de inicialização: 1 min

      • Reinicialização automática: Sim

    • Opções de Reinicialização Automática

      • Máximo de Novas Tentativas: 5

      • Atraso de Repetição: 30 segundos

      • Janela Repetições: 30 min

      • Reiniciar somente em caso de Falha: Sim

      • Desativar Tarefa Após Novas Tentativas Expiradas: Sim

  5. Selecione Enviar

  6. Repita essas etapas na implantação do Alvo GoldenGate.

Etapa 2.4: Configurar processos do Oracle GoldenGate

Ao criar processos de Extract, Distribution Paths e Replicat com a Arquitetura de Microsserviços do Oracle GoldenGate, todos os arquivos que precisam ser compartilhados entre os nós GGHub já são compartilhados com os arquivos de implantação armazenados em um sistema de arquivos compartilhado.

A seguir, estão os detalhes essenciais de configuração recomendados para executar o Oracle GoldenGate Microservices em GGhub para processos de Extract, Distribution Paths e Replicat.

Execute as seguintes subetapas para concluir esta etapa:

Etapa 2.5.1: Extrair configuração

Ao criar um Extract usando a interface do Oracle GoldenGate Administration Service, deixe o parâmetro Subdiretório de Trilhas em branco para que os arquivos de trilha sejam criados automaticamente nos diretórios de implantação armazenados no sistema de arquivos compartilhado. O local padrão para arquivos de trilha é o diretório /<deployment directory>/var/lib/data.

Observação: para capturar a partir de um banco de dados multitenant, você deve usar um Extract configurado no nível raiz usando uma conta c##. Para aplicar dados a um banco de dados multitenant, é necessário um Replicat separado para cada PDB porque um Replicat se conecta no nível do PDB e não tem acesso a objetos fora desse PDB.

Para os processos de Extração GoldenGate que usam configurações do Data Guard que estão usando os modos de transporte de redo Desempenho Máximo ou Disponibilidade Máxima, o seguinte parâmetro deve ser adicionado ao arquivo de parâmetros do processo de Extração no sistema principal para evitar a perda de transações e resultar em inconsistências de dados lógicas:

TRANLOGOPTIONS HANDLEDLFAILOVER

Esse parâmetro impede que o Extract extraia dados de transação do redo que ainda não foi aplicado ao banco de dados stand-by do Data Guard. Isso é crucial para impedir que o Oracle GoldenGate replique dados para um banco de dados de destino que não existe no banco de dados stand-by de origem.

Se este parâmetro não for especificado, após um failover de perda de dados do banco de dados de origem, é possível ter dados no banco de dados de destino que não estejam presentes no banco de dados de origem, levando a inconsistências lógicas de dados.

Por padrão, após 60 segundos, uma mensagem de advertência será gravada no arquivo de relatório Extract quando o Extract for paralisado por não poder consultar as informações SCN aplicadas ao banco de dados stand-by. Por exemplo:

WARNING OGG-02721  Extract has been waiting for the standby database for 60 seconds.

O tempo antes de a mensagem de advertência ser gravada no arquivo de relatório Extract pode ser ajustado usando o parâmetro Extract "TRANLOGOPTIONS HANDLEDLFAILOVER STANDBY_WARNING".

Se o processo Extract ainda não puder consultar as informações SCN aplicadas ao banco de dados stand-by após 30 minutos (padrão), o processo Extract será encerrado de forma anormal, registrando a seguinte mensagem no arquivo de relatório Extract:

ERROR   OGG-02722  Extract abended waiting for 1,800 seconds for the
    standby database to be accessible or caught up with the primary database.

Se o banco de dados stand-by ficar disponível antes que o timeout padrão de 30 expire, o Extract continuará a extrair dados do banco de dados de origem e reportará a seguinte mensagem ao arquivo de relatório:

INFO    OGG-02723  Extract resumed from stalled state and started processing LCRs.

O valor de timeout de 30 minutos pode ser ajustado usando o parâmetro Extract "TRANLOGOPTIONS HANDLEDLFAILOVER STANDBY_ABEND ", em que o valor é o número de segundos em que o stand-by está indisponível antes de ser reduzido.

Se o banco de dados stand-by ficar indisponível por um período prolongado, como durante uma interrupção de manutenção planejada, e você quiser que o Extract continue extraindo dados do banco de dados principal, remova o parâmetro "TRANLOGOPTIONS HANDLEDLFAILOVER" do arquivo de parâmetros do Extract e reinicie o Extract (veja o exemplo abaixo nas Figuras 4 a 6). Lembre-se de definir o parâmetro depois que o stand-by ficar disponível.

Observação: Se a extração de um banco de dados principal continuar enquanto o stand-by estiver indisponível, um failover de perda de dados poderá resultar depois que o stand-by ficar disponível e nem todo o redo principal tiver sido aplicado antes de um failover. O banco de dados de destino GoldenGate conterá dados que não existem no banco de dados de origem.

Se o processo de Extract tiver recebido um perfil de reinicialização automática, após uma transição de atribuição do Data Guard, o processo de Extract será reiniciado automaticamente. O Extract continuará a extrair dados de redo do novo banco de dados principal, ignorando o estado atual do novo banco de dados stand-by, até que um período de timeout padrão de 5 minutos expire. Após esse período, se o Extract não estiver disponível, o stand-by será encerrado com os seguintes erros:

INFO    OGG-25053  Timeout waiting for 300 seconds for standby database
 reinstatement. Now enforcing HANDLEDLFAILOVER.
ERROR   OGG-06219  Unable to extract data from the Logmining server OGG$CAP_XXXXX.
ERROR   OGG-02078  Extract encountered a fatal error in a processing thread and is
 abending.

O Extract continuará a ser reiniciado automaticamente, com base no perfil de reinicialização automática de Microsserviços GoldenGate, e com falha por atingir o timeout de HANDLEDLFAILOVER, até que o número de novas tentativas seja atingido ou o novo banco de dados stand-by fique disponível.

Durante o período de timeout após uma transição de atribuição de banco de dados, o parâmetro HANDLEDLFAILOVER é suspenso automaticamente; portanto, os dados serão replicados para o banco de dados de réplica do Oracle GoldenGate sem considerar que o banco de dados stand-by de origem não está sendo mantido atualizado. O período de timeout para que o banco de dados stand-by seja iniciado antes do término anormal do Extract pode ser ajustado usando o parâmetro Extract TRANLOGOPTIONS DLFAILOVER_TIMEOUT.

É recomendável deixar DLFAILOVER_TIMEOUT no padrão de 5 minutos para permitir que o principal antigo seja convertido em um stand-by. Se o novo banco de dados stand-by ficar indisponível por um período prolongado ou desaparecer completamente, para que o Extract seja iniciado e permaneça em execução, você deverá remover o parâmetro HANDLEDLFAILOVER do arquivo de parâmetros do Extract. Após remover o parâmetro, o Extract não aguarda mais até que o redo seja aplicado ao banco de dados stand-by antes de extrair os dados.

Durante o tempo necessário para o banco de dados stand-by voltar a ficar on-line e aplicar todo o redo do banco de dados principal, haverá divergência de dados entre ele e o banco de dados de réplica do Oracle GoldenGate. Isso será resolvido quando o banco de dados stand-by estiver atualizado. Nesse ponto, adicione o parâmetro HANDLEDLFAILOVER de volta ao arquivo de parâmetros do processo Extract integrado e, em seguida, interrompa e reinicie o Extract.

Quando o Failover de Inicialização Rápida do Oracle Data Guard estiver desativado, de forma que o broker possa fazer failover automaticamente para um banco de dados stand-by em caso de perda do banco de dados principal, você deverá especificar um parâmetro Extract integrado adicional mostrado abaixo.

TRANLOGOPTIONS FAILOVERTARGETDESTID n

Este parâmetro identifica qual banco de dados stand-by o processo Extract do Oracle GoldenGate deve permanecer para trás, com relação a não extrair dados de redo que ainda não foram aplicados ao banco de dados stand-by.

Se o Failover Fast-Start do Oracle Data Guard estiver desativado e você não especificar o parâmetro de Extract integrado adicional FAILOVERTARGETDESTID, a extração será encerrada com os seguintes erros:

ERROR OGG-06219 Unable to extract data from the Logmining server OGG$CAP_XXXXX.
ERROR OGG-02078 Extract encountered a fatal error in a processing thread and is abending.

Para determinar o valor correto para FAILOVERTARGETDESTID, use o parâmetro LOG_ARCHIVE_DEST_N do banco de dados de origem GoldenGate que é usado para enviar o redo ao banco de dados stand-by de origem. Por exemplo, se LOG_ARCHIVE_DEST_2 apontar para o banco de dados stand-by, use um valor 2.

Como o usuário oracle no sistema de banco de dados principal, execute o seguinte comando:

[opc@exapri-node1 ~]$ sudo su - oracle
[oracle@exapri-node1 ~]$ source <db_name>.env
[oracle@exapri-node1 ~]$ sqlplus / as sysdba

SQL> show parameters log_archive_dest

NAME                  TYPE        VALUE
--------------------- ----------- ---------------------------------------------------
log_archive_dest_1    string      location=USE_DB_RECOVERY_FILE_DEST,
                                  valid_for=(ALL_LOGFILES, ALL_ROLES)

log_archive_dest_2    string      service="<db_name>", SYNC AFFIRM delay=0
                                  optional compression=disable max_failure=0 reopen=300
                                  db_unique_name="<db_name>" net_timeout=30,
                                  valid_for=(online_logfile,all_roles)

Neste exemplo, o parâmetro Extract seria definido como o seguinte:

TRANLOGOPTIONS FAILOVERTARGETDESTID 2

Crie o processo Extract:

  1. Faça log-in no Oracle GoldenGate de origem.

  2. No menu de navegação, selecione Extratos.

  3. Na página Extrações, selecione Adicionar Extração.

  4. Preencha o formulário Adicionar Extração da seguinte forma:

    1. Para obter informações sobre extração:

      • Tipo de extração: Extração integrada.

      • Nome do Processo: EXT_1

      • Descrição: Extrair para CDB da Região 1

    2. Para Opções de Extração:

      • Domínio de Credenciais: GoldenGate

      • Alias da Credencial: Reg1_CDB

      • Registrar em PDBs: Nome do PDB

      • Intenção: Unidirecional

      • Início: Agora

      • Nome da Trilha: aa

  5. Selecione Próximo

  6. Se estiver usando a Captura Raiz do CDB do PDB, adicione o parâmetro SOURCECATALOG com o Nome do PDB

  7. Selecione Create and Run

Etapa 2.5.2 - Configuração do Replicat

A Oracle geralmente recomenda o uso de Replicat paralelo integrado, que oferece melhor desempenho de aplicação para a maioria das cargas de trabalho quando o GGHUB está na mesma região do banco de dados Oracle GoldenGate de destino.

O melhor desempenho de aplicação pode ser alcançado quando a latência de rede entre o GGHUB e o banco de dados de destino for o mais baixa possível. A configuração a seguir é recomendada para o Replicat remoto em execução no Oracle GGHUB.

Etapa 2.5.2.1 - Criar a Tabela de Checkpoint

A tabela de checkpoint é um componente obrigatório para processos de Replicat do Oracle GoldenGate. Após estabelecer conexão com o banco de dados na página Credenciais do Serviço de Administração, você poderá criar a tabela de checkpoint.

Crie a tabela de checkpoint na implantação de destino:

  1. Faça log-in na IU da Web do Oracle GoldenGate.

  2. No menu de navegação, selecione Conexões de BD e, em seguida, conecte-se ao banco de dados de destino.

  3. Após estabelecer conexão com o banco de dados de destino com sucesso, selecione Tabela de Checkpoint.

  4. Selecione Adicionar Ponto de Verificação (ícone de adição). A página Adicionar Checkpoint é exibida.

  5. Para a Tabela de Checkpoint, informe ggadmin.chkp_table.

  6. Selecione Enviar

Consulte Adicionar uma Tabela de Checkpoint.

Etapa 2.5.2.2 - Adicionar um Processo de Replicat

Depois de configurar suas conexões de banco de dados e verificá-las, você poderá adicionar um processo Replicat para a implantação seguindo estas etapas:

  1. No menu de navegação, selecione Replicats.

  2. Na página Replicats, selecione Adicionar Replicat (ícone de mais). A página Adicionar Replicat é exibida.

  3. Selecione um tipo de Replicat e selecione Próximo.

  4. Informe os detalhes da seguinte forma:

    • Nome do Processo: REP_1

    • Descrição: Replicat para PDB da Região 2

    • Intenção: Unidirecional

    • Domínio de Credenciais: GoldenGate

    • Alias da Credencial: Reg2_PDB

    • Origem: Trilha

    • Nome da Trilha: aa

    • Início: Posição no Log

    • Tabela de Checkpoint: "GGADMIN"."CHKP_TABLE

  5. Selecione Próximo

  6. No Menu de Ação, selecione Iniciar.

Etapa 2.5.3 - Configuração do caminho de distribuição

Os caminhos de distribuição só são necessários quando os arquivos de trilha precisam ser enviados para um Hub adicional do Oracle GoldenGate em uma região diferente, ou mesmo a mesma, conforme descrito na figura a seguir.

Figura 1: Caminho de Distribuição do Oracle GoldenGate

Veja a seguir a descrição da imagem

Ao usar os caminhos do Oracle GoldenGate Distribution com o Proxy Reverso NGINX, etapas adicionais devem ser executadas para garantir que os certificados do servidor e do cliente de caminho sejam configurados.

Para obter mais informações, consulte Caminho do Serviço de Distribuição. Um exemplo passo a passo é no vídeo a seguir, "Conecte um Oracle GoldenGate on-premises ao OCI GoldenGate usando NGINX" para configurar corretamente os certificados.

Veja a seguir as etapas executadas nesta subetapa:

Etapa 2.5.3.1 - Faça download do Certificado Raiz do Servidor de Destino e faça upload dele para o Oracle GoldenGate de origem

Faça download do certificado raiz do servidor de implantação de destino e adicione o certificado de CA ao Gerenciador de Serviços de implantação de origem.

  1. Faça log-in na UI da Web GoldenGate para o Destino GoldenGate.

  2. Siga a "Etapa 2 - Fazer download do certificado raiz do servidor de destino" no vídeo Conectar um Oracle GoldenGate on-premises ao OCI GoldenGate usando NGINX.

Etapa 2.5.3.2 - Criar um usuário na Implantação de Destino para o Oracle GoldenGate de Origem usar

  1. Na IU da Web GoldenGate de destino, selecione Administração de Usuários na navegação esquerda.

  2. Selecione Adicionar Novo Usuário e conclua o seguinte:

    1. Autenticado por: Selecione Senha na lista drop-down.

    2. Função: selecione Operador na lista drop-down.

    3. Nome do Usuário: Informe o nome do usuário.

    4. Senha e Verificar Senha: Informe a senha associada ao usuário.

  3. Selecione Enviar.

Etapa 2.5.3.3 - Criar uma Conexão de Caminho no Oracle GoldenGate de Origem

Crie uma Conexão de Caminho na implantação de origem conectando a implantação de destino com o usuário criado na etapa anterior. Por exemplo, um domínio de OP2C e um alias de WSSNET.

  1. Faça log-in no Oracle GoldenGate de origem.

  2. No menu de navegação, selecione Conexões de Caminho.

  3. Na página Conexões de Caminho, selecione Adicionar Conexão de Caminho e, em seguida, conclua o seguinte:

    1. Alias da Credencial: Informe um alias.

    2. ID do Usuário: Informe o nome do usuário criado na etapa 2.5.3.2.

    3. Senha e Verificar Senha: Informe a senha associada ao usuário na etapa 2.5.3.2.

  4. Selecione Enviar.

Etapa 2.5.3.4 - Criar um Caminho de Distribuição no Oracle GoldenGate de Origem para a Implantação de Destino

Um caminho é criado para enviar arquivos de trilha do Distribution Server para o Receiver Server. Você pode criar um caminho a partir do Serviço de Distribuição. Para adicionar um caminho para a implantação de origem:

  1. No Oracle GoldenGate de origem, selecione Caminhos do Serviço de Distribuição no menu de navegação.

  2. Selecione Adicionar Caminho (ícone de mais). A página Adicionar Caminho é exibida.

  3. Informe os detalhes da seguinte forma:

    1. Informe um Nome de Caminho.

    2. Para Origem, selecione o nome da Extração no menu suspenso.

    3. Para URI de Origem Gerado, digite localhost para o nome do servidor. Isso permite que o caminho de distribuição comece em qualquer um dos nós do Oracle RAC.

    4. Para Método de Autenticação de Destino, selecione UserID Alias.

    5. Para Destino, selecione wss (soquete web seguro).

    6. Para Host de Destino, informe o nome do host/VIP de destino a ser usado para estabelecer conexão com o sistema de destino.

    7. Para Número da Porta, informe o número da porta com a qual o NGINX foi configurado (o padrão é 443).

    8. Para Domínio, selecione o domínio de credenciais criado na Etapa 2.3.3.3.

    9. Para Alias, selecione o alias de credencial wssnet, também criado na Etapa 2.3.3.3.

    10. Para Opções de Reinicialização Automática, defina o caminho de distribuição a ser reiniciado quando o Servidor de Distribuição for iniciado automaticamente. Isso é necessário para que a intervenção manual não seja necessária após uma realocação do nó RAC do Servidor de Distribuição.

    11. Para Tentativas, digite 10.

    12. Para Atraso, que é o tempo em minutos para pausar entre as tentativas de reinicialização, informe 1.

  4. Selecione Criar Caminho.

  5. No Menu Ação, selecione Iniciar.