首页 > 代码库 > ORACLE 恢复删除的数据

ORACLE 恢复删除的数据

/*1.FLASHBACK QUERY*/ 

--闪回到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) 

--闪回到某个时间点 
select  *  from orders  as of timestamp  to_timestamp (‘‘01-Sep-04 16:18:57.845993‘‘, ‘‘DD-Mon-RR HH24:MI:SS.FF‘‘) where ... 

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

/*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 恢复删除的数据