引用 :
oracle update并commit误操作后,利用闪回方法 flashback还原上个时间点的数据
Oracle Flashback(闪回) 详解.
在公司更新数据并commit后,发现update错了。后来问了数据库开发的同事说有flashback可以回退,所以就查了一下资料,顺便学习一下新技术。
一、查询Oracle增删查改的时间点
表结构
create table Test3(id numeric, name varchar2(10));
查询时间点
select id, name, versions_xid, versions_startscn, versions_endscn,
to_char(versions_starttime,'YY/MM/DD HH24:MI:SS') as startime,
to_char(versions_endtime,'YY/MM/DD HH24:MI:SS') as endtime,
versions_operation
from Test3 versions between scn minvalue and maxvalue where id > 0;
二、回退
闪回操作前启用行移动功能
说明:table是误操作,需要闪回的表
alter table Test3 enable row movement;
flashback table Test3 to timestamp TO_TIMESTAMP('20140422 15:10:00','YYYYMMDD HH24:MI:SS');