基于基于Oracle闪回详解闪回详解(必看篇必看篇)
Oracle 9i 开始支持闪回,Oracle10g开始全面支持闪回功能,Oracle11g有所完善,为大家快速的恢复数据,查询历史数据提
供了很大的便捷方法。
本文主要对Oracle常用闪回使用做些详细介绍,其中对于不常用的事务和版本闪回,这里就不做介绍
一、一、Oracle闪回概述闪回概述
闪回级别 闪回场景 闪回技术 对象依赖 影响数据
数据库 表截断、逻辑错误、其他多表意外事件 闪回DATABASE 闪回日志、undo 是
DROP 删除表 闪回DROP 回收站(recyclebin) 是
表 更新、删除、插入记录 闪回TABLE 还原数据,undo 是
查询 当前数据和历史数据对比 闪回QUERY 还原数据,undo 否
版本查询 比较行版本 闪回Version Query 还原数据,undo 否
事务查询 比较 闪回Transaction Query 还原数据,undo 否
归档 DDL、DML 闪回Archive 归档日志 是
二、二、Oracle闪回使用详解闪回使用详解
1、闪回开启、闪回开启
(1)开启闪回必要条件开启闪回必要条件
a.开启归档日志
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /home/U01/app/oracle/oradata/testdb/arch
Oldest online log sequence 844
Next log sequence to archive 846
Current log sequence 846
##如未开启,在mount状态执行alter database archivelog;
b.设置合理的闪回区
db_recovery_file_dest:指定闪回恢复区的位置
db_recovery_file_dest_size:指定闪回恢复区的可用空间大小
db_flashback_retention_target:指定数据库可以回退的时间,单位为分钟,默认1440分钟(1天),实际取决于闪回区大小
(2)检查是否开启闪回检查是否开启闪回
SQL> select flashback_on from v$database;
FLASHBACK_ON
------------------
NO
(3)开启闪回开启闪回
a.开启归档
mount状态:alter database archivelog;
b.设置闪回区
SQL> alter system set db_recovery_file_dest='/home/U01/app/oracle/fast_recovery_area' scope=both;
System altered.
SQL> alter system set db_recovery_file_dest_size=60G scope=both;
System altered.
SQL> alter system set db_flashback_retention_target=4320 scope=both;
System altered.
c.开启flashback (10g在mount开启)