目录
-
简介
数据库是数据管理的技术。随着时代的发展,信息成为每个部门,每个组织的最为宝贵的财富和资源,因此发展一个可以有效管理数据并行之有效的系统是非常有必要的。数据库因此而诞生。作为信息系统的核心和基础的数据库得到了广泛的应用。我们在网上检索、购买图书、订购机票、车票、进行账号管理等等,都是数据库的应用。所以,这些数据的数据都是珍贵的,是无价的。当我们更换数据库产品的时候,更是需要一个好的迁移工具辅助我们进行数据的迁移,从而,达梦DTS迁移工具,因此而生。
-
部署环境
表2‑1 部署环境
系统版本 |
Windows系统/LINUX 系统 |
CPU型号 |
Intel(R) i5-7200U CPU (2核)以上 |
磁盘空间 |
40G |
内存大小 |
2G |
数据库管理工具 |
Navicat/DM数据迁移工具 |
表2‑2 磁盘规划
数据 |
/dev/mapper/vg_dm-lv_dmdata |
备份 |
/dev/mapper/vg_dm-lv_dmbak |
归档 |
/dev/mapper/vg_dm-lv_arch |
表2‑3 目录规划
数据库软件安装目录 |
/home/dmdba/dmdbms |
实例安装目录 |
/dmdata |
归档存放目录 |
/dmdata/arch |
备份存放目录 |
/dmdata/dmbak/ |
-
迁移准备
-
Mysql新建数据库
-
打开navicat工具,点击左上角的新建数据库,输入数据库名称,字符集一般选择UTF8,排序规则选择UTF8_bin
图3-1Mysql新建数据库
-
Mysql导入数据
导入完成之后,就会如图所示,每一张数据表的信息就会显示在下面
图3-2 Mysql导入数据成功
-
使用DTS进行迁移
-
新建迁移工程
-
启动达梦迁移工具DTS,达梦数据库迁移工具DTS一般在安装目录下的tool目录下
图3-3 新建工程
在展开新建的迁移工程,选择迁移,右键,点击新建组。新建组可以将同类迁移放在一个组里面,方便迁移工程的管理及使用。在弹出的对话框里填入组名即可,然后选中新建的组,点击右键,新建迁移,输入迁移名mysql,确定后会出现如下界面,进入达梦迁移工具迁移向导。
图3-4 进入迁移向导
-
配置数据库信息
Mysql需要配置以下几个信息,(主机名,端口,用户名,密码,数据库名称),选中MySQL==>dm,点击下一步。这里你可以看到达梦数据库目前支持迁移到达梦数据库的数据库类型及其他数据存储类型,以及达梦数据库能够使用该工具迁出到其他数据库或其他数据存储类型的支持列表。示例如下:
图3-5 配置信息
进入MySQL登陆连接配置页面,根据源端MySQL数据库的信息,填入对应的信息即可。在这里需要注意,如果数据库版本比较高的情况下,建议下载较高版本的MySQL驱动,否则会报"错误消息: Unknown initial character set index '224' received from server. Initial client character set can be forced via the 'characterEncoding' property.",驱动下载地址链接:https://dev.mysql.com/downloads/connector/j/)。此处URL填写为:jdbc:mysql://192.168.1.2:3306/DMTES?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
图3-6 自定义驱动
此处迁移的库名为SYSDBA数据库,选定点击下一步。进入目的端达梦数据库信息配置界面
图3-7 配置DM数据库信息
-
开始迁移
信息配置完毕之后,点击下一步开始迁移,操作如图所示:
图3-8 选择对应模式
选择目的端对应的模式名,此处需要注意,达梦数据库不会主动创建与源端MySQL数据库名一样的模式及其表空间,默认使用sysdba模式,所以此处建议提前规划好迁移到达梦数据库后的模式名及表空间,并提前创建。此处选择DMTEST模式,点击下一步,选择迁移对象。
图3-9 确认信息
确认迁移信息无误后,点击完成,进入迁移任务执行阶段,如下图所示。详细展示了迁移过程中,每个任务的执行时间及执行结果。
图3-10查看迁移结果
-
解决部分表迁移失败
在迁移过程中,可能会出现失败的情况,这时,我们需要点击迁移工具的错误详情,此处出现的错误则是因为在迁移的过程中,迁移工具创建表失败,是因为"0000-00-00 00:00:00"创建表达式中的时间表达格式在达梦中并不兼容,所以我们需要做出修改,修改成功后创建表格成功便可重新导入数据。如图所示:
图3-11 解决表无法创建
CREATE TABLE "DMTEST"."T_WL_KHI" ( "ID" INT IDENTITY(1,1) NOT NULL, "TYPE" VARCHAR(20) NULL, "VAL" DEC(11,2) DEFAULT 0.00 NULL, "DATA_TIME" VARCHAR(40) NULL, "REPORT_TIME" VARCHAR(40) NULL, "REPORT_YEAR" VARCHAR(4) NULL, "DTIME" INT NULL, "UPDATED" INT NULL, "INPUT_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, "REVIEW_STATUS" INT NULL, "REVIEW_TIME" TIMESTAMP(0) DEFAULT '1901-00-00 00:00:00' NOT NULL ); |
图3-12 失败表迁移成功
图3-13 迁移成功
技术社区地址:https://eco.dameng.com