日期:2014-05-16  浏览次数:20448 次

Oracle数据库10g垃圾表清除的最新方法

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

BINjR8PK5HhrrgMK8KmgQ9nw==

这一类的表通常无法删除,并且无法用“delete”删除,这种情况的出现,

一般不会影响正常的使用,但是有遇到以下几种情况时则必须删掉它。

◆1.这些表占用空间

◆2.如果使用Middlegen-Hibernate-r5的朋友会发现一些问题[问题描述:在运行ant build.xml会出现ORA-01424: 转义符之后字符缺失或非法],不你象以前用oracle9时那么顺的生成hibernate配置文件,原因就在这里将它删除就没有问题了。

◆3.其它情况

BINjR8PK5HhrrgMK8KmgQ9nw==

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

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

SQL》 SHOW RECYCLEBIN

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

SQL》 PURGE TABLE “BINjR8PK5HhrrgMK8KmgQ9nw==”;

删除这一个或删除全部。

SQL》 PURGE RECYCLEBIN;