Solução de problemas do Oracle GoldenGate - Amazon Relational Database Service

Solução de problemas do Oracle GoldenGate

Esta seção explica os problemas mais comuns ao usar o Oracle GoldenGate com o Amazon RDS para Oracle.

Erro ao abrir um redo log online

Configure os bancos de dados para reter os redo logs arquivados. Considere as seguintes diretrizes:

  • Especifique a duração da retenção de log em horas. O valor mínimo é uma hora.

  • Defina a duração para exceder qualquer tempo de inatividade possível, qualquer período de comunicação possível e qualquer período de problemas de rede possível com a instância de banco de dados de origem. Essa duração permite que o Oracle GoldenGate recupere logs da instância de banco de dados de origem de acordo com a necessidade.

  • Verifique se você tem armazenamento suficiente na instância para os arquivos.

Se você não tiver a retenção de logs ativada, ou se o valor de retenção for muito pequeno, receberá uma mensagem de erro semelhante à seguinte.

2022-03-06 06:17:27 ERROR OGG-00446 error 2 (No such file or directory) opening redo log /rdsdbdata/db/GGTEST3_A/onlinelog/o1_mf_2_9k4bp1n6_.log for sequence 1306 Not able to establish initial position for begin time 2022-03-06 06:16:55.

O Oracle GoldenGate parece estar devidamente configurado, mas a replicação não está funcionando

Para tabelas pré-existentes, você precisa especificar o SCN do qual o Oracle GoldenGate trabalha.

Como corrigir esse problema
  1. Faça login no banco de dados de origem e execute a interface de linha de comando do Oracle GoldenGate (ggsci). O exemplo a seguir mostra o formato para login.

    dblogin userid oggadm1@OGGSOURCE
  2. Usando a linha de comando ggsci, configure o SCN inicial para o processo EXTRACT. O exemplo a seguir define o SCN como 223274 para EXTRACT.

    ALTER EXTRACT EABC SCN 223274 start EABC
  3. Faça login no banco de dados de destino. O exemplo a seguir mostra o formato para login.

    dblogin userid oggadm1@OGGTARGET
  4. Usando a linha de comando ggsci, configure o SCN inicial para o processo REPLICAT. O exemplo a seguir define o SCN como 223274 para REPLICAT.

    start RABC atcsn 223274

REPLICAT integrado lento devido a consulta no SYS. “_DBA_APPLY_CDR_INFO”

O Oracle GoldenGate Conflict Detection and Resolution (CDR) fornece rotinas básicas de resolução de conflitos. Por exemplo, o CDR pode resolver um conflito exclusivo para uma instrução INSERT.

Quando o CDR resolve um conflito, ele pode inserir registros na tabela de exceção _DBA_APPLY_CDR_INFO temporariamente. O REPLICAT integrado exclui esses registros posteriormente. Em um cenário raro, o REPLICAT integrado pode processar um grande número de colisões, mas um novo REPLICAT integrado não o substitui. Em vez de serem removidas, as linhas _DBA_APPLY_CDR_INFO existentes ficam órfãs. Todos os novos processos REPLICAT integrados abrandam porque estão consultando linhas órfãs no _DBA_APPLY_CDR_INFO.

Para remover todas as linhas de _DBA_APPLY_CDR_INFO, use o procedimento rdsadmin.rdsadmin_util.truncate_apply$_cdr_info do Amazon RDS. Este procedimento é lançado como parte da versão de outubro de 2020 e atualização de patch. O procedimento está disponível nas seguintes versões do banco de dados:

O exemplo a seguir trunca a tabela _DBA_APPLY_CDR_INFO.

SET SERVEROUTPUT ON SIZE 2000 EXEC rdsadmin.rdsadmin_util.truncate_apply$_cdr_info;