如何通过DBMS_REDEFINITION在线重定义Oracle表空间解决严重碎片化问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计876个文字,预计阅读时间需要4分钟。
相关专题:
直接说结论:dbms_redefinition 不是用来“处理表空间碎片”的,它是用来在线重定义表结构的工具;想整理碎片,优先用 alter table ... shrink space,只有在 shrink 不可用(比如非 assm 表空间、含 lob 且是 basicfile)时,才考虑 dbms_redefinition 作为备选方案。
为什么 DBMS_REDEFINITION 不是碎片整理的首选
它本质是“重建一张逻辑等价的新表”,过程包括:建空表 → 复制数据 → 同步增量 → 切换依赖 → 清理旧段。
本文共计876个文字,预计阅读时间需要4分钟。
相关专题:
直接说结论:dbms_redefinition 不是用来“处理表空间碎片”的,它是用来在线重定义表结构的工具;想整理碎片,优先用 alter table ... shrink space,只有在 shrink 不可用(比如非 assm 表空间、含 lob 且是 basicfile)时,才考虑 dbms_redefinition 作为备选方案。
为什么 DBMS_REDEFINITION 不是碎片整理的首选
它本质是“重建一张逻辑等价的新表”,过程包括:建空表 → 复制数据 → 同步增量 → 切换依赖 → 清理旧段。

