这个用delete删除纪录后,表空间是不会有变化的,这个在今天的csdn首页中有片文档说明为什么的

解决方案 »

  1.   

    删除记录并没有释放表的storage用命令释放表的storage:
    ALTER TABLE <table_name> DEALLOCATE UNUSED;
      

  2.   

    DELETE只是在表里面做了个标记,这条记录已经删除了,实际上的存储没有释放。怎么释放看楼上的。
      

  3.   

    请问:delete过后,继续向该表添加记录(记录数非常大),会有问题吗?
    谢谢!
      

  4.   

    请问drabit:
    我用你说的命令执行后,状况没有改变呀。
      

  5.   

    to xuex2004(tttt):
      
       那说明你删除的记录是在表的hwm之下。这种情况下,用另一个命令可以解决:alter table <talbe_name> move;但是这个语句会使相关的索引无效,需要重建索引,如果系统可以忍受索引无效就可以
      

  6.   

    to drabit:
       用你上面的命令只影响我所操作的表的索引吗?我删除的那张表没有建立索引。
    另外,什么是表的hms呀?谢谢!
      

  7.   

    to drabit:
    我用alter table <talbe_name> move;命令,系统提示错误信息:
    ORA-14511:不能对分区对象进行操作。
    请问还有其它方法解决吗?
    谢谢!
      

  8.   

    to xuex2003(ttttt)  你删除的那张表没有主键码?主键也是索引阿,重建索引就可以释放空间了:
    alter index you_index rebuild;
    这样就释放空间了。
      

  9.   

    to xuex2003(tttt):  alter table <table_name> move partition <partition_name>;