Oracle收缩表,释放占用的存储空间(shrink space)
Oracle收缩表,释放占用的存储空间(shrink space)
一、开启表的行移动功能(enable row movement)
上SQL:
alter table BIG_TABLE enable row movement;
二、收缩表(shrink space cascade)
收缩表(shrink space cascade),整理碎片,降低高水位。
上SQL:
alter table BIG_TABLE shrink space cascade;
三、关闭表的行移动功能(disable row movement)
上SQL:
alter table BIG_TABLE disable row movement;
四、知识点延伸
4.1、查索引是否失效的SQL
SELECT index_name
,tablespace_name
,status
,visibility
FROM dba_indexes
WHERE table_name = 'BIG_TABLE';
4.2、收缩表(shrink space cascade)不用使索引失效,不用重建索引。
4.3、使用move命令整理碎片,会使索引失效,需要rebuild 索引。
alter table BIG_TABLE move;
4.3.1、重建索引
alter index BIG_TABLE_PK rebuild;