關於oracle誤刪數據恢復


上周時候,因為一時手賤,生產上的數據被我給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這段時間插入的數據還在不呢(測試環境下試了下,這段時間的數據應該沒了,因為這張表是原始明細表,會不停地輪詢目錄,解析文件,插入明細。於是,這下真的慌了)

------------------------------------------------------

幸虧后來通過其他途徑找到丟失的數據了,不幸中的萬幸。

------------------------------------------------------

所以,下次如果還有這種問題,強烈表示,恢復前一定創建臨時表把當前表里面的數據備份起來,然后確認在備份后不進行插入,更新操作,這時候再使用上面的語句將表還原到某個時間,然后兩張表整合下。

------------------------------------------------------

很羅嗦的我,表達越來越有問題了……悲催……


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM