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