使用oracle 閃回查詢找回誤更新的資料

yantaicuiwei發表於2011-10-25

下午收到同事的報告,一張表被錯誤更新,沒有加where 導致表的某個欄位被全部更新。資料已經提交。還好通知的及時,只要資料還在回滾段,就可以查到到,想到了閃回查詢,下面是具體的操作步驟

create table t_test_1 as
select * from  t_test  as of timestamp to_timestamp('2011-10-25 13:45:00','yyyy-mm-dd hh24:mi:ss');

select src from t_test_1;

.......................

10658103616692
10658103616692
10658103616692
10658103616692
10658103616692

...........................

資料不對,繼續閃回

drop table t_test_1;

create table t_test_1 as
select * from  t_test  as of timestamp to_timestamp('2011-10-25 13:30:00','yyyy-mm-dd hh24:mi:ss');

select src from t_test_1;

..................

10658103633081
10658103623000
106581036 16692
10658103616624
10658103616625
10658103616635

..........................

就是這些資料,下面進行重新命名錶的操作

rename t_test to t_test_2;
rename t_test_1 to t_test;

資料成功恢復。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21601207/viewspace-709643/,如需轉載,請註明出處,否則將追究法律責任。

相關文章