Oracle 数据库恢复删除的数据

需求描述:

同事让删除脏数据,结果删错了,需要恢复数据

思路:
利用闪回恢复数据只能恢复15分钟之内的,后面undo空间会被重写,就恢复不了,所以删除数据后,要谨慎再三确认,若发现不对,则利用闪回恢复

  1. 先查询删除时的时间节点的快照

SELECT*FROM 表名  as OF TIMESTAMP TO_TIMESTAMP('2024-01-22 17:32:39','YYYY-MM-DD HH24:MI:SS')

查到时间戳之后

///开启表行移功能
alter table 表名 enable row movement;

闪回恢复到查询的时间节点
FLASHBACK TABLE 表名 TO TIMESTAMP TO_TIMESTAMP('2024-01-22 17:32:39', 'YYYY-MM-DD HH24:MI:SS')

关闭表行移功能
ALTER TABLE 表名 DISABLE ROW MOVEMENT;

闪回恢复数据默认只能恢复15分钟内的

如果超过了,可尝试使用管理员权限,恢复数据

flashback database to timestamp to_timestamp('2024-01-22 17:32:39','YYYY-MM-DD HH24:MI:SS');

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