达梦数据库迁移(MySQL_to_DM)


外套丰富
外套丰富 2024-01-12 14:40:57 52606 赞同 0 反对 0
分类: 资源
达梦数据库迁移(MySQL_to_DM)

基本信息:

类型

数据库

IP:端口

版本

迁移对象

源库

MySQL

172.16.11.101:13309

5.7.24

表、视图、存储过程等对象

目标库

达梦DM

172.16.11.101:5238

DM V8

迁移说明:

DM数据迁移工具提供了主流大型数据库迁移到DM、DM到DM、文件迁移到DM以及DM迁移到文件的功能。

DM数据迁移工具采用向导方式引导用户通过简单的步骤完成需要的操作。

可以使用 DM 数据迁移工具 (DTS),进行 MySQL 到 DM 的迁移,MySQL 和 DM 数据库的语法兼容性不高。

关于语法,对于表、视图或游标等对象的创建语法存在不同,需要基于 DM 数据库的语法进行改写;

部分 MySQL 数据库自带的系统包、函数、存储过程在 DM 数据库中也不支持,同样需要手动改写或重建相同功能的对应对象。

关于数据,MySQL 中的某些数据,在 DM 中可能会被判定为不合法,需要进行修改。

DM数据迁移工具支持:

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

◆ ODBC数据源、JDBC数据源的模式、表、视图迁移到DM;

◆ DM数据库的模式、表、视图、序列、索引迁移到主流大型数据库Oracle;

◆ DM数据库之间模式、表、序列、视图、存储过程/函数、包、类、同义词、触发器、对象权限的迁移;

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

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

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

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

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

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

◆ XML文件迁移到DM数据库;

◆ 指定格式的文本文件、Word文件和Excel文件迁移到DM数据库。

迁移前准备:

1.修改达梦数据库参数

在迁移数据之前,需要修改 DM 数据库参数,修改兼容参数为兼容 MySQL 数据库 COMPATIBLE_MODE=4 ,重启数据库服务使其生效即可。

  •  
  •  
  •  
[dmdba@cjc-db-03 CHEN]$ pwd/dm8/data/CHEN[dmdba@cjc-db-03 CHEN]$ vi dm.ini

默认0,改成4。

图片

数字代表的含义:

#Server compatible mode, 0:none, 1:SQL92, 2:Oracle, 3:MS SQL Server, 4:MySQL, 5:DM6, 6:Teradata

修改:

COMPATIBLE_MODE = 4

重启DM数据库

  •  
  •  
[root@cjc-db-03 ~]# systemctl stop DmServiceCJC.service[root@cjc-db-03 ~]# systemctl start DmServiceCJC.service

2.创建目标用户

注意:生产库需要创建用户对应的表空间,权限最小化。

  •  
  •  
  •  
disql SYSDBA/******:5238SQL> create user CJC identified by "******";SQL> grant dba to CJC;

3.生成测试数据

测试环境,新增测试数据

###MySQL 5.7.24

  •  
  •  
  •  
mysql> create database cjcdb;mysql> grant all privileges on cjcdb.* to cjc@'%';mysql> flush privileges;

###新增测试数据

  •  
[mysql@cjc-db-03 ~]$ mysql -ucjc -p

###新增表

  •  
  •  
  •  
  •  
mysql> CREATE TABLE T1(ID INT,NAME varchar(30),key(ID));mysql> INSERT INTO T1 VALUES(1,'AAA');mysql> INSERT INTO T1 VALUES(2,'BBB');mysql> INSERT INTO T1 VALUES(3,'CCC');

###新增视图

  •  
mysql> create view v_t1 as select name from t1 where id=1;

###新增存储过程

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
DELIMITER $$CREATE PROCEDURE p_t1_avg()BEGIN  SELECT avg(id) from t1;END$$;DELIMITER;mysql> use cjcdbDatabase changed
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
mysql> call p_t1_avg();+---------+| avg(id) |+---------+| 2.0000 |+---------+1 row in set (0.31 sec)Query OK, 0 rows affected (0.31 sec)

迁移:

1.打开DTS迁移工具

可以打开达梦数据库服务器上自带的DTS工具

  •  
  •  
[dmdba@cjc-db-03 tool]$ export DISPLAY=172.16.11.73:0.0[dmdba@cjc-db-03 tool]$ sh dts

图片

如果无法启用图形,可以在windows系统上安装达梦工具。

图片

图片

图片

2.新建工程

图片

图片

3.新建迁移

图片

图片

欢迎界面

图片

4.选择源库、目标库数据类型

图片

5.配置源数据库信息

图片

图片

刷新,下一步

6.配置目标数据库信息

注意:

默认是SYSDBA,建议使用单独的业务用户,不要将业务数据存放在SYSDBA用户下。

图片

7.迁移选项

注意:

去掉 保持对象名大小写 ,达梦数据库不支持小写对象名。

图片

8.查看默认类型映射关系

图片

图片

图片

9.指定模式、对象

图片

图片

转换,查看映射关系

图片

分析对象

图片

10.开始迁移

下一步

图片

可以看到,对象名,自动转换为大写

完成

图片

迁移报告

图片

迁移详细

图片

迁移后检查:

1.查看对象

迁移前

  •  
  •  
  •  
  •  
SQL> select object_name,object_type from dba_objects where owner='CJC';LINEID OBJECT_NAME OBJECT_TYPE---------- ----------- -----------1 CJC         SCH

迁移后

图片

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
SQL> select object_name,object_type from dba_objects where owner='CJC';LINEID OBJECT_NAME OBJECT_TYPE---------- ----------- -----------1 CJC           SCH2 P_T1_AVG      PROCEDURE3 V_T1          VIEW4 T1            TABLE5 ID            INDEX6 INDEX33555469 INDEX6 rows gotused time: 10.446(ms). Execute id is 1411.

2.查看表数据

  •  
  •  
  •  
  •  
  •  
  •  
  •  
SQL> select * from cjc.t1;LINEID ID          NAME---------- ----------- ----1 1           AAA2 2           BBB3 3           CCCused time: 0.993(ms). Execute id is 1412.

3.查看视图

  •  
  •  
  •  
  •  
  •  
SQL> select * from cjc.v_t1;LINEID NAME---------- ----1 AAAused time: 1.241(ms). Execute id is 1413.

4.查看存储过程

  •  
  •  
  •  
  •  
  •  
SQL> call cjc.p_t1_avg;LINEID AVG(ID)---------- --------1 2.000000used time: 1.732(ms). Execute id is 1414.

5.查看对象创建语句

图片

视图

图片

存储过程

图片

迁移遇到的问题:

1.无法连接源MySQL数据库

连接MySQL库失败,提示如下:

错误号: 0

错误消息: Communications link failure

The last packet successfully received from the server was 20 milliseconds ago. The last packet sent successfully to the server was 12 milliseconds ago.

图片

解决方案:

图片

1.下载驱动

驱动路径下载

https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.11

图片

驱动文件名:mysql-connector-java-8.0.11.jar

图片

2.使用自定义URL

图片

  •  
jdbc:mysql://172.16.11.101:13309/<databaseName>?tinyInt1isBit=false&transformedBit1sBoolean=false

改成

  •  
jdbc:mysql://172.16.11.101:13309/cjcdb?tinyInt1isBit=false&transformedBit1sBoolean=false&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true

3.驱动路径

指定新下载的mysql-connector-java-8.0.11.jar驱动文件

刷新,下一步

查看mysql-connector-java与MySQL数据库的版本对应关系:

参考链接:https://php-note.com/1934.html

图片

2.INVALID OBJECT NAME

建议后检查对象和数据,报错:

无法查看表结构

  •  
  •  
  •  
  •  
  •  
SQL> desc cjc.t1;[-20001]:INVALID OBJECT NAME-20001: OBJ_IS_EXISTS line 201-20001: SHOW_PARA_INFO line 302 .used time: 4.056(ms). Execute id is 0.

无法查看表数据

  •  
  •  
  •  
  •  
  •  
SQL> select * from cjc.t1;select * from cjc.t1;[-2106]:Error in line: 1Invalid table or view name [T1].used time: 0.528(ms). Execute id is 0.

无法查看视图等

  •  
  •  
  •  
  •  
  •  
SQL> select * from cjc.v_t1;select * from cjc.v_t1;[-2106]:Error in line: 1Invalid table or view name [V_T1].used time: 0.589(ms). Execute id is 0.

问题原因:

前面配置迁移选项,默认勾选了 保持对象名大小写。

由于MySQL数据库支持小写对象名,但达梦数据库不支持小写对象名,所以迁移后无法正确识别和使用对象数据。

通过管理工具可以看到,迁移后的对象名都是小写。

图片

查看建表语句

图片

图片

达梦数据库会将对象小写名称自动转换为大写

新建表t2,小写

  •  
SQL> create table cjc.t2(id int);

插入数据

  •  
  •  
SQL> insert into cjc.t2 values(1);SQL> commit;

表名会被自动转换为大写

图片

图片

解决方案:

迁移选项部分 去掉 保持对象名大小写 部分,重新迁移。

图片

参考:

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
DM 数据迁移工具https://eco.dameng.com/document/dm/zh-cn/start/tool-dm-migrate.html MySQL 迁移到 DMhttps://eco.dameng.com/document/dm/zh-cn/faq/faq-mysql-dm8-migrate.htmlDM DBA手记之MySQL移植到DM.pdfhttps://eco.dameng.com/eco-file-server/file/eco/download/2022081614103389JN7U46DVP8TURGBF达梦迁移工具连接 mysql 数据库错误,mysql5.7迁移到dm8https://blog.csdn.net/weixin_44990616/article/details/129078603

###chenjuchao 20230722###

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
外套丰富L3
粉丝 0 资源 99 + 关注 私信
最近热门资源
银河麒麟桌面操作系统备份用户数据  123
统信桌面专业版【全盘安装UOS系统】介绍  116
银河麒麟桌面操作系统安装佳能打印机驱动方法  108
银河麒麟桌面操作系统 V10-SP1用户密码修改  102
最近下载排行榜
银河麒麟桌面操作系统备份用户数据 0
统信桌面专业版【全盘安装UOS系统】介绍 0
银河麒麟桌面操作系统安装佳能打印机驱动方法 0
银河麒麟桌面操作系统 V10-SP1用户密码修改 0
作者收入月榜
1

prtyaa 收益393.62元

2

zlj141319 收益217.85元

3

1843880570 收益214.2元

4

IT-feng 收益208.98元

5

风晓 收益208.24元

6

777 收益172.71元

7

Fhawking 收益106.6元

8

信创来了 收益105.84元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!