达梦数据库数据迁移工具DTS的使用

达梦数据迁移工具DM DTS提供了主流大型数据库迁移到DM、DM到DM、文件迁移到DM以及DM迁移到文件的功能。
得益于达梦数据库对目前主流大型关系型数据库系统有着业界领先的兼容性,在存储层面、语法层面、接口层面和它们保持高度兼容,借助于DM图形界面且采用向导方式引导各个迁移步骤的DTS工具,移植工作可以变得非常的简单。

  1. 支持主流大型数据库Oracle、SQLServer、MySQL、DB2、PostgreSQL、Informix、Kingbase、Sybase的模式、表、视图、序列、索引迁移到DM;

  2. ODBC数据源、JDBC数据源的模式、表、视图迁移到DM;
    达梦数据库数据迁移工具DTS的使用

  3. DM数据库的模式、表、视图、序列、索引迁移到主流大型数据库Oracle、SQLServer、MySQL;
    达梦数据库数据迁移工具DTS的使用

  4. DM数据库之间模式、表、序列、视图、存储过程/函数、包、类、同义词、触发器、对象权限的迁移;
    达梦数据库数据迁移工具DTS的使用

  5. DM数据库模式、表、序列、视图、存储过程/函数、包、类、同义词、触发器、对象权限迁移到XML文件;

  6. DM数据库模式、表、序列、视图、存储过程/函数、包、类、同义词、触发器、对象权限迁移到SQL脚本文件;

  7. DM数据库的表、视图数据迁移到文本文件;

  8. DM数据库的表、视图数据迁移到Excel文件;

  9. DM数据库的表、视图数据迁移到Word文件;

  10. SQL脚本文件迁移到DM数据库;

  11. XML文件迁移到DM数据库;

  12. 指定格式的文本文件、Word文件和Excel文件迁移到DM数据库。
    达梦数据库数据迁移工具DTS的使用

关于迁移工具的详细用法,在工具的“帮助”中可以查看到详细信息。
达梦数据库数据迁移工具DTS的使用

本文仅就目前收集到的提问,做个整理,同时分享一些注意事项。

  1. 通讯异常
    一般原因及解决方法:
    ① 检查数据库连接,看是否设置问题;
    ② 检查网络环境。

  2. 查看报错日志
    迁移过程中出现的所有问题,都可以在dmdbms/log/tool.log日志文件中找到记录。

  3. 迁移过程中如果涉及字段类型问题,可以通过直接修改脚本然后创建,或是在DTS中设置类型映射的方式来调整。

  4. 查询迁移
    达梦数据库数据迁移工具DTS的使用
    达梦数据库数据迁移工具DTS的使用

  5. 批量导出sql脚本
    达梦数据库数据迁移工具DTS的使用
    达梦数据库数据迁移工具DTS的使用

  6. 做库到库的移植时,对于目的库,在创建实例过程中需要选择合适的初始化参数,比如页大小PAGE_SIZE、簇大小EXTENT_SIZE、大小写敏感CASE_SENSITIVE等后期不可修改的参数,达到与源库间更好的兼容性,且不会导致数据丢失。

另外,关于字符集CHARSET。建议采用默认值GB18030,如果需要国际字符可以采用Unicode,GB18030 数字字母占1 个字节,普通汉字占2 个字节,部分繁体及少数民族文字占4 字节,Unicode 在达梦中采用UTF-8 编码格式,欧洲的字母字符占1 到2 个字节,亚洲的大部分字符占3 个字节,附加字符为4 个字节。如果只存储中文和字母数字,一般来说GB18030 更节省空间一些。

  1. 大数据量进行迁移时,最好在64位操作系统上,这样方便调大DTS工具的使用内存,将dmdbms/tool/dts.ini文件中的-XX:MaxPermSize=256M 改为512M或者1024M。

  2. 从其他数据库迁移数据到DM时,一般情况下建议将“保持对象名大小写”勾消掉,因为在DM本身是大小写敏感的情况下,数据库中小写的对象名经常会导致“无效的表名或视图名”的错误。
    达梦数据库数据迁移工具DTS的使用

  3. 数据量比较小的情况下,迁移策略的设置怎么都可以。但是如果迁移数据量比较大,若没有大字段的情况下,应勾选“使用多线程迁移数据”和“使用快速装载”,如下所示:
    达梦数据库数据迁移工具DTS的使用

  4. 在迁移的表中有较多大字段的情况下,或者装载过程出现卡在某张表,无法继续继续进行数据迁移的情况,应将“使用多线程迁移数据”和“使用快速装载”勾消,如下所示:
    达梦数据库数据迁移工具DTS的使用