ORACLE 序列 ORDER 属性 迁移 openGauss 6.0 A 模式 适配说明

迁衡基于规则 ora.seq.order 分析 ORACLE 序列 ORDER 属性 到 openGauss 6.0 A 模式 的兼容性、改写路径与验证建议。

兼容性判定

公开资料依据 · 建议 PoC 复核
支持度none
严重度minor
置信度medium
依据规则ora.seq.order

迁移建议

SESSION 序列忽略 ORDER 并排除;普通 GLOBAL/NOSCALE/NOSHARD 冻结全部消费者,在每个源实例失效或放弃已预取 CACHE(否则停止源实例),确认任何实例不得恢复取号后,按 INCREMENT 与 MINVALUE/MAXVALUE/CYCLE 计算受控 NEXTVAL 后继并设为精确 next transition,LAST_NUMBER 不得单独作起点;SCALE/SHARD 走专用迁移或阻断,NOCYCLE 已耗尽须保留耗尽状态而非回绕

判定说明

既有真机仅证明 ORDER 源语法被拒,未证明新割接 rewrite 等价;本条改用公开文档证据,建议 PoC 复核

库侧 / 应用侧路径

库侧改造

可行:普通 GLOBAL 序列冻结消费者并在每个源实例失效或放弃缓存,确认任何实例不得恢复取号后按受控 NEXTVAL 合法后继重建;SESSION 排除,SCALE/SHARD 或 NOCYCLE 耗尽进入人工阻断

应用侧改造

可行:强全局顺序需求迁到单一 ID 服务,并替换所有数据库取号调用

推荐路线:case_by_case。验证建议:覆盖 SESSION 排除、SCALE/SHARD 阻断、正/负 INCREMENT、MINVALUE/MAXVALUE/CYCLE 回绕、NOCYCLE 已耗尽、CACHE/NOCACHE、实例重启、未落表 NEXTVAL 与多节点并发;断言每个源实例的缓存均已失效/放弃且任何实例不得恢复取号,探针值不再发出、目标首值等于受控 NEXTVAL 后继且是精确 next transition,并确认源零取号及放弃 ORDER 时业务不读取生成顺序

规则样例

CREATE SEQUENCE ord_seq START WITH 1 INCREMENT BY 1 CACHE 20 ORDER
CREATE SEQUENCE audit_seq MINVALUE 1 MAXVALUE 999999 ORDER CYCLE

参考来源

相关改造点

技术支持

迁移案例复核与技术支持

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

微信交流群 微信二维码

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

邮箱咨询

m01dm01db01@foxmail.com

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