如何彻底删除删除Oracle 10g中的垃圾表

手册/FAQ (444) 2015-11-11 09:51:55

经常使用Oracle 10g,我们可以发现以前删除的表在数据库中出现了特别多的垃圾表,如下例:

BINjR8PK5HhrrgMK8KmgQ9nw==

 

这一类的表通常无法删除,并且无法用“delete”删除,这种情况的出现,一般不会影响正常的使用,但是有遇到以下几种情况时则必须删掉它。

1、这些表占用空间

2、如果使用Middlegen-Hibernate-r5的朋友会发现一些问题,不象你以前用Oracle 9时那么顺的生成Hibernate配置文件,原因就在这里将它删除就没有问题了。

3、其它情况

BINjR8PK5HhrrgMK8KmgQ9nw==

 

这一类的表是Oracle 10g的新特性。

Drop Table后,没有真正的删除表,而是在“垃圾站”中了。可以通过下面看到。

SQL> SHOW RECYCLEBIN

 

如果要彻底删除,可以使用:

SQL> PURGE TABLE "BINjR8PK5HhrrgMK8KmgQ9nw==";

 

删除这一个或删除全部,可以使用:

SQL> PURGE RECYCLEBIN;

 
THE END