Oracle DBMS_REDEFINITION(在线重定义)

DBMS_REDEFINITION是Oracle数据库提供的‌在线表重定义内置包‌,从Oracle 9.2.0.4版本开始支持,核心作用是在几乎不锁表、不中断业务DML操作的前提下,完成表结构的结构性变更,大幅降低停机维护窗口,提升系统高可用性。

核心适用场景

  • 表结构调整‌
    在线增删/修改列、重命名列、调整列数据类型,无需停机锁表。
  • ‌‌分区改造‌
  • 将普通堆表转为分区表,新增/拆分/合并分区,是Oracle 12c中最可靠的普通表转分区表方案,规避ALTER TABLE MODIFY PARTITION BY语法的大量限制。
  • 重组优化‌
    重建表消除存储碎片、迁移表空间、转换堆表与索引组织表,同时保障业务持续访问。
  • 依赖对象同步‌
    在线重建/调整索引、约束、触发器、权限等依赖对象,不中断业务运行。

关键使用限制

  • 需预留至少‌2倍原表大小‌的表空间,用于存放原表和中间表数据。
  • 仅支持普通用户表,SYS/SYSTEM用户下的表、临时表、外部表、物化视图日志表等不支持重定义。
  • 推荐基于主键(CONS_USE_PK)模式重定义,无主键的表可使用ROWID模式,但性能会明显下降。
  • 主键列不可修改,中间表新增列不能设置NOT NULL约束,且无法启用nologging模式。

案例脚本(分区表改造)

相关推荐
CoderYanger6 小时前
Java EE 进阶:8.MyBatis 操作数据库(入门)(第二弹)
java·数据库·spring boot·spring·面试·java-ee·mybatis
wafrdggh8 小时前
2026电商快递批量查询怎么用?固乔助手模板设置评测
大数据·数据库·小程序
一个天蝎座 白勺 程序猿9 小时前
KingbaseES数据库归档重做日志文件管理:从配置到运维的实战指南
运维·数据库·oracle·kingbasees·金仓数据库
龙腾AI白云12 小时前
仿真到现实(Sim-to-Real)迁移:跨越仿真与现实鸿沟
数据库·机器学习·plotly·知识图谱·tornado
freejackman14 小时前
【实战二】字段级血缘追踪:拆解 AST 迷局,精准穿透函数链与子查询
大数据·数据库·sql
.痞老板.16 小时前
mysql初阶--增删改查操作
数据库·mysql
lambo mercy21 小时前
AI智能租房助手
数据库
浮生若城1 天前
MySQL:库与表的操作
数据库·mysql
薛定谔的悦1 天前
光储充一体机从主控到执行单元的双层架构
数据库·mongodb·架构
数字新视界1 天前
动环监控信创适配在智能机房管理中的应用价值与未来展望
大数据·服务器·数据库·动环监控系统·动力与环境监控系统