码迷,mamicode.com
首页 > 数据库 > 详细

oracle回滚误删并且commit的表

时间:2014-12-29 10:25:11      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:

1.恢复到某个时刻

insert into qual_temp_detail select * from qual_temp_detail 
as of timestamp to_date(2014-12-29 08:30:22, yyyy-mm-dd hh24:mi:ss) 

其中qual_temp_detail是要回滚的数据表名称。 to_date函数的第一个参数是要回滚到的时间点。妈妈再也不怕我手滑了!

 

2. 恢复到15分钟以前

--闪回到15分钟前 
select *  from orders  as of timestamp (systimestamp - interval ‘‘15‘‘ minute)  where ...... 
这里可以使用DAY、SECOND、MONTH替换minute,例如: 
SELECT * FROM orders AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL ‘‘2‘‘ DAY) 

 

3.恢复到几天前

--闪回到两天前 
select * from orders  as of timestamp (sysdate - 2) where......... 

4. 如果表结构已经变动

/*2.FLASHBACK DROP*/ 

  1.flashback table orders to before drop; 
  
  2.如果源表已经重建,可以使用rename to子句: 
  flashback table order to before drop  rename to order_old_version; 
  
/*3.FLASHBACK TABLE*/ 

  1.首先要启用行迁移: 
  alter table order enable row movement; 
  2.闪回表到15分钟前: 
  flashback table order  to timestamp systimestamp - interval ‘‘15‘‘ minute; 
    闪回到某个时间点: 
  FLASHBACK TABLE order TO TIMESTAMP    TO_TIMESTAMP(2007-09-12 01:15:25 PM,YYYY-MM-DD HH:MI:SS AM)

 

oracle回滚误删并且commit的表

标签:

原文地址:http://www.cnblogs.com/shikelong/p/4190997.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!