幾種方法。
1、將表空間用compress=Y參數exp出來,將其中表truncate後,將表imp進去。
2、使用alter tablespace name coalesce;手動收縮一次。
3、將表空間的pctincreace參改為大於0,讓其自動收縮。一般改為1。
alter tablespace name storage (pctincrease 1);
關於表空間pctincrease=1:
(1)不將pctincrease設為0,是因為SMON進程將只會定期將PCTINCREASE 不等於0的表空間的空閒碎塊合並。如果設為0,將阻止SMON合並空閒碎塊合並,這時,必須手工使用ALTER TABLESPACE XXX COALESCE;合並碎塊。
(2)不將PCTINCREASE設為較大的數,僅僅用於防止新建的表使用大的PCTINCREASE,並造成空間使用的不可控。 如果表空間中再也不用建新表,那麼該參數只要不等於0,其他取值就沒有任何影響了。
另外,PCTINCREASE與表空間的自動增長沒有關系,表空間的自動增長是通過AUTOEXTEND ON來控制的,並且它是純粹線形增長的(即規定增長多少,就永遠每次增長多少),不象表的PCTINCREASE一樣會形成幾何增長的可能。