迁移前,为了更高的使达梦数据库兼容Oracle迁移过来数据,在达梦数据库初始化实例的时候需要提前注意设置好参数。比如大小写敏感度,字符集,length_in_char,还有BLANK_PAD_MODE。
初始化实例之后需要确认好oracle迁移过来的schemas有哪几个,Oracle系统自带的 schema一般不迁。然后在目标库给迁移的schemas新建用户及表空间;
可用图形化管理工具或者如下命令;
Create tablespace xx datafile ‘xx.dbf’ size 128 autoextend on;
Create user xx identified by “” default tablespace xx;
登录dts工具,输入源库信息
目标库信息
登录完后对目标的模式进行迁移。
第一步选择对应源模式,勾选创建模式,序列跟自定义。首先对这类进行迁移
这一步一般不会出现问题。完成在再次进入迁移。
第二步选择表
只选择表定义与表及字段注释,如下图
然后勾选应用当前选项到其他同类对象后,会弹出下图,然后点选择会全选
确定往下一步,下一步执行,没有提示任何报错后,表结构迁移完。
第三部到迁移表数据
全选后然后点转换,如下图
勾选数据哪几个选项,在点击应用当前选项到其他同类对象
然后下一步操作就如之前类似,往下操作。
但是最好就好出错误信息:错误号:6103无效的日期时间类型值。
在网上查询一下资料说需要修改一下参数,对dm.ini修改后重启服务
在次重新操作以上步骤,还是报同样错误。
或者在目标库删除表在重建同时对报错的列,更改属性为varchar在重导数据。没有报错,但是在对目标表update数据后更改为原属性timestamp或者datetime之类的属性,还是会出现无效的日期类型值。
经过排查后发现客户端版本与服务端不一致,需要卸载重新安装后发现问题解决。
第四部,对表的约束与索引进行迁移。
迁移到最后报出大量以下错误引用索引不存在。
实际可尝试操作方法,删除本schemas全部重新倒一次后,无这个报错。
第五步,迁移视图、物化视图、存储过程、触发器与包
操作基本前几个步骤
无报错的话,本schemas就顺利迁移完成。
达梦技术社区:https://eco.dameng.com