兼容性判定
公开资料依据 · 建议 PoC 复核支持度none
严重度major
置信度medium
依据规则ora.column.default_sequence
怎么改
NEXTVAL:改目标 DEFAULT nextval 或等价 identity/触发器取新值;CURRVAL:改目标 currval default,若不支持则移除默认并由同会话显式传入已生成的键,禁止改成新取号
判定说明
列 DEFAULT seq.NEXTVAL/CURRVAL 按不支持处理
库侧 / 应用侧路径
库侧改造
可行:NEXTVAL 可改 default/identity;CURRVAL 仅在目标支持同会话 currval default 时保留
应用侧改造
可行:目标不支持 CURRVAL 默认时,由同一连接先取键并显式绑定到依赖列
推荐路线:case_by_case。验证建议:分别覆盖 NEXTVAL 与 CURRVAL 的省略列、显式 NULL、批量插入和跨 schema 权限;确认 CURRVAL 路径不额外递增
规则样例
CREATE TABLE t (id NUMBER DEFAULT seq_t.NEXTVAL PRIMARY KEY, name VARCHAR2(30))
ALTER TABLE t MODIFY id DEFAULT app.seq_order.CURRVAL
CREATE TABLE t (id NUMBER GENERATED BY DEFAULT AS IDENTITY)
参考来源
相关改造点
- 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 模式 怎么改