10.2Oracle表的flashback

在基于oracle的开发中,经常会遇到不小心把表的数据给删了,或修改了,而且直接commit。
碰到这种情况首先想到的是能不能根据日志进行数据回滚,相信大多数情况是没人会帮你做这个事情的,自己下一步就要考虑怎么恢复这些数据,要么重新录入一遍,要么就消失就消失吧。

Oracle在10g之后新增了一个特性,闪回Flashback,主要用于数据误更新误操作的情况下,立刻回滚数据,而且不用日志,仅仅记住几条命令即可。

flashback脚本如下:

alter table  STAFF enable row movement;   
flashback table STAFF to timestamp to_timestamp('2017-04-26 23:01:35','yyyy-mm-dd :hh24:mi:ss'); 

闪回是有条件限制的,第一这个表的结构不能修改,比如新增一个字段、修改字段类型都不能闪回。第二这个表不能执行truncate操作,truncate直接把跟这个表有关的所有东西都清空了。

你可能感兴趣的:(10.2Oracle表的flashback)