当你回收未使用的空间时,数据库在数据库段未使用空间的底部(即高水位线)释放未使用的空间,使其对表空间中的其他段可见。
回收之前,可以运行DBMS_SPACE
包的存储过程UNUSED_SPACE
,它返回高水位线的位置信息和在一个段中未使用的空间的数量。对于带自动段空间管理的本地管理的表空间段,使用SPACE_USAGE
存储
过程获取未使用的空间的准确的信息
使用如下语句回收一个段中未使用的空间:
ALTER TABLE table DEALLOCATE UNUSED KEEP integer;
ALTER INDEX index DEALLOCATE UNUSED KEEP integer;
ALTER CLUSTER cluster DEALLOCATE UNUSED KEEP integer;
KEEP
可选,允许您指定保留在段的空间数量.
可以通过dba_free_space视图查看分配的空间被释放。