当你回收未使用的空间时,数据库在数据库段未使用空间的底部(即高水位线)释放未使用的空间,使其对表空间中的其他段可见。
回收之前,可以运行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视图查看分配的空间被释放。
本文介绍如何通过SQL语句及DBMS_SPACE包的存储过程来回收数据库中未使用的空间,并提供查看已释放空间的方法。

950

被折叠的 条评论
为什么被折叠?



