FLASHBACK
#
Flashback Database 整个架构包括:
- Recover Writer(RVWR)后台进程
- Flashback Database Log日志
- Flash Recovery Area
一旦数据库启用了Flashback Database, 则RVWR进程会启动,该进程会向Flash
Recovery Area中写入Flashback Database Log,这些日志包括的是数据块的"前镜像(before image)", 这也是Flashback Database 技术不完全恢复块的原因。
Flashback技术的局限性
查看当前模式
#
SELECT name,flashback_on FROM V$DATABASE;
启用FLASHBACK模式
#
- 设定以下参数
alter system set db_recovery_file_dest='C:/oracle/product/10.2.0/flash_recovery_area' scope=both;
alter system set db_recovery_file_dest_size = 10G scope=both;
10G的容量偏少,如果这个空间用完,数据库会无法访问,在该值改好前,也无法关闭数据库。
alter system set db_flashback_retention_target = 1440 scope=both;
- 重启数据库到mount状态,执行下面的命令
STARTUP MOUNT;
ALTER DATABASE FLASHBACK ON;
相关视图
#
- V$FLASH_RECOVERY_AREA_USAGE
- V$FLASHBACK_DATABASE_LOG
Flashback Database所能回退到的最早时间,取决于保留的Flashback Database Log 的多少。
- V$FLASHBACK_DATABASE_STAT
对Flashback log空间情况进行更细粒度的记录和估计。这个视图以小时为单位记录数据库的活动量,
Flashback_Data 代表Flashback log产生数量,
DB_Data代表数据改变数量,
Redo_Data代表日志数量,通过这3个数量可以反映出数据的活动特点,更准确的预计Flash Recovery Area的空间需求。
...