database compatibility assessment

ORACLE EDITIONABLE / NONEDITIONABLE 关键字 迁移 gaussdb 505 A 模式 怎么改

迁衡基于规则 ora.ddl.editionable 分析 ORACLE EDITIONABLE / NONEDITIONABLE 关键字 到 gaussdb 505 A 模式 的兼容性、改写路径与验证建议。

兼容性判定

真机验证:opengauss 6.0.5 · 无 edition 概念;EDITIONABLE/NONEDITIONABLE 关键字移除即可 |实测2026-07-09(og6.0.5): 语法被拒,确认不兼容
支持度none
严重度minor
置信度high
依据规则ora.ddl.editionable

怎么改

需按命中位置逐条评估改写

判定说明

无 edition 概念;EDITIONABLE/NONEDITIONABLE 关键字移除即可 |实测2026-07-09(og6.0.5): 语法被拒,确认不兼容

库侧 / 应用侧路径

库侧改造

需人工确认改造边界

应用侧改造

需人工确认改造边界

推荐路线:case_by_case。验证建议:DBMS_METADATA 导出的 VIEW/PLSQL/TRIGGER 头几乎必带;源工具全对象类型自动移除 (verified unsupported),无语义损失——除非源库真用了多 Edition 在线发布, 那属于发布流程改造。触发器头重写时注意别把 ON 关键字误当对象名

规则样例

CREATE OR REPLACE EDITIONABLE PACKAGE pkg_a AS PROCEDURE p; END;
CREATE OR REPLACE NONEDITIONABLE TRIGGER trg_a BEFORE INSERT ON t BEGIN NULL; END;
CREATE OR REPLACE PACKAGE pkg_a AS PROCEDURE p; END;