达梦:DTS工具进行数据迁移
一、概述
在学习阶段,选择达梦到达梦数据进行迁移,有助于DTS工具快速上手,建立起思维框架,初步具备迁移数据库的能力。
DTS采用图形化界面和向导式操作,操作简单
功能强大,支持包括Oracle、MySQL、SQL Server、PostgreSQL等主流数据库在内的异构数据源迁移,通过智能语法转换引擎,自动解决不同数据库间的语法差异,大幅降低迁移成本。
二、启动方式
图形化启动
安装完win版达梦数据库之后,自带DTS工具,在开始菜单中可以找到
三、开始迁移
新建工程,新建迁移
3、选择迁移方式
4、连接迁移数据源
5、目的端数据源
注意:要选择正确的用户,否则数据会迁移错位置,很可能到默认sysdba的默认表空间main下,这种情况就要删除后重新迁移。
6、配置迁移对象与迁移策略
字符长度x( $): 为目标库的字符型字段设置一个长度扩展系数。1.0表示保持原长度。如果设为 1.5,则源库 VARCHAR(10)在目标库会变成 VARCHAR(15)。
7、指定模式和对象类型
8、用户可以通过点击右上方的“分析源对象”统计选中的源端待迁移对象。用户可以通过该功能对源端迁移对象进行统计分析,包括“源对象统计”、“源表统计”、“源表详细”。
9、选择迁移对象
10、设置表的转换
A. 表定义:表示迁移表的结构(如列名、数据类型等)。
包含存储:是否迁移表的物理存储参数(如表空间、存储引擎特定设置)。
保留存储原有选项:使用源表的设置。
CASCADE 删除:如果选择"先删除",此选项决定是否连同依赖于该表的视图、触发器等一并删除。
B.主键
强制聚集索引:即使源表的主键为非聚集主键,创建目的表时也会被转换为聚集主键;
强制非聚集索引:即使源表的主键为聚集主键,创建目的表时也会被转换为非聚集主键;
外键:“WITH INDEX”:为唯一约束/主键自动创建索引。
C.约束
外键:工具会在目标数据库的子表上创建外键约束;
唯一约束:工具会在目标表的指定列上创建唯一约束。
D.索引
“异步索引”:先迁移数据,再创建索引,可大幅提高大数据量的迁移速度。
E.注释
F.数据
主键冲突处理:设置为"覆盖",表示遇到主键冲突时,用源数据覆盖目标数据
G.大字段与普通表的区别设置
源一次读取行数 (1024):从源数据库一次读取多少行数据。值越大,内存占用越高,但可能速度更快。
目的一次提交行数 (1024):向目标数据库一次提交多少行数据。值越大,事务越少,迁移效率越高,但失败回滚时间更长。
缓存批数 (2):在内存中缓存多少个批次的数据。
并发导出/导入,并发数 (2):启用多线程来同时读写数据,充分利用CPU和I/O资源,显著提升大表迁移速度。
H.选择方案
首次迁移(空目标库):“如果目的表存在"设为"不处理”(让其报错),确保环境干净。勾选所有约束和索引。
覆盖迁移(清空目标表):“如果目的表存在"设为"先删除"或"删除后拷贝记录”
增量迁移(追加数据):“如果目的表存在"设为"跳过”,并取消勾选"删除后拷贝记录"。务必处理好主键冲突。
大数据量表:启用"异步索引"和"使用快速装载",并适当增加并发数、读取/提交行数。
结构不一致的表:切换到"列映射选项"选项卡,手动调整列的对应关系。
11、审阅迁移任务
12、开始执行任务
注意事项
1、迁移前准备
提前规划好用户,模式表空间,形式是以登录目标表体现,如果以SYSDBA登录,则默认迁移到main表空间
向客户询问数据量,配置,以便提前规划传输并发量,提高传输速度
2、错误总结:
字符集与字段长度映射错误:源库(如Oracle)与目标库(DM)的字符集和字符定义单位不同,导致数据截断或溢出。
记录超长错误:有行长度限制(受数据库页大小影响),超过页大小1/2会报错
外键约束添加失败:迁移后,因数据加载顺序或依赖关系,直接添加外键会失败。
跨模式外键引用错误:迁移工具默认不保留引用表的模式(Schema)
存过迁移时,语法迁移错误
文章
阅读量
获赞
