Oracle收缩表,释放占用的存储空间(shrink space)

Oracle收缩表,释放占用的存储空间(shrink space)

  • Oracle收缩表,释放占用的存储空间(shrink space)
    • 一、开启表的行移动功能(enable row movement)
    • 二、收缩表(shrink space cascade)
    • 三、关闭表的行移动功能(disable row movement)
    • 四、知识点延伸
      • 4.1、查索引是否失效的SQL
      • 4.2、收缩表(shrink space cascade)不用使索引失效,不用重建索引。
      • 4.3、使用move命令整理碎片,会使索引失效,需要rebuild 索引。
        • 4.3.1、重建索引

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;

在这里插入图片描述

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/934362d97f.html