我先插入100 0000条数据,到test1表,查看USERS01.DBF这个文件,大小是368088K,再删除test1表的所有数据后,USERS01.DBF文件的大小仍为368088K,为什么啊?如果是这样的话,USERS01.DBF文件不是一直都在增大吗?但实际上是没有那么多数据了啊,有什么办法可以缩小USERS01.DBF文件吗?删除数据后。

解决方案 »

  1.   

    不论使用delete还是truncate删除数据,ORACLE数据文件都不会自动收缩;
    如果要收缩数据文件,delete不能降低HWM,delete后再alter table XXX move;
    或者使用truncate后再resize数据文件试试
    sql>truncate test1
    sql>alter database datafile 'users01.dbf' resize 200m;
      

  2.   

    1,2楼都说了。我补一点,10g的话,表会不会还在recycle_bin中?select * from user_recyclebin;看看你的表还在不?
      

  3.   

    我以为你删除表了, 如果你是delete from t来删除的,可能会有高水位