如何将oracle误删除的数据恢复。

 
 renyg_temp 这个表是你删除的表数据。
select * from renyg_temp as of timestamp to_timestamp('2013-07-25 18:57:00','yyyy-mm-dd hh24:mi:ss');
insert into renyg_temp (select * from renyg_temp as of timestamp to_timestamp('2013-07-25 18:57:00','yyyy-mm-dd hh24:mi:ss'))


/*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误删除)