Oracle恢复被删除的数据

数据用Delete误删除掉后,而且提交了。

1.打开Flash存储的权限
  ALTER TABLE tablename ENABLE row movement ;


2.把表还原到指定时间点
flashback table tablename to timestamp to_timestamp(''2008-02-28 10:40:00'',''yyyy-mm-dd hh24:mi:ss'');

后面的参数为要还原的时间点


Oracle 10g开始,当我执行Drop Table时,Oracle也会把被删除的表放到数据库回收站(Database Recyclebin)里。这样我们就可以用flashback table命令恢复被删除的表,语法:
   Flashback table 表名 to before drop;

开始恢复,执行以下命令:

flashback table tmm2076 TO TIMESTAMP to_timestamp('2007-05-22
12:00:00','yyyy-mm-dd hh24:mi:ss')

弹出ORA-08189错误,需要执行以下命令先:
alter table tmm2076 enable row movement
这个命令的作用是,允许oracle修改分配给行的rowid。

你可能感兴趣的:(oracle,Flash)