保留存档重做日志
您可以在数据库实例上本地保留存档的重做日志,以用于 Oracle LogMiner(DBMS_LOGMNR
)这类产品。保留重做日志后,您可以使用 LogMiner 分析日子。有关更多信息,请参阅 Oracle 文档中的使用 LogMiner 分析重做日志文件
要保留存档的重做日志,请使用 Amazon RDS 过程 rdsadmin.rdsadmin_util.set_configuration
。set_configuration
过程具有以下参数。
参数名称 | 数据类型 | 默认值 | 必需 | 描述 |
---|---|---|---|---|
|
varchar |
— |
是 |
要更新的配置的名称。 |
|
varchar |
— |
是 |
该配置的值。 |
以下示例保留 24 小时的重做日志。
begin rdsadmin.rdsadmin_util.set_configuration( name => 'archivelog retention hours', value => '24'); end; / commit;
注意
要使更改生效,必须执行提交操作。
要查看存档的重做日志为数据库实例保留多长时间,请使用 Amazon RDS 过程 rdsadmin.rdsadmin_util.show_configuration
。
以下示例显示日志保留时间。
set serveroutput on EXEC rdsadmin.rdsadmin_util.show_configuration;
输出显示 archivelog retention hours
的当前设置。以下输出显示存档的重做日志保留 48 小时。
NAME:archivelog retention hours
VALUE:48
DESCRIPTION:ArchiveLog expiration specifies the duration in hours before archive/redo log files are automatically deleted.
由于存档的重做日志保留在数据库实例中,因此,请确保数据库实例已为保留的日志分配足量的存储空间。要确定数据库实例上在最近 X 小时内使用的空间量,可以运行以下查询(将 X 替换为小时数)。
SELECT SUM(BLOCKS * BLOCK_SIZE) bytes FROM V$ARCHIVED_LOG WHERE FIRST_TIME >= SYSDATE-(
X
/24) AND DEST_ID=1;
仅在数据库实例的备份保留期大于零时,RDS for Oracle 才会生成存档的重做日志。默认情况下,备份保留期大于零。
当存档的日志保留期过期时,RDS for Oracle 将从数据库实例中删除归档的重做日志。为支持将数据库实例还原到某个时间点,Amazon RDS 会根据备份保留期在数据库实例之外保留存档的重做日志。要修改备份保留期,请参阅 修改 Amazon RDS 数据库实例。
注意
在一些情况下,您可以在 Linux 上使用 JDBC 下载存档重做日志并体验长延迟时间和连接重置。在此类情况下,您的 Java 客户端上的默认随机数字生成器设置可能会引发问题。我们建议您将 JDBC 驱动程序设置为使用非阻塞的随机数字生成器。