兼容性判定
公开资料依据 · 建议 PoC 复核支持度none
严重度major
置信度medium
依据规则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)
CREATE TABLE t (id NUMBER) PARTITION BY RANGE(id) (PARTITION p1 VALUES LESS THAN (100))
参考来源
相关改造点
- ORACLE → OceanBase 4.3.5 Oracle 模式 全部改造点
- OceanBase 4.3.5 Oracle 模式 兼容性总览
- ORACLE 迁移国产库总览
- ORACLE AT TIME ZONE 时区表达式 迁移 OceanBase 4.3.5 Oracle 模式 怎么改
- ORACLE 自治事务(PRAGMA AUTONOMOUS_TRANSACTION) 迁移 OceanBase 4.3.5 Oracle 模式 怎么改
- ORACLE 视图 BEQUEATH 子句 迁移 OceanBase 4.3.5 Oracle 模式 怎么改
- ORACLE BFILE 外部文件类型 迁移 OceanBase 4.3.5 Oracle 模式 怎么改
- ORACLE BITMAP 位图索引 迁移 OceanBase 4.3.5 Oracle 模式 怎么改
- ORACLE CDB/多租户与排序规则 DDL 子句(SHARING / DEFAULT COLLATION / CONTAINER_MAP) 迁移 OceanBase 4.3.5 Oracle 模式 怎么改