1、首先想一下,你是什么时候误更新的。
说明:
select * from 数据表名称 as of timestamp to_timestamp
('2019-11-17 11:20:00','yyyy-mm-dd hh24:mi:ss');
示例:
select * from LOCALDURATION as of timestamp to_timestamp
('2019-11-17 11:20:00','yyyy-mm-dd hh24:mi:ss');
这个时间就是误更新的时间或之前
查询出来看一下数据是不是你想要还原成的样子的数据
2、然后,就可以闪回了
说明:
flashback table 数据表名称
to timestamp to_timestamp('2019-11-17 11:20:00','yyyy-mm-dd hh24:mi:ss');
示例:
flashback table LOCALDURATION
to timestamp to_timestamp('2019-11-17 11:20:00','yyyy-mm-dd hh24:mi:ss');
闪回到你上面想还原到的时间点
特殊说明:
如果遇到如下错误:(注:如果报错ORA-08189: cannot flashback the table because row movement is not enabled 就输入下面的一段,开启行迁移,就可以了。)

请先执行以下代码:
说明:
alter table 数据表名称 enable row movement;
示例:
alter table LOCALDURATION enable row movement;
然后在执行步骤2。
本文详细介绍如何使用Oracle数据库的闪回功能恢复误更新的数据。包括确定误操作时间点、查询预览数据状态及实际执行闪回恢复指令的全过程。针对特定错误,如ORA-08189,提供了开启行迁移的解决方案。

1万+

被折叠的 条评论
为什么被折叠?



