联机增量迁移DM数据库

Posted yangeoooo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了联机增量迁移DM数据库相关的知识,希望对你有一定的参考价值。

在实际生产环境中,我们需要在很短的时间内完成数据库的迁移,传统的备份还原方式用时比较久,可能无法满足迁移需求。这就需要联机增量迁移的方式来对数据库进行迁移。原理:通过备份集对目标库进行还原来重建数据文件、联机日志文件,更新控制文件等操作,并在恢复阶段重做归档日志将目标库恢复到最新状态。

本章内容已在如下环境上测试:
操作系统:中标麒麟7、windows10
数据库版本:达梦8
相关关键字:DM8,联机迁移、增量迁移

概述:我们有两台数据库服务器分别为:源服务器(中标麒麟7、DM8),目标服务器(windows10、DM8),现在要将源服务器数据库的数据联机增量迁移到目标服务器中,源库一定要开启归档。

具体操作步骤如下:
PART1查看源库的模式
select name,arch_mode from v$database;

如果没有开启归档,则开启归档模式:
alter database mount
alter database add archivelog‘type=local,dest=/dm/arch,file_,space_limit=0’;
alter database open

PART2查看源库的数据文件等路径
select file_name,tablespace_name from dba_data_files;

PART3拷贝源服务器的数据库相关文件到目标库
(1)记录源库的BEGIN_LSN/BEGIN_SEQ信息
开始拷贝前,调用系统过程SP_BACKUP_COPY,记录当前系统BEGIN_LSN/BEGIN_SEQ信息修改参数文件
SP_BACKUP_COPY_BEGIN()

(2)用xftp软件拷贝A服务器数据库相关文件到B服务器的相关目录中
图片

(3)拷贝结束后,调用系统过程SP_BACKUP_COPY_END,生成一个备份集文件
SP_BACKUP_COPY_END(’/dm8/backup/bak_copy’)
图片

(4)将源服务器生成备份集文件拷贝到目标服务器上

PART4
修改目标服务器上的参数文件和控制文件

(1)修改参数文件
将参数文件dm.ini中,涉及到路径/dm8/data/DAMENG,全部替换为D:\\dmdbms\\data

(2)修改控制文件
①将二进制文件转换为文本文件,然后对内容进行编辑
dmctlcvt TYPE=1 SRC=D:\\dmdbms\\data\\dm.ctl DEST=D:\\dmdbms\\data\\dmctl.txt

②将dmctl.txt文件中涉及到路径/dm8/data/DAMENG,全部替换为D:\\dmdbms\\data
③将文本文件dmctl.txt转换为二进制文件dm.ctl

PART5
将目标服务器的数据库启动到配置(mount)状态

(1)启动达梦数据库配置助手,选择注册数据库服务
(2)选择参数文件

PART6
在目标服务器进行数据库的还原恢复

(1)关闭数据库
(2)执行还原
dmrman
restore database ‘D:\\dmdbms\\data\\dm.ini’ from backupset ‘D:\\dmdbms\\backup’;

(3)将源服务器上新生成的归档日志文件拷贝到目标服务器的归档路径中

(4)执行恢复
RECOVER DATABASE ‘D:\\dmdbms\\data\\dm.ini’ WITH ARCHIVEDIR ‘D:\\dmdbms\\arch’;

RECOVER DATABASE ‘D:\\dmdbms\\data\\dm.ini’ UPDATE DB_MAGIC;

(5)启动目标服务器上的数据库
alter database open;

注意事项:
(1)数据库必须要开启归档;
(2)当调用系统过程SP_BACKUP_COPY_BEGIN后,就不能再进行create tablespace/drop tablespace等操作;
(3)SP_BACKUP_COPY_BEGIN和SP_BACKUP_COPY_END必须在同一个会话中执行;
(4)当执行UPDATEDB_MAGIC操作后,就不能再进行归档日志的增量恢复,只能打开数据库。

以上是关于联机增量迁移DM数据库的主要内容,如果未能解决你的问题,请参考以下文章

联机增量迁移DM数据库

联机增量迁移DM数据库

DM8数据库增量备份和恢复

DM8数据库增量备份和恢复

TiDB 的数据迁移工具现已开源

DM数据库迁移