怎么purge 已经被drop 的对象

2015-02-25 15:02:51 · 作者: · 浏览: 35

怎么purge 已经被drop 的对象


以被drop对象所在的user去登陆sqlplus


然后show recyclebin;


SQL*Plus: Release 10.2.0.4.0 - Production on Thu Feb 19 09:04:17 2015


Copyright (c) 1982, 2007, Oracle.? All Rights Reserved.



Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


12:41:11 sys@FS> conn system/aaaaaa
Connected.
12:41:17 system@FS> show recyclebin;
ORIGINAL NAME? ? RECYCLEBIN NAME? ? ? ? ? ? ? ? OBJECT TYPE? DROP TIME
---------------- ------------------------------ ------------ -------------------


XXX? ? ? ? ? ? ? BIN$T7ZJRNkmQcGysyaMOwZS9Q==$0 TABLE? ? ? ? 2015-02-19:12:38:44



12:41:22 system@FS> purge table "BIN$T7ZJRNkmQcGysyaMOwZS9Q==$0";


Table purged.


Elapsed: 00:00:00.51
12:45:38 system@FS> show recyclebin;
12:45:40 system@FS>


这是 仅仅purge 回收站中的一个对象,其实,还有其他几种purge的细粒度:


purge index idx_test_1;
PURGE TABLESPACE USERS;
PURGE TABLESPACE USERS USER SCOTT;
PURGE RECYCLEBIN;--->purge 回收站中自己用户下的对象,并不是purge 整个回收站(并不是purge 回收站中所有用户下的对象)
PURGE DBA_RECYCLEBIN;--->purge 整个回收站(purge 回收站中所有用户下的对象)


其实DBA_RECYCLEBIN 也是一个可以select的视图,该视图的TS_NAME是对象所在的表空间名字。TS_NAME列在drop datafile 报ORA-03262: the file is non-empty 时,可以起到诊断作用。