Tarefa 2: Configurar o Ambiente do Oracle GoldenGate
Execute as seguintes etapas para completar esta tarefa:
-
Etapa 2.1 - Acessar a implantação do GoldenGate
-
Etapa 2.2 - Criar as Credenciais do Banco de Dados
-
Etapa 2.3 - Criar perfis de Inicialização Automática
-
Etapa 2.4 - Configurar processos do Oracle GoldenGate
Etapa 2.1: Acessar a implantação
Para acessar a implantação:
-
Se a sub-rede do cliente for pública, você poderá acessar os nós usando o endereço VIP e o túnel SSH. Crie um túnel SSH com o Nome de DNS VIP nos clusters principal e stand-by usando o seguinte comando em todos os nós:
ssh -N -L <local_port>:<vip-dns-name>:443 -p 22 <gghub-node>O
local_portpode ser qualquer porta disponível no sistema local. Ogghub-nodeé o nome do cluster para o qual o túnel está configurado.A Oracle recomenda que você gerencie o GoldenGate usando os nomes de DNS VIP principal e standby da seguinte forma:
-
Nome do DNS VIP Principal:
<cluster-prefix>1.ggoraclevcn.com -
Nome do DNS VIP Stand-by:
<cluster-prefix>2.ggoraclevcn.com
Em seguida, você pode acessar a implantação com seu Web browser usando
https://localhost:<local_port> -
-
Se a sub-rede do cliente for privada,
-
Você deve criar um Bastion para a sub-rede cliente com os seguintes valores:
-
VCN de Destino: Selecione sua VCN
-
Sub-rede de destino: Nome da sub-rede do cliente
-
Lista de permissões do bloco CIDR: Informe ou selecione os endereços IP ou faixas de endereços para permitir conexões com recursos de destino usando sessões SSH.
-
-
Crie uma sessão de Encaminhamento de Porta SSH usando o endereço VIP principal e o endereço VIP em espera com a porta 443. Saiba mais sobre como criar sessões de Encaminhamento de Porta.
-
No menu Ações da sessão (três pontos), selecione Exibir comando SSH e selecione Copiar.
-
Execute o comando SSH, garantindo que você substitua
<privateKey>pelo caminho da chave privada local e443por<localPort>. Saiba mais sobre como se conectar a uma sessão de Encaminhamento de Porta -
Em seguida, você pode acessar a implantação com seu Web browser usando
https://localhost.
-
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:
-
Faça log-in no Oracle GoldenGate Administration Service:
https://localhost:<localPort>/services/<deployment_name>/adminsrvr/v2/content/. -
No menu de navegação esquerdo, selecione Conexões de BD.
-
Na página Conexões de BD, selecione Adicionar Conexão de BD (ícone de mais).
-
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:
-
Faça log-in no GoldenGate WebUI para a implantação do GoldenGate de Origem.
-
No menu de navegação, selecione Perfis do Processo Gerenciado.
-
Selecione Adicionar Perfil na página Definições do Processo Gerenciado.
-
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
-
-
-
Selecione Enviar
-
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
-
Etapa 2.5.2 - Configuração do Replicat
-
Etapa 2.5.3 - Configuração do caminho de distribuição
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
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:
-
Faça log-in no Oracle GoldenGate de origem.
-
No menu de navegação, selecione Extratos.
-
Na página Extrações, selecione Adicionar Extração.
-
Preencha o formulário Adicionar Extração da seguinte forma:
-
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
-
-
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
-
-
-
Selecione Próximo
-
Se estiver usando a Captura Raiz do CDB do PDB, adicione o parâmetro
SOURCECATALOGcom o Nome do PDB -
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.
-
APPLY_PARALLELISM– Desativa o paralelismo automático, em vez de usarMAX_APPLY_PARALLELISMeMIN_APPLY_PARALLELISM, e permite a maior quantidade de simultaneidade para o banco de dados de destino. Recomenda-se definir isso o mais alto possível com base na CPU disponível do hub e do servidor de banco de dados de destino. -
MAP_PARALLELISM– Deve ser definido com um valor de 2 a 5. Com um número maior de aplicadores, aumentar os Mapeadores aumenta a capacidade de entregar o trabalho aos aplicadores. -
BATCHSQL– aplica DML usando processamento de array que reduz a quantidade de sobrecargas de rede com uma rede de maior latência. Lembre-se de que, se houver muitos conflitos de dados, oBATCHSQLresultará em desempenho reduzido, como rollback das operações em batch seguidas por uma releitura do arquivo de trilha para aplicação no modo não batch.
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:
-
Faça log-in na IU da Web do Oracle GoldenGate.
-
No menu de navegação, selecione Conexões de BD e, em seguida, conecte-se ao banco de dados de destino.
-
Após estabelecer conexão com o banco de dados de destino com sucesso, selecione Tabela de Checkpoint.
-
Selecione Adicionar Ponto de Verificação (ícone de adição). A página Adicionar Checkpoint é exibida.
-
Para a Tabela de Checkpoint, informe
ggadmin.chkp_table. -
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:
-
No menu de navegação, selecione Replicats.
-
Na página Replicats, selecione Adicionar Replicat (ícone de mais). A página Adicionar Replicat é exibida.
-
Selecione um tipo de Replicat e selecione Próximo.
-
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
-
-
Selecione Próximo
-
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

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
-
Etapa 2.5.3.2 - Criar um usuário na Implantação de Destino para o Oracle GoldenGate de Origem usar
-
Etapa 2.5.3.3 - Criar uma Credencial no Oracle GoldenGate de Origem
-
Etapa 2.5.3.4 - Criar um Caminho de Distribuição no Oracle GoldenGate de Origem para a Implantação de Destino
-
Etapa 2.5.3.5 - Verificar a Conexão no Serviço do Receptor da Console de Implantação de Destino
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.
-
Faça log-in na UI da Web GoldenGate para o Destino GoldenGate.
-
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
-
Na IU da Web GoldenGate de destino, selecione Administração de Usuários na navegação esquerda.
-
Selecione Adicionar Novo Usuário e conclua o seguinte:
-
Autenticado por: Selecione Senha na lista drop-down.
-
Função: selecione Operador na lista drop-down.
-
Nome do Usuário: Informe o nome do usuário.
-
Senha e Verificar Senha: Informe a senha associada ao usuário.
-
-
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.
-
Faça log-in no Oracle GoldenGate de origem.
-
No menu de navegação, selecione Conexões de Caminho.
-
Na página Conexões de Caminho, selecione Adicionar Conexão de Caminho e, em seguida, conclua o seguinte:
-
Alias da Credencial: Informe um alias.
-
ID do Usuário: Informe o nome do usuário criado na etapa 2.5.3.2.
-
Senha e Verificar Senha: Informe a senha associada ao usuário na etapa 2.5.3.2.
-
-
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:
-
No Oracle GoldenGate de origem, selecione Caminhos do Serviço de Distribuição no menu de navegação.
-
Selecione Adicionar Caminho (ícone de mais). A página Adicionar Caminho é exibida.
-
Informe os detalhes da seguinte forma:
-
Informe um Nome de Caminho.
-
Para Origem, selecione o nome da Extração no menu suspenso.
-
Para URI de Origem Gerado, digite
localhostpara o nome do servidor. Isso permite que o caminho de distribuição comece em qualquer um dos nós do Oracle RAC. -
Para Método de Autenticação de Destino, selecione UserID Alias.
-
Para Destino, selecione wss (soquete web seguro).
-
Para Host de Destino, informe o nome do host/VIP de destino a ser usado para estabelecer conexão com o sistema de destino.
-
Para Número da Porta, informe o número da porta com a qual o NGINX foi configurado (o padrão é 443).
-
Para Domínio, selecione o domínio de credenciais criado na Etapa 2.3.3.3.
-
Para Alias, selecione o alias de credencial wssnet, também criado na Etapa 2.3.3.3.
-
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.
-
Para Tentativas, digite 10.
-
Para Atraso, que é o tempo em minutos para pausar entre as tentativas de reinicialização, informe 1.
-
-
Selecione Criar Caminho.
-
No Menu Ação, selecione Iniciar.