ORACLE SYSTEM / REFERENCE 分区方法 迁移 openGauss 6.0 A 模式 适配说明

迁衡基于规则 ora.partition.system_reference 分析 ORACLE SYSTEM / REFERENCE 分区方法 到 openGauss 6.0 A 模式 的兼容性、改写路径与验证建议。

兼容性判定

支持度none
严重度major
置信度high
依据规则ora.partition.system_reference

迁移建议

SYSTEM 先盘点所有显式 PARTITION 路由并新增可回填的显式分区键;REFERENCE 在父表建立(主键,父分区键)复合唯一键、子表冗余父分区键并建立复合 FK 后回填,再按父表同边界重建;无法维持父子等分区时改普通表/独立方案

判定说明

SYSTEM/REFERENCE 分区改显式分区键

库侧 / 应用侧路径

库侧改造

可行:SYSTEM 增列回填后重分区;REFERENCE 通过复合唯一键+复合 FK 或受控触发器约束冗余键并同步父表边界/维护流程

应用侧改造

可行:写路径为 SYSTEM 补路由键,或在同一事务为 REFERENCE 子行携带并同步父分区键

推荐路线:case_by_case。验证建议:SYSTEM 覆盖每个旧分区、遗漏 PARTITION 指定的报错、错误路由及分区名硬编码;REFERENCE 覆盖复合 FK 启用/禁用、父键变更、父分区维护级联、孤儿行、冗余键漂移、裁剪与父子行数对账

规则样例

CREATE TABLE t (id NUMBER) PARTITION BY SYSTEM (PARTITION p1, PARTITION p2)
CREATE TABLE child (id NUMBER, CONSTRAINT fk FOREIGN KEY(id) REFERENCES parent) PARTITION BY REFERENCE(fk)

参考来源

相关改造点

技术支持

迁移案例复核与技术支持

可通过微信群、专项咨询或邮箱提交脱敏案例与迁移范围。

微信交流群 微信二维码

扫码添加微信并申请加入技术交流群;也可搜索微信号 prejudice_me。

邮箱咨询

m01dm01db01@foxmail.com

请提供源库、目标库、代码规模和脱敏案例链接,以便评估改造范围。