zoukankan      html  css  js  c++  java
  • 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误删除表数据或误更新/插入数据如何恢复
       
  • 相关阅读:
    动态规划练习 7
    面试经验交流感悟
    反转链表
    动态规划练习 6
    动态规划练习 4
    动态规划练习 9
    动态规划练习 12
    动态规划练习 8
    动态规划练习 13
    动态规划练习 11
  • 原文地址:https://www.cnblogs.com/muhy/p/11337956.html
Copyright © 2011-2022 走看看