Oracle闪回日志管理(flashbackup log)
1.开启闪回日志
shutdown immediate
startup mount;
alter database archivelog;
alter database flashback on;
alter database open;
2、查看闪回日志保留期限
show parameter flash
默认是1440分钟,即保留一天。但是Oracle会尽可能多的保留闪回日志。具体保留多少还需要结合闪回区大小的配置。
尝试把参数调整到720分钟,闪回日志保留的时间也会超过1440分钟都不删除。
根据Oracle的文档说明
FLASH RECOVERY AREA and FLASHBACK database ( Doc ID 369759.1 )
FRA: Flashback logs are not being deleted when space is needed for archive logs ( Doc ID 1481739.1 )
FRA的闪回日志只能通过数据库自动管理。用户只需要关心空间问题。怎么看着有点恶心呢。。就不能像归档日志那样手工清理,只有在遇到空间压力的时候才会自动清理,但是这个时候清理闪回日志的速度是特别慢的,只会一点点清理,然后归档日志又比较快的情况下,就会导致归档失败,影响应用程序。
Oracle automatically creates, deletes, and resizes Flashback logs in the flash recovery area.
You only need to be aware of Flashback logs for monitoring performance and deciding how much disk space to allocate to
the flash recovery area for Flashback logs.
3、查看闪回日志的保留时长
alter session set nls_date_format=‘yyyy-mm-dd hh24:mi:ss’;
select sysdate,min(first_time),(sysdate-min(first_time))2460 as durtion
from v$flashback_database_logfile;
4、根据1481739.1的说明,只有当FRA出现空间压力的时候才会清理,实际上这个时候很多数据库已经出现了hang或者应用程序不可用的情况了。突然感觉这个功能好鸡肋。。