上周時候,因為一時手賤,生產上的數據被我給delete掉了。
用的是delete語句,然后很迅速的還給commit了。
於是---》杯具了。
----------------------------------------------------
於是找到了下面這兩個語句:
ALTER TABLE tablename ENABLE row movement ;
flashback table tablename to timestamp to_timestamp('2012-09-13 13:00:00','yyyy-mm-dd hh24:mi:ss');
------------------------------------------------------
記得大概是兩點半左右運行的delete---commit;
但是恢復的時候卻被我理所應當的恢復到了13:00:00
(話說這時候又是手賤,另記:沒事別想當然)
------------------------------------------------------
被我誤刪的數據確實回來了,可是,第二天的時候忽然反應過來,那13:00:00 到14:30:00這段時間插入的數據還在不呢(測試環境下試了下,這段時間的數據應該沒了,因為這張表是原始明細表,會不停地輪詢目錄,解析文件,插入明細。於是,這下真的慌了)
------------------------------------------------------
幸虧后來通過其他途徑找到丟失的數據了,不幸中的萬幸。
------------------------------------------------------
所以,下次如果還有這種問題,強烈表示,恢復前一定創建臨時表把當前表里面的數據備份起來,然后確認在備份后不進行插入,更新操作,這時候再使用上面的語句將表還原到某個時間,然后兩張表整合下。
------------------------------------------------------
很羅嗦的我,表達越來越有問題了……悲催……