我在我的工作上犯了一个可怕的错误,我在没有’where’子句的oracle表上执行了更新的查询,并且在此表上更改了所有内容,我想知道是否有任何方法可以恢复表上的数据.我知道我可以使用Flashback,但还有另一种方法可以吗?如果您知道如何在oracle中制作闪回表,请告诉我.
我正在使用Oracle 10g R2 10.2.0.1
首先,你做出了改变吗?如果没有,您只需发出回滚即可还原更改.
原文链接:https://www.f2er.com/oracle/205714.html假设您确实提交了更改,其他用户是否同时修改了表?您是否需要保留其他人所做的更改并仅还原您在事务中所做的更改?或者,您可以将整个表恢复到更改之前的某个时间点吗?
如果可以将整个表还原到某个时间点
FLASHBACK TABLE <<table name>> TO TIMESTAMP( systimestamp - interval '10' minute )
将表格返回到10分钟前的状态,假设必要的UNDO仍然可用(所以你在错误之后只有有限的时间才能闪回那个错误).为了发布FLASHBACK TABLE,您还必须确保这一点
>该表已启用行移动ALTER TABLE<< table name>>实现行动>您必须对表具有FLASHBACK权限或FLASHBACK ANY TABLE系统特权.