好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

oracle10G 11G drop表的恢复

oracle10G 11G drop表的恢复

 

对于oracle10G以上的数据库版本,提供了对数据的回收站机制,通过相关的配置,我们在drop非系统表的时候,

可以不直接删除表,而是把表放回回收站,我们可以通过一些列的方法进行还原操作。具体步骤如下

 

1、使用具有一定权限的用户查找是否开启了回收站功能

   show parameter recyclebin;

   如果是off状态,

   alter system set recyclebin=off;

   alter system set recyclebin=on;

   alter session set recyclebin=off;

   alter session set recyblebin=on;

 

2、在回收站查找我们需要恢复的表

  show recyclebin/select * from recyclebin(推荐使用后面这种

  ,前面的show recyclebin 有的版本没有)

 

   如果是管理员请使用 select * from dba_recyclebin

 

3、恢复表ct_bs_project;

  flashback table ct_bs_project to before drop;

 

  如果使用system或者sys进行恢复需要制定表的所属用户

  flashback table scott.emp to before drop;

 

4、完成恢复,进行验证

  select * from ct_bs_project;

 

 补充:在开启recyclebin状态是open的情况下,drop表的时候并

 不会释放表空间,所以我们需要定时的手动清理回收站,或者是

 表空间不够的情况下会自动进行清理。

 

 释放回收站里面的空间

 purge recyclebin 清空回收站

 

 完全删除表(释放表空间)

 drop table ct_bs_project purge;

 

删除名为 TEST 的特定表之后需要从回收站中清除它

  purge table test;

  PURGE TABLE "BIN$04LhcpndanfgMAAAAAANPw==$0";

  两个表名称都可以

 

清除表空间 USERS 的回收站中的所有对象

PURGE TABLESPACE USERS;

查看更多关于oracle10G 11G drop表的恢复的详细内容...

  阅读:60次

上一篇: Oracle锁和阻塞

下一篇:oracle数据恢复