注册
DTS迁移dm6到dm7(仅迁移数据)
技术分享/ 文章详情 /

DTS迁移dm6到dm7(仅迁移数据)

DM_1511 2023/03/21 1947 3 0
达梦数据库在安装完成后会有一个自带的数据迁移工具,通过DTS数据迁移工具可以实现主流大型数据库迁移到 DM、DM 到 DM、文件迁移到 DM 以及 DM 迁移到文件等功能。本次实操为源端和目的端都存在表,只迁移数据操作。
  1. 备份原目的dm7库的TEST模式
cd /home/dmdba/dm/dmdbms/bin
./dexp TEST/****** file=/dbbak/dmbak/TEST.dmp log=/dbbak/dmbak/TEST.log

image.png
输出此行表示导出完成
2. 确认dm6、dm7的库网络相通,确保dts工具均能连上
dm7禁用所有用户模式触发器

select
        'alter trigger '
        ||owner
        ||'.'
        ||trigger_name
        ||' disable; '
from
        sys.dba_triggers
where
        owner not like 'SYS%'
    and trigger_name not like 'SREF_CON_%';

image.png
3. 禁用dm7的所有触发器和外键

select
        'alter table '
        ||owner
        ||'.'
        ||table_name
        ||' disable constraint '
        ||constraint_name
        ||'; '
from
        sys.dba_constraints
where
        owner not like 'SYS%'
    and constraint_type='R';

image.png

  1. 使用dts工具迁移
    连接到dm7数据库服务器上,打开数据迁移工具dts
cd /home/dmdba/dm/dmdbms/tool
./dts

image.png
image.png
(1) 创建工程
image.png
(2) 新建迁移
image.png
(3) 点击下一步
image.png
(4) 选择DM6--->DM,点击下一步
image.png
(5) 连接DM6,输入主机名、端口、用户名、密码并选择源端数据库为TEST
image.png
(6) 连接dm7,输入主机名、端口、用户名、密码,然后点击下一步
image.png
(7) 在源模式选择TEST,将目的模式选为TEST迁移的对象只选择表,并点击下一步
image.png
(8) 进入选择迁移对象界面,选择需要迁移的对象

image.png
(9) 点击右下的转换按钮,设置表映射关系选择 删除后拷贝记录
image.png
(10) 点击下方应用当前选项到其他同类对象,再点击选择全选表,确定配置
image.png
(11) 点击下一步创建迁移任务
image.png
(12) 点击完成执行

image.png
5. 启动触发器外键
启动外键触发器时可能会有报错 针对报错内容进行处理,直到将所有的触发器和外键都生效。

dm7开启触发器

select
        'alter trigger '
        ||owner
        ||'.'
        ||trigger_name
        ||' enable; '
from
        sys.dba_triggers
where
        owner not like 'SYS%'
    and trigger_name not like 'SREF_CON_%';

dm7开启外键

        'alter table '
        ||owner
        ||'.'
        ||table_name
        ||' enable constraint '
        ||constraint_name
        ||'; '
from
        sys.dba_constraints
where
        owner not like 'SYS%'
    and constraint_type='R';
  1. 其他情况
    (1)DM6与DM7表结构不同
    DTS对于只迁移字段能匹配上的记录,未匹配上的字段不会同步。
    (2)字段映射
    将在转换时选择列映射设置
    image.png
    源端dm6:
    image.png
    目的端dm7:
    image.png
    (3) 对表进行条件查询的迁移
    在指定对象复制或查询时,选择用一条或多条查询执行迁移的数据。
    image.png
    迁移之前需要手动将DM7的表内容清空
    TRUNCATE TABLE TEST.T1;
    image.png
    输入查询语句,过滤实际所需的数据。
    select * from test.t1 where id >=2;
    image.png

注意目标对象需要手填表名
image.png
点击下一步后可以查到迁移概况
image.png
点击完成即可

image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服