闪回区和flashback database
参考自:
FLASH RECOVERY AREA and FLASHBACK database (文档 ID 369759.1)
适用于:
Oracle Database - Enterprise Edition - Version 10.1.0.2 and later
Information in this document applies to any platform.
***Checked for relevance on 16-Apr-2014***
解决方案:
闪回区
闪回区(以下简称FRA区)是一个目录,该目录提供一个集中的disk location,用来backup 和recovery files
Oracle在FRA区中建立归档日志。rman可以把backup存放在FRA区中,默认情况下,FRA区是存放rman backup的地方。
All files necessary to recover the database following a media failure are located in the flash recovery area ( if defined ).
FRA区还充当 为tape 作为disk cache的角色。推荐的策略是在FRA中存储backups,以便有更多的最近backup在disk上可用,那么backup和restore进程将会faster。
此外,推荐周期性的备份FRA区 到tape中,那么你将会在disk上有更近的backups,在tape上有older的backups
闪回数据库
这是从10g引入的新特性。该特性提供一个方法将数据库revert到 过去的某一个时间点。可以将单独一个table revert到过去。
这不同于传统的基于时间点的恢复(point in time recovery)。为了flashback 一个database,oracle 使用 older block image 来放弃(back out)对数据库的修改
这意味着 Oracle block 被用它之前的image来 overwrite,以便将数据库back到过去的一个时间点。
若是flashback database 被启用,在正常的数据库操作期间,Oracle建立 flashback log,databae block的 before image 会先于 该block apply any change之前 被存储到flashback log
Oracle自动create, delete 和 resize FRA区中的flashback log。你只需要关心flashback log :监控性能和 为FRA区的flashback log 分配多少disk space。
flashback database 不是真正的media recovery,因为它不涉及到 restore 物理datafile。但是,在some cases下,Flashback 比用restore 和recover 更好
(Flashback is preferable to using the RESTORE and RECOVER commands in some cases)。因为Flashback 更快速更容易,并且不需要restore 整个数据库。
可以通过下面的参数来限制flashback logs 的数量:
DB_FLASHBACK_RETENTION_TARGET(可动态修改)-->可以把database flashback 多少minutes之前。但是你不能手工delete flashback logs,你需要把flashback database 关闭后才能delete flashback logs
关于flashback log 空间管理,请参阅mos文章:
Note 369755.1 Flashback Logs-Space management