Oracle回收站

回收站是删除对象使用的存储空间。可以使用实例参数recyclebin禁用回收站,默认是on,可以为某个会话或系统设置为off或on。所有模式都有一个回收站。

当表空间不足时可以自动重用回收站对象占用的表空间(此后不可能恢复对象),或使用purge真正地删除对象。

 

//显示回收站状态

SQL> show parameter recyclebin;
NAME       TYPE        VALUE 
---------- ----------- ----- 
recyclebin string      on    

 

//可以禁用或启用回收站

SQL> alter system set recyclebin=off;
SQL> alter system set recyclebin=on;

 

//显示回收站内容

SQL> show recycle;
ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
---------------- ------------------------------ ------------ -------------------
EMP              BIN$nZeFdV7KRUavVdBBbSCGQA==$0 TABLE        2014-03-05:22:04:34
T                BIN$F4pMSE6QTxOG/ROtSMvhaw==$0 TABLE        2014-03-03:23:19:47
T                BIN$36411FISQ/OxxyOllF78yw==$0 TABLE        2014-03-03:22:57:01
TEST             BIN$sMXGDOloSOiX42Fb7sCObg==$0 TABLE        2014-03-27:00:46:17

 

//查询当前用户下的回收站信息,can_undrop——是否可撤消删除

SQL> select object_name, original_name,type,droptime,can_undrop, space from user_recyclebin;
OBJECT_NAME                    ORIGINAL_NAME   TYPE    DROPTIME            CAN SPACE
------------------------------ --------------- ------- ------------------- --- -----
BIN$nZeFdV7KRUavVdBBbSCGQA==$0 EMP             TABLE   2014-03-05:22:04:34 YES     8
BIN$F4pMSE6QTxOG/ROtSMvhaw==$0 T               TABLE   2014-03-03:23:19:47 YES     8
BIN$36411FISQ/OxxyOllF78yw==$0 T               TABLE   2014-03-03:22:57:01 YES     8
BIN$sMXGDOloSOiX42Fb7sCObg==$0 TEST            TABLE   2014-03-27:00:46:17 YES     8


下面是关于回收站的一些常用操作:

//删除表并移到回收站
drop table emp purge;

//从回收站中清除表emp
purge table emp;

//从回收站中清除索引emp_idx
purge index emp_idx;

//从表空间ts01中清除所有删除的对象
purge tablespace ts01;

//从表空间ts01中清除用户scott所删除的所有对象
purge tablespace ts01 user scott;

//清空回收站
purge recyclebin;

//清除所有删除的对象,需要dba权限
purge dba_recyclebin;

 


 

 

你可能感兴趣的:(oracle)