oracle 数据误删除 恢复到某个时间的数据

通过时间恢复删除且已提交的数据

1)查询当前系统时间

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

2)查询删除数据的时间点之前的数据

 select * from 表名 as of timestamp to_timestamp('2023-05-09 15:00:00','yyyy-mm-dd hh24:mi:ss');
 --(如果不是,则继续缩小范围)

3)恢复删除且已提交的数据

--开启行移动功能(解决执行以下语句报错问题)

alter table 表名 enable row movement;

--恢复某个时间点的数据

flashback table 表名 to timestamp to_timestamp('2023-05-09 15:00:00','yyyy-mm-dd hh24:mi:ss');

--关闭行移动功能

alter table 表名 disable row movement;

你可能感兴趣的:(oracle,数据库,sql)