7.数据库迁移
7.1 迁移工具介绍
常用的迁移工具:DTS、DEXP、DMFLDR、DMETL、DMHS
7.1.1 DTS
支持的数据源种类最多,提供主流国内外数据库迁移到DM、DM到DM、文件迁移到DM以及DM迁移到文件的功能。
DTS 适用场景:
支持一次性迁移,不能进行增量迁移。比如:生产环境有数据变化时,需要迁移一份数据进行测试验证 需要有停机窗口允许完整性迁移 不允许在源端数据库中创建任何对象
DTS优点:
支持类型全面:较比 HS 同步软件支持的异构数据库类型多一些; 低成本:不需要单独购买、部署,数据库产品中自带; 易操作:提供可视化界面,操作便捷易理解; 高度兼容 Oracle,对于 Oracle 对象定义可以直接迁移;
7.1.2 DMHS
支持异构数据库间的的迁移。类似于oracle的ogg。
**DMHS 工具使用前提:**源端数据库开启归档和逻辑附加日志
DMHS应用场景:
对停机窗口无要求,适用于平滑迁移或升级;
支持数据实时增量同步,非介入式捕获增量对源端数据库几乎无影响;
可实现数据级灾备、业务分流,支持远距离异地容灾;
对网络要求低;
7.1.3 dmfldr
dmfldr是达梦数据库提供的一个针对具有可辨识格式的文本数据的快速装载工具,不支持向临时表、外部表装载。
7.1.4 dmexp
数据库逻辑导出工具,支持对远程数据库的访问。
7.2 数据迁移
迁移过程:
迁移之前,DM 的初始化参数环境最好要与源库(要迁移的库)一致。
页大小、字符集、大小写敏感、行尾空格(兼容 Oracle)、以字符为单位等。
初始化好系统包的环境(如果业务用到了空间地理数据、DBMS_SCHEDULER、DBMS_JOB 等都需要先创建系统包)
SQL> select name,id from v$ifun where name like ‘SP_INIT%’;
行号 NAME ID
---------- -------------------------- -----------
1 SP_INIT_DBMS_SCHEDULER_SYS 2213
2 SP_INIT_GEO_SYS 767
3 SP_INIT_JOB_SYS 759
4 SP_INIT_DBG_SYS 765
5 SP_INIT_AWR_SYS 1918
DTS 新版本新增迁移前评估,迁移后数据对比的功能。
DTS 迁移时,要注意客户端版本和服务器版本最好保持一致。
迁移的性能相关: 1、 服务器可以调整 JVM 参数, JAVA_OPTIONS: -Xmx2048m -Xms2048m
2、 迁移之前建议关闭 enable_monitor、pk_with_cluster 参数;
3、 不要开归档(归档文件会暂用大量磁盘空间,也会影响性能);
4、 如果数据量大,建议分批迁移,先序列、基础表、视图、存储过程、函数等。
5、 有自增列的表,需要启用标志列插入,否则无法插入数据;
6、服务器内存足够大,可以调大普通表的读取行数等,开启并发,快速装载等提高迁移速度。
DM默认自增列不支持显示插入数据:
create table t_test03(id int IDENTITY(1,1),name varchar(20));
–开启后才能在自增列上插入值
set IDENTITY_INSERT sysdba.t_test03 on;
insert into t_test03 (id, name) VALUES (1, ‘aa’);
commit
–关闭IDENTITY_INSERT
set IDENTITY_INSERT sysdba.t_test03 off;




