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;


上一篇:SQL Server技术问题之视图优缺点


下一篇:ubuntu下opencv2.4.9和opencv3.1.0的共存