回收站是删除对象使用的存储空间。可以使用实例参数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;