下午收到同事的報告,一張表被錯誤更新,沒有加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;
數據成功恢復。