达梦数据库迁移工具简单使用介绍

您所在的位置:网站首页 达梦数据库迁移到mysql 达梦数据库迁移工具简单使用介绍

达梦数据库迁移工具简单使用介绍

2024-01-17 22:54| 来源: 网络整理| 查看: 265

达梦数据库迁移工具简单使用介绍 达梦数据迁移工具简介 DM数据迁移工具提供了主流大型数据库迁移到DM、DM到DM、文件迁移到DM以及DM迁移到文件的功能。DM数据迁移工具采用向导方式引导用户通过简单的步骤完成需要的操作。

DM数据迁移工具支持: ◆ 主流大型数据库Oracle、SQLServer、MySQL、DB2、PostgreSQL、Informix、Kingbase、Sybase的模式、表、视图、序列、索引迁移到DM; ◆ ODBC数据源、JDBC数据源的模式、表、视图迁移到DM; ◆ DM数据库的模式、表、视图、序列、索引迁移到主流大型数据库Oracle、SQLServer、MySQL; ◆ DM数据库之间模式、表、序列、视图、存储过程/函数、包、类、同义词、触发器、对象权限的迁移; ◆ DM数据库模式、表、序列、视图、存储过程/函数、包、类、同义词、触发器、对象权限迁移到XML文件; ◆ DM数据库模式、表、序列、视图、存储过程/函数、包、类、同义词、触发器、对象权限迁移到SQL脚本文件; ◆ DM数据库的表、视图数据迁移到文本文件; ◆ DM数据库的表、视图数据迁移到Excel文件; ◆ DM数据库的表、视图数据迁移到Word文件; ◆ SQL脚本文件迁移到DM数据库; ◆ XML文件迁移到DM数据库; ◆ 指定格式的文本文件、Word文件和Excel文件迁移到DM数据库。

下面,我们以DM8之间的数迁移为例,简单介绍DM数据迁移工具的使用方法。

1.迁移需求 本次数据迁移是使用达梦数据迁移工具DTS在线迁移达梦数据库。

1.1.数据库迁移工具 在这里插入图片描述

达梦数据迁移工具,安装达梦数据库时默认安装选项会安装该迁移工具。

1.2.源数据库 数据库类型:达梦8 IP:192.168.1.26 用户名:DMHR 密码:test123456

1.3.目标数据库 数据库类型:达梦8 IP:192.168.1.100 用户名:test 密码:testtesttest

2.迁移前准备 准备好源数据库、目标数据库的IP地址、数据库用户密码、数据库SID等相关信息。确保源数据库、目标数据库处于在线状态,源数据库与目标数据库网络互通。

2.1.创建达梦数据库和用户 先在目标数据库创建数据库表空间、数据库用户。

2.1.1.建表空间 create tablespace “TEST” datafile ‘E:\dmdbms8\data\DAMENG\test.dbf’ size 5120 autoextend on next 1024 maxsize 33554431 CACHE = NORMAL;

2.1.2.创建用户 创建数据库用户时,密码需9位或以上 create user “test” identified by “testtesttest” limit failed_login_attemps 3, password_lock_time 1, password_grace_time 10 default tablespace “TEST” default index tablespace “TEST”;

注意:建表空间时,表空间名是大写,建用户指定默认表空间时表空间名也要用大写。

2.1.3.用户授权 grant “DBA”,“RESOURCE”,“PUBLIC” to “test” with admin option;

grant ALTER DATABASE,RESTORE DATABASE,CREATE USER,ALTER USER,DROP USER,CREATE ROLE,CREATE SCHEMA,CREATE TABLE,CREATE VIEW,CREATE PROCEDURE,CREATE SEQUENCE,CREATE TRIGGER,CREATE INDEX,CREATE CONTEXT INDEX,BACKUP DATABASE,CREATE LINK,CREATE REPLICATE,CREATE PACKAGE,CREATE SYNONYM,CREATE PUBLIC SYNONYM,ALTER REPLICATE,DROP REPLICATE,DROP ROLE,INSERT TABLE,UPDATE TABLE,DELETE TABLE,SELECT TABLE,REFERENCES TABLE,GRANT TABLE,INSERT VIEW,UPDATE VIEW,DELETE VIEW,SELECT VIEW,GRANT VIEW,EXECUTE PROCEDURE,GRANT PROCEDURE,SELECT SEQUENCE,GRANT SEQUENCE,EXECUTE PACKAGE,GRANT PACKAGE,DROP PUBLIC SYNONYM,ADMIN REPLAY,ADMIN BUFFER,CREATE TABLESPACE,ALTER TABLESPACE,DROP TABLESPACE,CREATE MATERIALIZED VIEW,SELECT MATERIALIZED VIEW,CREATE DOMAIN,GRANT DOMAIN,USAGE DOMAIN,DUMP TABLE,ADMIN JOB to “test” with admin option;

3.数据库迁移

3.1.数据库迁移

运行DM数据迁移工具 在这里插入图片描述

在这里插入图片描述

新建工程

在这里插入图片描述 在这里插入图片描述

新建迁移任务

在这里插入图片描述在这里插入图片描述

下一步

在这里插入图片描述 在这里插入图片描述输入源数据库信息

在这里插入图片描述

输入目标数据库信息 在这里插入图片描述

在这里插入图片描述在这里插入图片描述

在这里插入图片描述

确认迁移任务信息,点击完成即开始迁移

在这里插入图片描述

迁移完成,并且没有报错。

3.2.迁移过程报错处理 如迁移过程有报错,需查看具体错误信息再做处理。

附:Oracle 11g数据库迁移到达梦8的部分错误信息及处理方法 3.2.1.错误提示:无效的序列属性 /* 执行任务: 创建序列"TEST".“LUO” / / 任务失败: 创建序列"TEST".“LUO” / / 第6 行附近出现错误: 无效的序列属性 / / 相关SQL语句: */ CREATE SEQUENCE “TEST”.“LUO” INCREMENT BY 1 START WITH 29 MAXVALUE 9223372036854775807 MINVALUE 0 CACHE 20;

解决:迁移后在目标数据库执行以下SQL语句,注意MINVALUE 的值改为1 CREATE SEQUENCE “TEST”.“LUO” INCREMENT BY 1 START WITH 29 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 20; 3.2.2.错误提示:语法分析出错 1、/* 执行任务: 创建视图"TEST".“V_INFO_DETAIL” / / 任务失败: 创建视图"TEST".“V_INFO_DETAIL” / / 第 5 行, 第 38 列[TOP]附近出现错误: 语法分析出错 / / 相关SQL语句: */ CREATE VIEW “TEST”.“V_INFO_DETAIL” (“PKID”,“INFOID”,“INFOTITLE”,“KEYWORDS”,“CLASSID”,“AUTHORID”,“AUTHORNAME”,“ORGANIZATIONID”,“ORGANIZATIONNAME”,“INFOPATH”,“HITS”,“INCLUDEIMAGE”,“IMAGEPATH”,“IMPORTANTLEVEL”,“TOP”,“CREATETIME”,“PUBLISHTIME”,“ATTACHID”,“ATTACHDIR”,“ATTACHFILE”,“ATTACHTYPE”,“ACTIDS”,“CLASSNAME”) AS SELECT i.INFOID||(case when ATTACHID is null then ‘’ else ATTACHID end) AS PKID,i.INFOID, i.INFOTITLE, i.KEYWORDS, i.CLASSID, i.AUTHORID, i.AUTHORNAME, i.ORGANIZATIONID, i.ORGANIZATIONNAME, i.INFOPATH, i.HITS, i.INCLUDEIMAGE, i.IMAGEPATH, i.IMPORTANTLEVEL, i.TOP, i.CREATETIME, i.PUBLISHTIME, a.ATTACHID, a.ATTACHDIR, a.ATTACHFILE, a.ATTACHTYPE, f_getrights(i.INFOID) as actids,c.classname FROM T_CM_INFO_INST i left join V_INFO_ATTACHFILE a on(i.INFOID = a.INFOID),T_CM_INFO_CLASS_DEF c WHERE i.classid=c.classid and i.infostate=2 ;

解决方法:达梦SQL的语法与oracle不同。top处增加””,SQL语句在目标数据库执行。 CREATE VIEW “TEST”.“V_INFO_DETAIL” (“PKID”,“INFOID”,“INFOTITLE”,“KEYWORDS”,“CLASSID”,“AUTHORID”,“AUTHORNAME”,“ORGANIZATIONID”,“ORGANIZATIONNAME”,“INFOPATH”,“HITS”,“INCLUDEIMAGE”,“IMAGEPATH”,“IMPORTANTLEVEL”,“TOP”,“CREATETIME”,“PUBLISHTIME”,“ATTACHID”,“ATTACHDIR”,“ATTACHFILE”,“ATTACHTYPE”,“ACTIDS”,“CLASSNAME”) AS SELECT i.INFOID||(case when ATTACHID is null then ‘’ else ATTACHID end) AS PKID,i.INFOID, i.INFOTITLE, i.KEYWORDS, i.CLASSID, i.AUTHORID, i.AUTHORNAME, i.ORGANIZATIONID, i.ORGANIZATIONNAME, i.INFOPATH, i.HITS, i.INCLUDEIMAGE, i.IMAGEPATH, i.IMPORTANTLEVEL, i.”TOP”, i.CREATETIME, i.PUBLISHTIME, a.ATTACHID, a.ATTACHDIR, a.ATTACHFILE, a.ATTACHTYPE, f_getrights(i.INFOID) as actids,c.classname FROM T_CM_INFO_INST i left join V_INFO_ATTACHFILE a on(i.INFOID = a.INFOID),T_CM_INFO_CLASS_DEF c WHERE i.classid=c.classid and i.infostate=2 ;

2、SQL包含非空格的空白字符(err_time前面) 在这里插入图片描述

将报错的SQL拷到文件编辑工具,如:Notepad。视图-显示符号-显示所有符号,找到非空格的空白字符,删除后,将SQL拷到目的数据库执行。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3