从Oracle表中恢复已删除的行

13

能否从Oracle表中恢复删除的行?我的数据存储在名为CCO的模式下的一个叫做MANUAL_TRANSACTIONS的表中。我不小心删除了一些50万行,并且已经提交了。现在我想要恢复它们。我正在使用Oracle 11g R2版本。谢谢。


我有几个问题。1)您是否有包含已删除记录的备份。2)您是否启用了闪回功能? - Kent Anderson
谢谢。我在数据库方面很差。我没有任何备份。我使用TOAD执行所有的数据库操作。我不知道FLASHBACK。 - santhosha
请尝试Ravi Tiwari和ik_zelf提到的Flashback。如果这不起作用,我能想到的最后一个选择是服务器备份。那应该是最后的选择。 - Kent Anderson
11个回答

0

你可以尝试以下方法:

  1. 使用 Oracle 10g 及以上版本提供的闪回查询(flashback query),但可能会出现 ORA-01555 快照太旧的错误。
  2. 使用重做日志分析工具(redo logminer)来查找撤销 SQL。
  3. 使用 PRM-DUL 工具(一款商业恢复工具,适用于 Oracle),该工具可以扫描 Oracle 块并找到已删除的行片段。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接