oracle表数据误删还原

首先,找到数据删除前的一个时间点。

1
select timestamp_to_scn(to_timestamp('2013-10-12 8:30:00', 'YYYY-MM-DD HH24:MI:SS')) from dual;

然后根据这个点找到你所删除文件的表的数据。使用一个临时表把这些数据存放起来。

1
create table 临时表 as select * from 清空原表 as of scn 36551273744;
1
delete from 被删除数据的表 where 1=1;
1
insert into 被删除数据的表 select  * from 临时表;

删除临时表

1
drop table 临时表;