ORACLE INTERVAL 自动分区 迁移 OceanBase 4.3.5 Oracle 模式 怎么改

迁衡基于规则 ora.partition.interval 分析 ORACLE INTERVAL 自动分区 到 OceanBase 4.3.5 Oracle 模式 的兼容性、改写路径与验证建议。

兼容性判定

公开资料依据 · 建议 PoC 复核
支持度partial
严重度major
置信度medium
依据规则ora.partition.interval

怎么改

目标原生 INTERVAL 时逐项保留表达式、最高显式 RANGE 分区上界定义的过渡点和子分区模板;否则移除自动扩展,按该过渡点至业务 horizon 预建等价 RANGE 分区,并部署幂等滚动作业在写入前继续预建,同时替换依赖自动分区名的运维 SQL

判定说明

4.4.2+ 原生 interval;4.3.5 需按 cutoff 预建分区滚动补齐,分区定义漂移只报告不自动重分区

库侧 / 应用侧路径

库侧改造

可行:原生能力经版本门控;非原生路径生成分区台账、预建 DDL、提前量告警和失败可重放的滚动作业

应用侧改造

不可行:分区是存储结构,应用侧无从承接

推荐路线:db_side。验证建议:覆盖多显式 RANGE 分区下的过渡点前后、边界等值、日期/月末/时区与数值 interval,并保持源端对 NULL/MAXVALUE 定义或写入的拒绝/错误契约;核对自动分区名及运维 SQL;并发写入和滚动作业竞态下越界不失败、无重叠/缺口,另测 SERIALIZABLE 向新区间写入的失败与重试,并演练作业失败恢复、裁剪计划和行数对账

规则样例

CREATE TABLE sales (sale_date DATE, amt NUMBER) PARTITION BY RANGE (sale_date) INTERVAL (NUMTOYMINTERVAL(1,'MONTH')) (PARTITION p0 VALUES LESS THAN (DATE '2024-01-01'))
CREATE TABLE metering (seq_no NUMBER) PARTITION BY RANGE (seq_no) INTERVAL (100000) (PARTITION p0 VALUES LESS THAN (100000))
CREATE TABLE sales (sale_date DATE) PARTITION BY RANGE (sale_date) (PARTITION p2024 VALUES LESS THAN (DATE '2025-01-01'))

参考来源

相关改造点

社群/联系

迁移卡住时,带着案例找人复核

迁移路上遇到具体问题?微信群、1v1 咨询与邮箱,随时找得到人。

微信交流群 微信二维码

扫码添加微信,邀您加入交流群;亦可搜索微信号 prejudice_me。

邮箱咨询

m01dm01db01@foxmail.com

发源库、目标库、代码规模和已脱敏案例短链,便于估算改造工作量。