尧图精选

达梦数据库-学习-19-兼容ORACLE相关参数介绍

🕒 发布时间:2026/9/9 15:15:46 📁 来源:尧图网络
目录一、环境信息二、介绍三、参数一、环境信息名称值CPU12th Gen Intel(R) Core(TM) i7-12700H操作系统CentOS Linux release 7.9.2009 (Core)内存4G逻辑核数2DM版本1 DM Database Server 64 V82 DB Version: 0x7000c3 03134284194-20240703-234060-201084 Msg Version: 125 Gsu level(5) cnt: 0二、介绍在国产化替代的热潮下我们经常需要做ORACLE到DM的迁移工作在迁移数据之前我们需要打开一些达梦兼容ORACLE的相关参数来使用户在使用达梦时更加丝滑。三、参数参数含义默认值推荐值影响描述SPACE_COMPARE_MODE是否在查询语句中比较字符串后缀空格。0维持原有策略1进行比较01COMPATIBLE_MODE是否兼容其他数据库模式。0不兼容。1兼容 SQL92 标准。2部分兼容 ORACLE。3部分兼容 MS SQL SERVER。4部分兼容 MYSQL。5兼容 DM6。6部分兼容 TERADATA。7部分兼容POSTGRES021、DM 区分空串与 NULL但 Oracle 不区分。2、字符串反转策略变化ORACLE 按字节反转字符串。DM 按字符反转字符串。3、COMPATIBLE_MODE2定义 DATE 类型时将 DATE 类型强制转换为 DATETIME 类型。COMPATIBLE_MODE0定义 DATE 类型时不会转换为DATETIME 类型。4、插入字符串结尾空格超长COMPATIBLE_MODE2插入字符串结尾空格超长报错。COMPATIBLE_MODE0插入字符串结尾空格超长截断数据。5、DEC 类型转为字符串COMPATIBLE_MODE2DEC 类型数据转换为字符串时转换结果小数点右侧结尾不补 0。COMPATIBLE_MODE0DEC 类型数据转换为字符串时转换结果小数点右侧结尾补 0。ORDER_BY_NULLS_FLAGORDER_BY_NULLS_FLAG 控制排序时 NULL 值返回的位置取值 0、1、2、3。0 表示 NULL 值始终在最前面返回1 表示 ASC 升序排序时 NULL 值在最后返回DESC 降序排序时 NULL 值在最前面返回在参数等于 1 的情况下NULL 值的返回与 ORACLE 保持一致2 表示 ASC 升序排序时 NULL 值在最前面返回DESC 降序排序时 NULL 值在最后返回在参数等于 2 的情况下NULL 值的返回与 MYSQL 保持一致3 表示在取值为 1 的基础上将空串置于 NULL 值和非空值之间0可能会影响应用取数据。01DATETIME_FMT_MODE是否兼容ORACLE 的五种日期时间类型的默认日期时间格式。0不兼容1兼容01PL_SQLCODE_COMPATIBLE默认值为 0如果设置为 1则 PL 的异常处理中SQLCODE 的错误码值需要尽量与 ORACLE 一致。01VIEW_ACCESS_MODE指定视图的自主访问控制机制。0兼容 DM1兼容 ORACLE01CALC_AS_DECIMAL0默认值表示不对字符串与整型的比较结果类型做任何修改1表示字符串与整型转换为 BIGINT 比较数据溢出时则转换为 DEC 进行比较2表示字符串与整型的比较强制转换为 DEC 进行比较01ENABLE_PL_SYNONYM是否可以通过同义词执行非系统用户创建的包或者存储过程。1是0否。若设置为0在解析过程/包名时如果借助了同义词则这些对象要么是系统内部创建的或者其创建者必须为系统用户否则一律报错01DEL_HP_OPT_FLAG控制分区表的操作优化;0不优化;1打开分区表DELETE优化;2控制范围分区表创建的优化处理转换为数据流方式实现;4允许语句块中的间隔分区表自动扩展;8开启对TRUNCATE分区表的优化处理;16完全刷新时删除老数据使用DELETE方式;32开启对分区表全局索引DDL操作的优化处理直接操作索引数据无须重建全局索引;支持使用上述有效值的组合值如7表示同时进行1、2、4的优化04ARG_VARCHAR_ADJUST用于控制是否调整过程/包方法的解析策略。0保持原有策略1调整过程/包方法解析策略放大变长和定长字符串参数长度将变长和定长字符串参数/返回值的长度放ARG_VARCHAR_ADJUST 0 到 327672: 兼容 ORACLE 的过程/函数/包方法的 CHAR、VARCHAR、RAW(VARBINARY)类型的定义处理忽略指定长度涉及到字符串比较时需要与 COMPATIBLE_MODE2,SPACE_COMPARE_MODE1 配合使用02ENABLE_BLOB_CMP_FLAG是否支持大字段类型的比较。0不支持1支持此时 DISTINCT、ORDER BY、 分析函数和集函数支持对大字段进行处理且当大字段跟字符串比较时让大字段转换成字符串类型2支持此时 DISTINCT、ORDER BY、 分析函数和集函数支持对大字段进行处理且兼容 MYSQL 模式下大字段跟字符串比较时让字符串转换成大字段类型11ENABLE_SEQ_REUSE控制是否允许重用相同的序列表达式。0不允许1允许。例如SELECT SEQ1.NEXTVAL,SEQ1.NEXTVAL FROM DUAL;当参数取 1返回值两列相同。当参数取 0返回值两列不同。01FLOAT_MODE控制 FLOAT 类型是否支持浮点特殊值。0采用 DM 现有的处理方式不支持浮点特殊值。1兼容 ORACLE支持浮点特殊值。01NUMBER_MODE控制对 NUMBER、FLOAT、REAL、DOUBLE PRECISION 类型在数据定义包括表列定义、脚本参数定义等时的处理方式对于外部函数的返回值及其参数类型忽略 NUMBER_MODE 的配置。0采用 DM 现有的处理方式1兼容 ORACLE 的处理方式01ORA_DATE_FMT指定 DATE 类型格式。0DATE 类型使用 NLS_TIMESTAMP_FORMAT 格式此时动态修改 NLS_DATE_FORMAT 时实际修改的是NLS_TIMESTAMP_FORMAT1DATE 类型使用 NLS_DATE_FORMAT 格式。注仅当 COMPATIBLE_MODE 为 2 时有效建议 COMPATIBLE_MODE 为 2 将 ORA_DATE_FMT 置为 101ORA_REVERSE_MODE指定 ORACLE 兼容模式下 REVERSE()函数的反转规则。0按字节反转与 ORACLE 相同与旧版本兼容 ORACLE 模式下的规则保持一致1按字符反转与 DM 默认的 REVERSE()规则一致。注仅当 COMPATIBLE_MODE 为 2 时有效10
上一篇/下一篇内容由系统自动关联 返回资讯列表 →