DM8 数据库 DTS 迁移工具详细使用教程

最近业务上突然有了这种需求,国产化替代,优先选中了国内的噩梦。啊…口误,是国产数据库优秀的代表达梦数据库。寻思着达梦DTS迁移工具的使用,发现具有多种迁移模式。比如支持DM到DM,亦或是Oracle迁移用户数据到DM8。
在这里插入图片描述

当然,DM8在Windows下安装很简单,图形化界面,基本就是下一步下一步,注意你安装的路径。Linux下安装稍微麻烦一点,万变不离其宗,只要注意安装过程中需要实例化(初始化DATA,类似于MySQL以及MariaDB),以及注册达梦数据库的服务DmServiceDMSERVER。也可以参考达梦官方教程,但是坑很多。这里只是抛砖引玉,linux下达梦数据库的部署教程以及遇到的坑也在编写中。

tips:个人使用中,感觉比较有用的几个官方手册,进行了标注,仅供参考
在这里插入图片描述

正文

一、首先介绍Windows下的使用

1、安装后的快捷方式启动

1.1、这样截图给人的感觉比较直观,常用的有:DM管理工具、DM数据迁移工具,偶尔也会用上SQL交互式查询工具。DM用户手册有很多内容,实用性高的就是安装手册以及开发人员手册和管理员手册,根据个人使用总结出来的。

1.2、DM官网直通车:https://www.dameng.com/

1.3、在官网下载技术文档以及DM数据库需要注册登录,可以申请开发版取到key解锁更多的功能。各大数据库公司都很骚,不注册没法获取官网的资源。
在这里插入图片描述

2、安装的目录(tool所在目录)

1
D:\software\dmdbms\tool

在这里插入图片描述

3、达梦8数据库DTS工具使用教程

3.1、DTS迁移例子讲解,以Oracle中的scott用户迁移作为讲解。
在这里插入图片描述

3.2、DTS设置数据源(此次迁移的库Oracle)
在这里插入图片描述

3.3、DTS设置目的DM8的连接信息(迁移的目的DM8数据库)
在这里插入图片描述
3.4、DTS选择要迁移的对象(指定scott用户)在这里插入图片描述

3.5、DTS迁移对象对应scott用户的表在这里插入图片描述
3.6、DTS完成迁移向导,确认迁移信息。点击完成,开始迁移。
在这里插入图片描述

3.7、在DM8客户端管理工具验证迁移后的scott用户
在这里插入图片描述

二、其次介绍linux下的使用

1、定位DTS所在目录

找到DTS所在目录(服务器端),比如DM8默认安装的目录/opt/dmdbms/,具体是tool还是tools我记不清了,容易记混。

有没有dmdba这一级目录,我也有点记住不住了。最终是视实际安装目录定,找到tool目录,里面有很多启动工具的脚本命令。你也可以创建快捷方式,放到桌面,现在国产linux服务器也是适配了桌面。

直接在终端运行dts,也就是达梦数据迁移工具(普通用户需要sudo提权,root用户直接运行)

1
2
#(这是我个人的安装路径)
/opt/dmdbms/bin/tool/DTS

2、定位manager所在目录

直接在终端运行DM管理工具(普通用户需要sudo提权,root用户直接运行)

1
/opt/dmdbms/bin/tool/manager

三、设置自动DM数据自动备份

这里只是附带的记录了DM8设置自动备份,这里需要打开上面描述过的DM管理工具。

1、右键代理创建代理环境

在这里插入图片描述

2、创建代理后生成作业功能

在这里插入图片描述

3、新建作业

在这里插入图片描述

4、新建作业设置备份

在这里插入图片描述

5、作业步骤

在这里插入图片描述

6、作业调度

在这里插入图片描述

7、查看DDL备份语句

在这里插入图片描述

8、选择备份数据库

在这里插入图片描述

这里同样的步骤,去设置增量备份。通过设置DDL语句,设置定期清除备份。这里不做截图说明。

9、增量备份

1
2
3
4
5
6
7
#除周六外,每晚23:30做增量备份。你也可以在DM管理工具右键新建增量备份作业。
call SP_CREATE_JOB('increment _bak',1,0,'',0,0,'',0,'increment _bak');
call SP_JOB_CONFIG_START('increment _bak');
call SP_ADD_JOB_STEP('increment _bak', 'increment _bak', 6, '11000000D:\software\dmdbms\data\DAMENG\bak', 1, 2, 0, 0, NULL, 0);
--call SP_ADD_JOB_STEP('increment _bak', 'increment _bak', 6, '11000000D:\software\dmdbms\data\DAMENG\bak', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('increment _bak', 'increment _bak', 1, 2, 1, 63, 0, '23:30:00', NULL, '2021-06-25 22:03:58', NULL, '');
call SP_JOB_CONFIG_COMMIT('increment _bak');

10、定期清除备份

1
2
3
4
5
6
7
#每天00:00删除7天前的数据,定期清除备份暂未做验证,慎用。要用,把路径改下。
call SP_CREATE_JOB('JOB_DEL_BAK_TIMELY',1,0,'',0,0,'',0,'JOB_DEL_BAK_TIMELY');
call SP_JOB_CONFIG_START('JOB_DEL_BAK_TIMELY');
call SP_ADD_JOB_STEP('JOB_DEL_BAK_TIMELY', 'JOB_DEL_BAK_TIMELY', 0, 'call SF_BAKSET_BACKUP_DIR_ADD(''DISK'', ''D:\software\dmdbms\data\DAMENG\bak'');
CALL SP_DB_BAKSET_REMOVE_BATCH(''DISK'', NOW()-7);', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('JOB_DEL_BAK_TIMELY', 'JOB_DEL_BAK_TIMELY', 1, 1, 1, 0, 0, '00:00:00', NULL, '2021-06-25 22:06:13', NULL, '');
call SP_JOB_CONFIG_COMMIT('JOB_DEL_BAK_TIMELY');