

# Solução de problemas do Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.Troubleshooting"></a>

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

**Topics**
+ [Erro ao abrir um redo log online](#Appendix.OracleGoldenGate.Troubleshooting.Logs)
+ [O Oracle GoldenGate parece estar devidamente configurado, mas a replicação não está funcionando](#Appendix.OracleGoldenGate.Troubleshooting.Replication)
+ [REPLICAT integrado lento devido a consulta no SYS. “\$1DBA\$1APPLY\$1CDR\$1INFO”](#Appendix.OracleGoldenGate.IR)

## Erro ao abrir um redo log online
<a name="Appendix.OracleGoldenGate.Troubleshooting.Logs"></a>

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
<a name="Appendix.OracleGoldenGate.Troubleshooting.Replication"></a>

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
   ```

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

1. Faça login no banco de dados de destino. O exemplo a seguir mostra o formato para login.

   ```
   dblogin userid oggadm1@OGGTARGET
   ```

1. 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. “\$1DBA\$1APPLY\$1CDR\$1INFO”
<a name="Appendix.OracleGoldenGate.IR"></a>

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:
+ [ Version 21.0.0.0.ru-2022-01.rur-2022-01.r1](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-21-0.html#oracle-version-RU-RUR.21.0.0.0.ru-2022-01.rur-2022-01.r1) e posterior
+ [ Version 19.0.0.0.ru-2020-10.rur-2020-10.r1](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-19-0.html#oracle-version-RU-RUR.19.0.0.0.ru-2020-10.rur-2020-10.r1) e posterior

O exemplo a seguir trunca a tabela `_DBA_APPLY_CDR_INFO`.

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