oracle 如何恢复误删的表记录数据

2024-12-16 10:59:32
推荐回答(3个)
回答1:

Oracle DBA神器:PRM灾难恢复工具,Schema级别数据恢复。PRM For Oracle Database – schema级别oracle数据库数据恢复特性 ,PRM即ParnassusData Recovery Manager是企业级别Oracle数据库灾难恢复工具。PRM可以在无备份的情况下恢复被truncated/drop掉的表,也可以恢复无法打开的Oracle数据库(Alter Database Open失败)中的数据。 PRM是图形化增强版的Oracle DUL工具,同时具备很多Oracle DUL不具备的特性

回答2:

--开启行移动功能
alter table 表名 enable row movement;
--恢复表数据
flashback table 表名 to timestamp to_timestamp('2014-05-19 09:40:00','yyyy-mm-dd hh24:mi:ss');
上述时间为删除数据的时间
备注:恢复后请关闭行移动功能

回答3:

神器:
select * from exzlhzsfsjb as of timestamp sysdate-1/24;
解释:
as of timestamp sysdate-1/24,查询当前日期-1小时前的时间点该表数据。
你也可以直接利用减法,查询两个结果集缺失的部分(1小时前存在,现在不存在的数据)
select * from exzlhzsfsjb as of timestamp sysdate-1/24
minus
select * from exzlhzsfsjb;
查到后insert into ... select .....即可。

该办法不适用与过长时间,因为你的oracle闪回区空间是有限的。

其他oracle问题可以去我的博客看看www.yuanjing.org.cn