database compatibility assessment

ORACLE 外部表(ORGANIZATION EXTERNAL) 迁移 oceanbase 4.3 oracle 模式 怎么改

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

兼容性判定

真机验证:oceanbase 4.2.5.7 · Oracle 外部表黑名单;改 ETL 装载或 OB 外表方案 |实测2026-07-09(v4.2.5.7,172.16.0.146): ORGANIZATION EXTERNAL 实测被拒(ORA-00900)
支持度none
严重度critical
置信度high
依据规则ora.object.external_table

怎么改

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

判定说明

Oracle 外部表黑名单;改 ETL 装载或 OB 外表方案 |实测2026-07-09(v4.2.5.7,172.16.0.146): ORGANIZATION EXTERNAL 实测被拒(ORA-00900)

库侧 / 应用侧路径

库侧改造

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

应用侧改造

可行:改 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))