database compatibility assessment

ORACLE 外部表(ORGANIZATION EXTERNAL) 迁移 opengauss 6.0 A 模式 怎么改

迁衡基于规则 ora.object.external_table 分析 ORACLE 外部表(ORGANIZATION EXTERNAL) 到 opengauss 6.0 A 模式 的兼容性、改写路径与验证建议。

兼容性判定

真机验证:opengauss 6.0.5 · 有外表能力(GDS/fdw 类);ORACLE_LOADER 语法与 DIRECTORY 依赖需整体改造 |实测2026-07-09(og6.0.5): 语法被拒,确认不兼容
支持度none
严重度critical
置信度high
依据规则ora.object.external_table

怎么改

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

判定说明

有外表能力(GDS/fdw 类);ORACLE_LOADER 语法与 DIRECTORY 依赖需整体改造 |实测2026-07-09(og6.0.5): 语法被拒,确认不兼容

库侧 / 应用侧路径

库侧改造

可行:目标端有外表/装载能力时改对应外表语法;否则建普通表由装载流程灌数

应用侧改造

可行:改 ETL 装载:文件由采集程序解析后批量写入普通表

推荐路线:case_by_case。验证建议:判定条件:目标端外表能力与文件落地位置;同一批文件双跑比对行数与抽样字段,坏行容错行为按业务确认

规则样例

CREATE TABLE ext_log (line VARCHAR2(4000)) ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY dir1 LOCATION ('a.log'))
CREATE TABLE ext_csv (c1 NUMBER) ORGANIZATION EXTERNAL (TYPE ORACLE_DATAPUMP DEFAULT DIRECTORY dmp_dir LOCATION ('x.dmp'))
CREATE TABLE t_log (line VARCHAR2(4000))