一、场景描述
- lz使用oracle数据库,误删除了某张表中的所有记录,但是表结构还存在。
1、开启行移动功能,执行如下sql语句
--开启行移动功能
ALTER TABLE tablename ENABLE row movement ;
2、恢复表数据,时间为删除或修改的时间点。
- 注:比如2021-05-07 10:01:50误删除的数据,时间则为误删除的时间节点之前没有操作过数据的时间节点即可。lz时间则为2021-05-06 20:01:50,在误删除的数据的2021-05-07 10:01:50时间节点之前,并且2021-05-06 20:01:50到2021-05-07 10:01:50时间范围没有操作过数据。
flashback table tablename to timestamp to_timestamp('2021-05-06 17:01:50','yyyy-mm-dd hh24:mi:ss');
3、数据恢复后,关闭行移动功能
ALTER TABLE tablename DISABLE row movement ;
4、至此误删除的数据已恢复。