从ORACLE 9I开始,ORACLE 引入FLASHBACK QUERY特性,10g对这个性能加以增强
1. Flashback database
2. Flashback drop
3. Flashback versions QUERY
4. Flashback Transaction QUERY
5. Flashback Table
不过除了 Flashback database 是基于Flashback log, 其他都是基于UNDO DATA.
Flashback drop 提供虚拟回收站,允许删除对象重建。
Flashback versions QUERY, Flashback transation QUERY 用语识别或确定要恢复到当前状态的数据行。
Flashback Table 用于恢复单独的表,比如错误的更新了表。
Flashback database 能使整个数据库闪会至特定的时间点,闪会数据库不能对删除数据文件,缩小数据文件恢复,闪回数据库比传统恢复速度更快。
1. flashback 不能解决媒介故障。
2. 数据文件截断。
3. 不能删除表空间并并resetlogs恢复
4. 不能超出回的界限.(SCN时间点)
Flashback area 通过数据库初始文件建立,文件保留长度由RMAN的保留策略决定.
RMAN CONFIGURE RETENTION POLICY 决定.
Alter system set db_recovery_file_dest_size=10M scope=Both;
Alter system set db_recovery_file_dest=’C:oraceflash_recovery_Areaora_t’;
Alter system set db_recovery_file_dest_size=’25M’;--改变flashback area大小.
Alter system set db_recovery_file_dest=’’ 停用flashback area
配置闪回数据库,数据库必须为归档模式:
connect / as sysdba ;
startup mount ;
alter database set db_flashback_retention_target=4320;(分钟为单位,也就是3天)
alter database flashback on;
alter database open;
在RMAN中用flashback database 就很简单:
select oldest_flashback_scn,oldest_flashback_time from v$flashback_database_log可以得到时间或SCN,然后数据库重启动到MOUNT状态:
flashback database to time/scn (to sequence thread number)
alter database open resetlogs;