ORACLE誤刪除表數據或誤更新/插入數據如何恢復


工作中一不小心將本不該刪除/更新/插入的數據進行刪除/更新/插入了,這時候一定要盡快進行恢復。

工具/原料

 
  • PL/SQL

方法/步驟

 
  1.  

    首先新建一張測試表TEST,里面輸入記錄。由於刪除/更新/插入恢復步驟相同,本經驗僅演示刪除數據的情況。

    ORACLE誤刪除表數據或誤更新/插入數據如何恢復
  2.  

    刪除其中1條記錄,查看表中記錄情況,由下圖可見,記錄2被刪除了。

    ORACLE誤刪除表數據或誤更新/插入數據如何恢復
  3.  

    恢復之前我們先確定我們要恢復到的時間點,下圖可以看出2018-03-07 15:33:00數據是正確的。

    SELECT *

      FROM TEST AS OF TIMESTAMP TO_TIMESTAMP('2018-03-07 15:33:00', 'YYYY-MM-DD HH24:MI:SS');

    ORACLE誤刪除表數據或誤更新/插入數據如何恢復
  4.  

    下面進行表數據恢復。

    FLASHBACK TABLE TEST TO TIMESTAMP TO_TIMESTAMP('2018-03-07 15:33:00', 'YYYY-MM-DD HH24:MI:SS');

    可以看到報錯了,原因是沒有開啟行移動。

    ORACLE誤刪除表數據或誤更新/插入數據如何恢復
  5.  

    開啟該表的行移動。

    ALTER TABLE TEST ENABLE ROW MOVEMENT;

    ORACLE誤刪除表數據或誤更新/插入數據如何恢復
  6. 6

    再次執行數據恢復。

    FLASHBACK TABLE TEST TO TIMESTAMP TO_TIMESTAMP('2018-03-07 15:33:00', 'YYYY-MM-DD HH24:MI:SS');

    然后查看數據情況,可以看到已經恢復了。

    ORACLE誤刪除表數據或誤更新/插入數據如何恢復
     


免責聲明!

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



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