在实际开发的过程中,我们也许会有误删据的时候,但以下方法可以让你恢复删除的数据

一、使用步骤

第一步:查询这个时间点的数据

查询这个时间点的数据,看是否是自己需要的数据。

  1. select * from tablename as of timestamp to_timestamp('2022-06-21 13:30:00','yyyy-MM-dd hh24:mi:ss')

第二步:核对数据库系统时间

有可能因为系统时间和数据库时间不一致查不出数据 所以先查询数据库的时间。

  1. select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual

第三步:执行这条语句把数据恢复到这个时间点

  1. flashback table tablename to timestamp to_timestamp('2022-06-21 13:30:00','yyyy-MM-dd hh24:mi:ss')

第四步: 报错处理

再执行第三步的时候可能会报下列错误
ORA-08189: 因为未启用行移动功能, 不能闪回表,需要开启行移动功能
执行下面语句处理错误

  1. alter table tablename enable row movement

总结

使用flashback 语句,将对应的表回滚为对应时间的数据