找回oracle中被誤刪的表的數據

            在未開啓閃回的oracle數據庫中,表的數據被誤刪之後,即使沒有開啓閃回,只要發現及時還是有方法找回的,前提是數據還存在於undo 中沒被刷出去。 要是被刷出undo 了,只能試試通過logminer 挖掘歸檔日誌,或者從備份中還原了(12c rman好像是可以直接針對表進行數據還原的)。

          通過時間戳方式查詢undo數據 :

        例:

             select *
               from dba_objects 
               as of timestamp to_timestamp('03-09-2014 08:00:00', 'DD-MM-YYYY HH24:MI:SS')
             where OBJECT_NAME = 'aaabbb' ;


由於dba_objects 使用的是輔助表空間,所以,我們也可以通過這樣的方法查詢到dba_objects 錶的歷史數據。同樣,對於一張普通表,我們也可以這樣查詢。

 

            select *
               from t_putongbiao
               as of timestamp to_timestamp('03-09-2014 08:00:00', 'DD-MM-YYYY HH24:MI:SS')
             where id= '123' ;

   OK .刪數據前一定要謹慎,實在被刪了也不要慌,只要做好備份,總會有辦法搞回來的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章