Oracle shrink space

在10g之后,整理碎片消除行迁移的新增功能shrink space

alter table <table_name> shrink space [ <null> | compact | cascade ];

compact:这个参数当系统的负载比较大时可以用,不降低HWM。如果系统负载较低时,直接用alter table table_name shrink space就一步到位了


cascade:这个参数是在shrink table的时候自动级联索引,相当于rebulid index。

普通表:

shrink必须开启行迁移功能。
alter table table_name enable row movement ;

保持HWM,相当于把块中数据打结实了
alter table table_name shrink space compact;

回缩表与降低HWM
alter table table_name shrink space;

回缩表与相关索引,降低HWM
alter table table_name shrink space cascade;

回缩索引与降低HWM
alter index index_name shrink space

虽然在10g中可以用shrink ,但也有些限制:

1). 对cluster,cluster table,或具有Long,lob类型列的对象 不起作用。
2). 不支持具有function-based indexes 或 bitmap join indexes的表
3). 不支持mapping 表或index-organized表。
4). 不支持compressed 表

原文地址:https://www.cnblogs.com/linn/p/4566532.html