

# Solución de problemas de Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.Troubleshooting"></a>

Esta sección explica los problemas más habituales al usar Oracle GoldenGate con Amazon RDS para Oracle.

**Topics**
+ [Error al abrir un registro redo en línea](#Appendix.OracleGoldenGate.Troubleshooting.Logs)
+ [Oracle GoldenGate parece estar configurado correctamente, pero la replicación no está funcionando](#Appendix.OracleGoldenGate.Troubleshooting.Replication)
+ [La REPLICAT integrada es lenta debido a la consulta en SYS."\$1DBA\$1APPLY\$1CDR\$1INFO"](#Appendix.OracleGoldenGate.IR)

## Error al abrir un registro redo en línea
<a name="Appendix.OracleGoldenGate.Troubleshooting.Logs"></a>

Asegúrese de configurar las bases de datos para que retengan los registros redo archivados. Tenga en cuenta estas directrices:
+ Especifique la duración de la retención de registros en horas. El valor mínimo es una hora.
+ Establezca la duración de manera que supere cualquier posible periodo de inactividad de la instancia de base de datos de origen, cualquier posible periodo de comunicación y cualquier posible periodo de problemas de red para la instancia de base de datos de origen. Dicha duración permite a Oracle GoldenGate recuperar registros de la instancia de base de datos de origen según sea necesario.
+ Asegúrese de que dispone de suficiente almacenamiento en la instancia para los archivos.

Si no tiene la retención de registros habilitada, o bien si el valor de retención es demasiado pequeño, recibirá un mensaje de error similar al siguiente.

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

## Oracle GoldenGate parece estar configurado correctamente, pero la replicación no está funcionando
<a name="Appendix.OracleGoldenGate.Troubleshooting.Replication"></a>

Para tablas preexistentes, debe especificar el SCN desde el que trabaja Oracle GoldenGate.

**Para solucionar este problema**

1. Inicie sesión en la base de datos de origen y lance la interfaz de la línea de comandos de Oracle GoldenGate (`ggsci`). En el siguiente ejemplo, se muestra el formato para iniciar sesión.

   ```
   dblogin userid oggadm1@OGGSOURCE
   ```

1. Con la línea de comandos `ggsci`, configure el SCN de inicio para el proceso `EXTRACT`. En el siguiente ejemplo, se establece el SCN en 223274 para `EXTRACT`.

   ```
   ALTER EXTRACT EABC SCN 223274
   start EABC
   ```

1. Inicie sesión en la base de datos de destino. En el siguiente ejemplo, se muestra el formato para iniciar sesión.

   ```
   dblogin userid oggadm1@OGGTARGET
   ```

1. Con la línea de comandos `ggsci`, configure el SCN de inicio para el proceso `REPLICAT`. En el siguiente ejemplo, se establece el SCN en 223274 para `REPLICAT`.

   ```
   start RABC atcsn 223274
   ```

## La REPLICAT integrada es lenta debido a la consulta en SYS."\$1DBA\$1APPLY\$1CDR\$1INFO"
<a name="Appendix.OracleGoldenGate.IR"></a>

Con la detección y resolución de conflictos (CDR) de Oracle GoldenGate se ofrecen rutinas básicas de resolución de conflictos. Por ejemplo, con la CDR se puede resolver un conflicto distintivo de una instrucción `INSERT`.

Cuando la CDR resuelve una colisión, puede insertar registros en la tabla de excepciones `_DBA_APPLY_CDR_INFO` temporalmente. La `REPLICAT` integrada elimina estos registros después. En un escenario raro, la `REPLICAT` integrada puede procesar un gran número de colisiones, pero una `REPLICAT` integrada nueva no la reemplaza. En lugar de eliminarse, las filas que ya están en `_DBA_APPLY_CDR_INFO` quedan huérfanas. Los procesos `REPLICAT` integrados nuevos se ralentizan, pues están consultando filas huérfanas en `_DBA_APPLY_CDR_INFO`.

Para eliminar todas las filas de `_DBA_APPLY_CDR_INFO`, utilice el procedimiento `rdsadmin.rdsadmin_util.truncate_apply$_cdr_info` de Amazon RDS. Este procedimiento se publica como parte de la versión y actualización de parche de octubre de 2020. El procedimiento está disponible en las siguientes versiones de base de datos:
+ [ Versión 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) y posteriores
+ [ Versión 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) y posteriores

En el ejemplo siguiente se trunca la tabla `_DBA_APPLY_CDR_INFO`.

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