PLsql oracle 誤刪除 恢復

在我們實際工作中,誤刪除或者修改Oracle數據庫中的數據,怎麼辦呢?這裏給大家分享一種解決辦法。假如你誤操作的時間不超過30分鐘(數據庫默認的回滾保持段裏的數據時間,可以在pl/sql執行窗口按ctrl+E查看你最近的操作),就是可以使用以下方法恢復數據。

工具/原料

 
  • Oracle數據庫、PL/SQL

方法/步驟

 
  1.  

    1.樣例表test_171205 數據如下圖:

    Oracle數據庫中,誤刪除或者修改數據恢復方法
  2.  

    2.delete test_171205 where test_id = '001'; --誤刪除了其中一條數據,之後數據如下圖

    Oracle數據庫中,誤刪除或者修改數據恢復方法
  3.  

    3.select sql_text,first_load_time,last_load_time from V$SQL where sql_text like '%delete test_171205%';--查看自己執行過的sql和最後執行時間,這裏查到最後執行時間是2017-12-05 21:20:10;

  4.  

    4.create table test_171205_tmp as select * from test_171205 as of timestamp to_timestamp('2017-12-05 21:20:11','yyyy-mm-dd hh24:mi:ss');--創建一個臨時表,用來保存2017-12-05 21:20:10分之前的數據

  5. 5

    5.drop table test_171205;--刪除原來的表

  6. 6

    6.alter table test_171205_tmp rename to test_171205;--更改臨時表的表名

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章