恢复oracle中被删除的表的数据

Posted on 2007-05-22 16:30 bluoy 阅读(4098) 评论(2)  编辑  收藏
问题:同事不小心把项目DB中的一个表的数据delete all了。DB版本oracle 10g。
网上简单搜了一下,搞定。以下是过程:
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。

然后再flashback,数据被恢复完毕。

Feedback

# re: 恢复oracle中被删除的表的数据  回复  更多评论   

2007-11-01 11:45 by kuaile
请问 到底那个步骤先啊
我在数据库了的PCS表里的记录被我全删除了,怎么恢复?
谢谢

# re: 恢复oracle中被删除的表的数据[未登录]  回复  更多评论   

2007-11-02 15:31 by bluoy
@kuaile
1. alter table tmm2076 enable row movement
2. flashback table PCS TO TIMESTAMP to_timestamp('2007-05-22
12:00:00','yyyy-mm-dd hh24:mi:ss')

只有注册用户登录后才能发表评论。


网站导航: