

# Retención de los registros REDO archivados
<a name="Appendix.Oracle.CommonDBATasks.RetainRedoLogs"></a>

Puede retener los registros de rehacer archivados localmente en una instancia de base de datos para su uso con productos como Oracle LogMiner (`DBMS_LOGMNR`). Después de conservar los registros REDO, puede utilizar LogMiner para analizarlos. Para obtener más información, consulte [Using LogMiner to Analyze Redo Log Files](http://docs.oracle.com/cd/E11882_01/server.112/e22490/logminer.htm) en la documentación de Oracle. 

Utilice el procedimiento de Amazon RDS para conservar los registros REDO archivado `rdsadmin.rdsadmin_util.set_configuration`. Si utiliza este procedimiento en una instancia principal de Oracle Data Guard, RDS cambia la configuración de retención del registro de archivado en la instancia principal y abre las réplicas de lectura, pero no en las réplicas montadas. RDS retiene los registros REDO del archivo más recientes en las réplicas montadas durante un breve periodo de tiempo. RDS elimina automáticamente los registros más antiguos descargados en las réplicas montadas.

El procedimiento `set_configuration` tiene los siguientes parámetros. 


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `name`  |  varchar  |  —  |  Sí  |  El nombre de la configuración que se debe actualizar. Para cambiar las horas de retención de los registros REDO archivados, defina el nombre en `archivelog retention hours`.  | 
|  `value`  |  varchar  |  —  |  Sí  |  El valor de la configuración. Defina el valor del número de horas que se van a retener los registros.  | 

En el siguiente ejemplo se conservan 24 horas de registros REDO. 

```
begin
    rdsadmin.rdsadmin_util.set_configuration(
        name  => 'archivelog retention hours',
        value => '24');
end;
/
commit;
```

**nota**  
La confirmación es necesaria para que los cambios surtan efecto.

Utilice el procedimiento de Amazon RDS para ver durante cuánto tiempo se conservan los registros REDO archivados para la instancia de base de dato `rdsadmin.rdsadmin_util.show_configuration`.

El siguiente ejemplo muestra el tiempo de retención del registro.

```
set serveroutput on
EXEC rdsadmin.rdsadmin_util.show_configuration;
```

La salida muestra el valor actual de `archivelog retention hours`. La siguiente salida muestra que los registros REDO archivados se conservan durante 48 horas.

```
NAME:archivelog retention hours
VALUE:48
DESCRIPTION:ArchiveLog expiration specifies the duration in hours before archive/redo log files are automatically deleted.
```

Dado que los registros REDO archivados se conservan en la instancia de base de datos, asegúrese de que esta tenga suficiente almacenamiento asignado para los registros que se van a conservar. Para determinar cuánto espacio ha utilizado la instancia de base de datos en las últimas X horas, puede ejecutar la consulta siguiente, sustituyendo X por el número de horas. 

```
SELECT SUM(BLOCKS * BLOCK_SIZE) bytes 
  FROM V$ARCHIVED_LOG
 WHERE FIRST_TIME >= SYSDATE-(X/24) AND DEST_ID=1;
```

RDS for Oracle solo se genera registros de rehacer si el periodo de retención de copia de seguridad de la instancia de base de datos es mayor que cero. De forma predeterminada, el periodo de retención de copia de seguridad es mayor que cero.

Cuando expira el periodo de retención de registros archivados, RDS for Oracle elimina los registros de rehacer archivados de la instancia de base de datos. Para admitir la restauración de la instancia de base de datos en un momento determinado, Amazon RDS retiene los registros de rehacer archivados fuera de la instancia de base de datos en función del periodo de retención de copia de seguridad. Para modificar el periodo de retención de copia de seguridad, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

**nota**  
En algunos casos, podría utilizar JDBC en Linux para descargar registros REDO archivados y experimentar tiempos de latencia largos y restablecimientos de conexión. En tales casos, los problemas pueden estar causados por el ajuste predeterminado del generador de números aleatorios en su cliente Java. Recomendamos configurar los controladores JDBC para usar un generador de números aleatorio sin bloqueos.