表面上的整理:Oracle表的碎片整理(oracle表碎片整理)

【文章】

随着Oracle表越来越大,存储空间越来越紧张,表中数据的重新排序及数据的物理结构整理(表碎片整理)就变得越加重要。碎片整理的过程中,可以将空洞的物理块合并,可以收缩表的空间,可以减少表的查询时间,提高表的性能。

Oracle表的碎片整理可以用以下命令来完成:

未启用表空间的表

alter table 表名 enable row movement; 
alter table 表名 shrink space;

已启用表空间的表

alter table 表名 shrink space compact; 

如果希望碎片整理仅针对表中的某个字段(仅适用于存在分区表),可以使用以下命令:

alter table 表名 shrink space compact partition 分区号 cascade;

现在Oracle 11g新增了一种把所有碎片整理完成的自动命令:

alter table 表名 coalesce; 

但是有几点需要注意:会导致锁定整张表,用户无法访问,也会引起一些其他的性能影响,所以一定要在不影响当前系统应用的前提下进行操作。

总的来说,Oracle表的碎片整理可以有效减少数据库存储空间占用,提高表查询效率,有利于整个系统的运行效率。但是建议在必要的情况下使用,不可过度使用,以免影响系统的性能。


数据运维技术 » 表面上的整理:Oracle表的碎片整理(oracle表碎片整理)