oracle闪回功能

5-22 1,452 views

oracle自带闪回恢复数据功能,当人为误操作以后,及时使用闪回可以减少数据的丢失,数据无价,谨慎操作!
闪回基本逻辑:

    实现从回滚段中读取表一定时间内操作过的数据,可用来进行数据比对,或者恢复意外提交造成的错误数据,该项特性也被称为Flashback(闪回)。
回滚段:回滚段用于存放数据修改之前的值。

更新数据、delete数据或drop表时,并不是直接对数据进行操作,而是像windows系统会把数据先放到回收站里头,而闪回就好比将回收站里的东西还原,注意:闪回时间范围取决于undo量大小。

2小时内误操作闪回功能实现
例:
update ziliao set name=’张3′         误操作         //没写where语句 导致所有数据都修改了
闪回:
create table ziliao_sh as
select * from  ziliao  as of timestamp to_timestamp(‘2016-9-19 2:40:00′,’yyyy-mm-dd hh24:mi:ss’);
//这个时间大概是你误操作的之前的时间点
select * from ziliao_sh   //查下是否是误操作之前的数据
如果不是,删除表继续操作
drop table ziliao_sh
create table ziliao_sh as
select * from  ziliao  as of timestamp to_timestamp(‘2016-9-19 2:30:00′,’yyyy-mm-dd hh24:mi:ss’);
如果是的话
rename ziliao to ziliao_cuowu
rename ziliao_sh to ziliao

欢迎留言