ITPub博客

首页 > 数据库 > 国内数据库 > 时间格式差异导致oracle到达梦8数据库迁移任务失败

时间格式差异导致oracle到达梦8数据库迁移任务失败

原创 国内数据库 作者:back7877 时间:2021-10-18 14:47:41 0 删除 编辑

时间格式差异导致oracle 到达梦8 数据库迁移任务失败

迁移环境

源端:Oracle 19c

目标端:DM8 1-2-18-21.06.07-141116-10013-ENT

在对某银行用户做应用适配的时候,迁移oracle 19C 的数据库到DM8 环境中,利用dm8 自带的官方工具dts 进行迁移,迁移过程中报错,不支持的时间格式和日期格式

本人对所报错的表查看了两边的数据结构,发现在oracle 源端表的字段为data 类型的,到了达梦数据库,变为了datatime

Timestamp 类型的,也转换成立datatime

所以为了适配此过程,特对dm8 的初始化文件进行了修改

DATETIME_FMT_MODE=1 后,dts 成功导入数据。

该参数的含义如下:

是否兼容 ORACLE 日期格式。0 :不兼容;1 : 兼容 注:此参数被动态修改后仅影响新生成的会话。

该参数为动态参数。

同时会影响以下参数

NLS_DATE_FORMAT :指定 DATE 类型的显示格式,包括 DATE 列 INSERT/SELECT 使用的格式、CAST 转换采 用的格式。不设置时格式取决于 DATETIME_FMT_MODE 参数

NLS_TIME_FORMAT :指定 TIME 类型的格式,包括 TIME 列 INSERT/SELECT 使用的格式、TO_CHAR 的显 示格式、CAST 转换采用的格式。不设置时格 式取决于 DATETIME_FMT_MODE 参数

NLS_TIMESTAMP_F ORMAT: 指定 TIMESTAMP 类型的格式,包括 TIMESTAMP 列 INSERT/SELECT 使用的格式、 TO_CHAR 的显示格式、CAST 转换采用的格式。 不设置时格式取决于 DATETIME_FMT_MODE 参数

NLS_TIME_TZ_FOR MAT: 指定 TIMESTAMP_TZ 类型的格式,包括 TIMESTAMP_TZ 列 INSERT/SELECT 使用的 格式、TO_CHAR 的显示格式、CAST 转换采用 的格式。不设置时格式取决于 DATETIME_FMT_MODE 参数


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31430029/viewspace-2837899/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2017-01-19

  • 博文量
    4
  • 访问量
    1514