database compatibility assessment

ORACLE SYS_CONTEXT 函数 迁移 opengauss 5.0 A 模式 怎么改

迁衡基于规则 ora.func.sys_context 分析 ORACLE SYS_CONTEXT 函数 到 opengauss 5.0 A 模式 的兼容性、改写路径与验证建议。

兼容性判定

支持度partial
严重度major
置信度high
依据规则ora.func.sys_context

怎么改

session_context('USERENV', ...)

判定说明

session_context 文档提供;SYS_CONTEXT 同名兼容待验证

库侧 / 应用侧路径

库侧改造

可行:USERENV 常用键改目标端等价函数(current_user/current_schema 等);自定义 context 库侧无对应

应用侧改造

可行:上下文取值上移应用层(会话信息由应用注入 SQL 参数)

推荐路线:case_by_case。验证建议:判定条件:是否使用自定义 context(DBMS_SESSION.SET_CONTEXT)——是则必须应用层方案;USERENV 键映射清单逐个核对

规则样例

SELECT SYS_CONTEXT('USERENV', 'SESSION_USER') FROM dual
SELECT SYS_CONTEXT('APP_CTX', 'TENANT_ID') FROM dual
SELECT CURRENT_USER FROM dual