迁移手册 · 精确目标 dm:8 · 更新于 2026-08-21

Oracle → 达梦 DM8迁移手册

十章工程目录收录 945 个 Oracle 迁移候选;83 个 verified / doc_based 场景有明确目标结论,127 个 draft 声明仅进入待核验口径,735 个未知项不进行产品家族外推。

945迁移候选
83权威明确结论
127待核验声明
61权威 partial / none
0已登记工件锚点
0版本观察

十章工程目录

1. 类型与值域

40 个候选 · 12 个权威明确 · 14 个待核验

full 4partial 8none 0unknown 3

2. DDL 与数据库对象

183 个候选 · 23 个权威明确 · 4 个待核验

full 0partial 4none 19unknown 137

5. 函数与表达式

219 个候选 · 23 个权威明确 · 10 个待核验

full 12partial 11none 0unknown 16

7. PL/SQL 与存储程序

301 个候选 · 1 个权威明确 · 62 个待核验

full 0partial 1none 0unknown 139

8. 序列、同义词与触发器

24 个候选 · 2 个权威明确 · 1 个待核验

full 0partial 2none 0unknown 18

10. 驱动与应用层

5 个候选 · 0 个权威明确 · 2 个待核验

full 0partial 0none 0unknown 0

当前预览没有可链接的权威明确场景;完整构建保留本章事实统计。

优先核对的高风险场景

只收录 authoritative、精确矩阵已声明且 support 为 partial / none 的条目;不把 draft 放入推荐。

DECODE 函数

partial · doc_based · 先用目标保证的物化屏障/临时结果/过程变量求 expr 一次,普通 CTE 不保证;按首个 search(数值首对按 Oracle 数值优先级)统一比较类型,再改有序 searched CASE/双 NULL,并把 result/default 转成首结果有效类型

INTERVAL 自动分区

partial · doc_based · 目标原生 INTERVAL 时逐项保留表达式、最高显式 RANGE 分区上界定义的过渡点和子分区模板;否则移除自动扩展,按该过渡点至业务 horizon 预建等价 RANGE 分区,并部署幂等滚动作业在写入前继续预建,同时替换依赖自动分区名的运维 SQL

SYS_CONTEXT 函数

partial · doc_based · USERENV 的 SESSION_USER -> session_user、CURRENT_USER -> current_user、 CURRENT_SCHEMA -> current_schema、DB_NAME/DB_UNIQUE_NAME -> current_database(); IP_ADDRESS 可在连接拓扑明确时映射 inet_client_addr()。 OS_USER、CLIENT_IDENTIFIER、AUTHENTICATED_IDENTITY、PROXY_USER、BG_JOB_ID、HOST/SERVER_HOST 与 MODULE 只能做近似映射,不能把 OS_USER/CLIENT_IDENTIFIER 当 session_user,或把 BG_JOB_ID 当 pg_backend_pid() 冒充等价。自定义 namespace 必须追踪 DBMS_SESSION.SET_CONTEXT 写入链并重设计。

既有改造点明细

保留原有实质详情 canonical,下面是当前页前 80 个改造点入口;迁移手册不复制问题详情。

ALTER SESSION SET 会话参数partial · minor · ora.syntax.alter_sessionANYDATA 动态类型列unknown · critical · ora.type.anydataASCIISTR Unicode 转义函数unknown · major · ora.func.asciistrAT TIME ZONE 时区表达式unknown · major · ora.func.at_time_zoneAUTHID 执行者/定义者权限模式unknown · critical · ora.plsql.authid触发器内自治事务unknown · blocker · ora.trigger.autonomous_transaction视图 BEQUEATH 子句none · minor · ora.ddl.bequeathBFILE 外部文件类型unknown · critical · ora.type.bfileBFILENAME 外部文件定位函数unknown · critical · ora.func.bfilenameBIN_TO_NUM 位序列转数值unknown · major · ora.func.bin_to_numBINARY_DOUBLE 类型partial · minor · ora.type.binary_doubleBINARY_FLOAT 类型partial · minor · ora.type.binary_floatOracle 二进制浮点特殊字面量unknown · critical · ora.literal.binary_float_specialBITMAP 位图索引unknown · major · ora.index.bitmapLENGTHB / SUBSTRB / INSTRB 字节语义函数unknown · major · ora.func.byte_semanticsCDB/多租户与排序规则 DDL 子句(SHARING / DEFAULT COLLATION / CONTAINER_MAP)none · minor · ora.ddl.container_clausesCHAR 定长补空格类型unknown · minor · ora.type.char_paddingCHR(0) NUL 字符语义差异unknown · major · ora.func.chr_zeroOracle 聚簇表与 CLUSTER 子句unknown · major · ora.object.cluster_tableOracle 集合 CARDINALITYunknown · major · ora.func.cardinalitySQL 层集合运算函数unknown · major · ora.func.collection_sql列 DEFAULT 使用序列伪列unknown · major · ora.column.default_sequence复合 UNIQUE 的部分 NULL 唯一性语义unknown · blocker · ora.constraint.composite_unique_nullCONNECT BY 操作数含函数unknown · critical · ora.syntax.connect_by_function_operand约束 DISABLE 状态unknown · major · ora.ddl.constraint_disableCREATE INDEX ... NOLOGGINGunknown · major · ora.ddl.create_index_nologging日期直接加减数字(天数运算)partial · major · ora.behavior.date_arithmeticDATE 映射 TIMESTAMP 后日期差聚合类型变化partial · critical · ora.dm.timestamp_delta_aggregateDBLINK 引用(obj@link)unknown · major · ora.object.dblink_ref过程体内 DBLINK 引用(obj@link)unknown · critical · ora.plsql.dblink_in_bodyDBMS_RANDOM 随机数调用(过程体内)partial · minor · ora.pkg.dbms_randomDBMS_RANDOM 包调用unknown · minor · ora.func.dbms_randomDBMS_JOB 定时作业调用(过程体内)partial · major · ora.pkg.dbms_jobDBMS_SCHEDULER 调度器调用(过程体内)partial · major · ora.pkg.dbms_schedulerDBMS_SCHEDULER / DBMS_JOB 调度作业partial · major · ora.plsql.dbms_schedulerDBTIMEZONE 数据库时区函数unknown · major · ora.func.dbtimezoneDECODE 函数partial · major · ora.func.decodeDEFAULT ON NULL 列默认值partial · minor · ora.column.default_on_nullDETERMINISTIC 函数标记partial · minor · ora.plsql.deterministicDROP USER ... CASCADE 级联删除unknown · critical · ora.ddl.drop_user_cascadeDUMP 内部表示诊断函数unknown · major · ora.func.dumpEDITIONABLE / NONEDITIONABLE 关键字none · minor · ora.ddl.editionableEMPTY_CLOB / EMPTY_BLOB 函数unknown · minor · ora.func.empty_lob与空串字面量的等值/不等比较('' 即 NULL 语义)unknown · critical · ora.behavior.empty_string_compareJava/C 外部语言存储例程none · critical · ora.plsql.external_routine外部表(ORGANIZATION EXTERNAL)unknown · critical · ora.object.external_tableFIRST_VALUE IGNORE NULLSunknown · major · ora.func.first_value_ignore_nullsFLASHBACK 查询(AS OF SCN/TIMESTAMP、VERSIONS BETWEEN)unknown · major · ora.syntax.flashback_query外连接查询 FOR UPDATEunknown · critical · ora.syntax.for_update_outer_joinCREATE FORCE VIEWunknown · minor · ora.ddl.view_forceFROM_TZ 时区附加函数unknown · major · ora.func.from_tzOracle Text 全文索引与 CTX 包unknown · critical · ora.index.fulltext_contextPL/SQL 代码中的全角标点none · major · ora.plsql.fullwidth_punctuation索引表达式中的 TO_DATE/TO_CHARunknown · critical · ora.index.nonimmutable_conversionMDSYS / SDO 空间类型与包partial · critical · ora.func.gis_sdoGOTO 语句partial · minor · ora.plsql.gotoGREATEST / LEAST 函数(NULL 传播差异)partial · major · ora.func.greatest_leastGROUP_ID / GROUPING_ID 分组函数unknown · minor · ora.func.grouping_idDBMS_NETWORK_ACL_ADMIN 方法级黑名单unknown · major · ora.pkg.harvest_dbms_network_acl_admin_methodsDBMS_NETWORK_ACL_UTILITY 方法级黑名单unknown · major · ora.pkg.harvest_dbms_network_acl_utility_methodsDBMS_REPORT 方法级黑名单unknown · major · ora.pkg.harvest_dbms_report_methodsDBMS_REPUTIL 方法级黑名单unknown · critical · ora.pkg.harvest_dbms_reputil_methodsDBMS_SPM 方法级黑名单unknown · major · ora.pkg.harvest_dbms_spm_methodsDBMS_WORKLOAD_CAPTURE 方法级黑名单unknown · major · ora.pkg.harvest_dbms_workload_capture_methodsDBMS_WORKLOAD_REPLAY 方法级黑名单unknown · major · ora.pkg.harvest_dbms_workload_replay_methodsDBMS_XMLQUERY 方法级黑名单unknown · major · ora.pkg.harvest_dbms_xmlquery_methodsDBMS_XMLSAVE 方法级黑名单unknown · critical · ora.pkg.harvest_dbms_xmlsave_methodsDBMS_XSLPROCESSOR 方法级黑名单unknown · major · ora.pkg.harvest_dbms_xslprocessor_methodsCTX_DDL 方法级黑名单unknown · major · ora.pkg.harvest_ctx_ddl_methodsDBMS_APPLICATION_INFO 方法级黑名单unknown · major · ora.pkg.harvest_dbms_application_info_methodsDBMS_AQ 方法级黑名单unknown · critical · ora.pkg.harvest_dbms_aq_methodsDBMS_ASSERT 方法级黑名单unknown · major · ora.pkg.harvest_dbms_assert_methodsDBMS_CRYPTO 方法级黑名单unknown · critical · ora.pkg.harvest_dbms_crypto_methodsDBMS_JAVA 方法级黑名单unknown · critical · ora.pkg.harvest_dbms_java_methodsDBMS_LDAP 方法级黑名单unknown · major · ora.pkg.harvest_dbms_ldap_methodsDBMS_LOB 方法级黑名单unknown · major · ora.pkg.harvest_dbms_lob_methodsDBMS_LOCK 方法级黑名单unknown · major · ora.pkg.harvest_dbms_lock_methodsDBMS_METADATA 方法级黑名单unknown · major · ora.pkg.harvest_dbms_metadata_methodsDBMS_OBFUSCATION_TOOLKIT 方法级黑名单unknown · major · ora.pkg.harvest_dbms_obfuscation_toolkit_methodsDBMS_PIPE 方法级黑名单unknown · critical · ora.pkg.harvest_dbms_pipe_methods

上线前验证清单