我在oracle9i上新建了一个用户,然后在该用户内新建了一张表,并在该表内插入了许多行数据,但是后来因为这张表没有用了,所以就用drop table tablename;把这张表给删除了,但是貌似该表的空间还在,我的硬盘没有减少使用空间,我想问一下如何把该表所占空间释放哪?
请高手指教下

解决方案 »

  1.   

    表删除了,该表所占用的所有的块就会重新标记为可用,这表明该表不再占有空间了。你可以查到该表说使用的段已经不存在了,在表空间上也会多一些可用的空间,这个就是删除表后多出来的空间。
    你所说的表的空间还在,应该是指表空间的大小没有变,这个是正常的,表空间的使用是先申请再使用,不会回收的。即使你删除了表,表空间的大小不会自动收缩的。
    你可以手工收缩表空间下的数据文件,但不一定成功。如果该数据文件的后部是空的,可以收缩一部分。但建表或扩展表时分配空间不一定是按照先后顺序进行的。当然如果该表空间或数据文件上只有该表,你甚至可以删除这个表空间或数据文件。
    如果在前面不成功的情况下减小表空间的大小,通常用转移表空间的方式,或者导出-删除-重建-导入的方式进行了。
      

  2.   

    发晚了一点
    被广告抢了郁闷