oracle中比较alter table t move 和alter table t shrink space

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中比较alter table t move 和alter table t shrink space相关的知识,希望对你有一定的参考价值。

alter table t move和alter table t shrink space都可以用来进行段收缩,降低高水位HWM,
也都可以用来消除行链接(Row Chaining)和行迁移(Row Migration),
但是有如下区别:
1)使用alter table move,会把表格最多收缩到创建表格时的storage子句指定的初始大小,使用alter table shrink space,则不受此限制。
2)使用alter table move之后,索引会无效,需要重建,使用alter table shrink space,则不会使索引无效。
3)只能在表格所在的表空间是自动段空间管理(创建tablespace时指定了SEGMENT SPACE MANAGEMENT AUTO子句)的时候,才能使用alter table shrink space。
4)可以使用alter table shrink space compact来对表格进行碎片整理,而不调整HWM,之后再次调用alter table shrink space来释放空间。
5)可以使用alter table shrink space cascade来同时对索引都进行收缩,这等同于同时执行alter index shrink space。








以上是关于oracle中比较alter table t move 和alter table t shrink space的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 与LightDB alter table 语法对比(部分)

如何用oracle里面的alter table语句去添加一个列约束

Oracle 11g XE "alter table drop column" 导致 ORA-00600

ORACLE中通过SQL语句(alter table)来增加删除修改字段

在oracle中执行alter存储过程时出现无效表名错误

SQL ALTER TABLE MODIFY 语句