多语言展示
当前在线:460今日阅读:60今日分享:41

ORACLE误删除表数据或误更新/插入数据如何恢复

工作中一不小心将本不该删除/更新/插入的数据进行删除/更新/插入了,这时候一定要尽快进行恢复。
工具/原料

PL/SQL

方法/步骤
1

首先新建一张测试表TEST,里面输入记录。由于删除/更新/插入恢复步骤相同,本经验仅演示删除数据的情况。

2

删除其中1条记录,查看表中记录情况,由下图可见,记录2被删除了。

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');

4

下面进行表数据恢复。FLASHBACK TABLE TEST TO TIMESTAMP TO_TIMESTAMP('2018-03-07 15:33:00', 'YYYY-MM-DD HH24:MI:SS');可以看到报错了,原因是没有开启行移动。

5

开启该表的行移动。ALTER TABLE TEST ENABLE ROW MOVEMENT;

6

再次执行数据恢复。FLASHBACK TABLE TEST TO TIMESTAMP TO_TIMESTAMP('2018-03-07 15:33:00', 'YYYY-MM-DD HH24:MI:SS');然后查看数据情况,可以看到已经恢复了。

注意事项

一定要尽快恢复。

推荐信息