尝试一下:
alter tablespace mytablespace COALESCE;

解决方案 »

  1.   

    你干脆DROP 表空间重建,我就不相信不能成功
      

  2.   

    coalesce早就用过了不起作用,oracle的官方文件我也看了可是不见有什么说明
      

  3.   

    试试alter table <您的表名> deallocate unused;
      

  4.   

    试试:
    alter tablespace tablespacename default storage (pctincrease 1)
    或:
    alter tablespace tablespacename coalesce
      

  5.   

    coalesce并不总是有效的,如果被TRUNCATE的表不是HIGH WATERMARK所在的表,那是不可能把HIGH WATERMARK降下来的.但是被清理掉的空间是可以使用的.不用担心.要完整地清理表空间中的碎片,最彻底的办法是EXP出该表空间中的所有对象,然后DROP掉表空间后重建,再用IMP导回原来的对象.
      

  6.   

    analyze table ... compute statistics;
      

  7.   

    tlbbqf:pctincrease 的值原本就是1
    KingSunSha:关于高水位标记的说法我不太清楚,我记得好像是每张表都有的呀,只要把他降下来就等于把所有的数据删掉,这有错吗?
    visc:没有你说的那么恐怖吧?
    各位大虾最好给出理论上的解释,应为我还在学习中,谢谢!!!
      

  8.   

    一般是1,这样smon就会自动合并,在某些情况下,会出现0 ,造成无法合并.
      

  9.   

    FORMAT C:/Q 
    ..........
      

  10.   

    老兄够狠!
    怪事,这张表增长到80兆左右的时候,再用truncate命令截断后,表空间就被释放了,怎么回事?