oracle误删除数据,恢复删除的数据,删除数据后提交恢复

今天下午在工作的时候,一个不小心,把搞了好久的一张表的某条记录给误删了,忙了将近一天才弄好的一条记录啊(BLOB字段,不要问我是什么...)。于是网上查吧,还真找到了,嘿嘿。 


select * from tablename as of timestamp to_timestamp('2013-12-05 16:43:00','YYYY-MM-DD HH24:MI:SS');  


在plsql下执行这句话,把tablename换成你要恢复的表名,时间换成你所要恢复的那个时间段。当然别的工具应该也支持。例如我表a在2013-12-05 16:44:00误删了一条id为1的记录,那么我这样写语句 


create temp_a as select * from a as of timestamp to_timestamp('2013-12-05 16:43:00','YYYY-MM-DD HH24:MI:SS');  

insert into a select * from temp_a where id = 1

drop table temp_a; 


这样就搞定了,跟大家分享一下,以后大家都要注意不要随便误删啊,哈哈!不知道这个方法有没有时间限制,貌似别人给的查看时间的语句报错,所以尽量发现以后立马执行。

猜你喜欢

转载自blog.csdn.net/leandzgc/article/details/17144359