0
点赞
收藏
分享

微信扫一扫

联机增量迁移DM数据库

攻城狮Chova 2022-02-15 阅读 31

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

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

具体操作步骤如下:

1

查看源库的模式

select name,arch_mode from v$database;

  

     如果没有开启归档,则开启归档模式:

alter database mountalter database add archivelog‘type=local,dest=/dm/arch,file_,space_limit=0’;alter database open

2

查看源库的数据文件等路径

select file_name,tablespace_name from dba_data_files;

3

拷贝源服务器的数据库相关文件到目标库

     (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)将源服务器生成备份集文件拷贝到目标服务器上

4

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

 (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

5

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

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

(2)选择参数文件

6

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

     (1)关闭数据库

(2)执行还原​​​​​​​

dmrmanrestore 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)启动目标服务器上的数据库

注意事项:

(1)数据库必须要开启归档;

(2)当调用系统过程SP_BACKUP_COPY_BEGIN后,就不能再进行create tablespace/drop tablespace等操作;

(3)SP_BACKUP_COPY_BEGIN和SP_BACKUP_COPY_END必须在同一个会话中执行;

(4)当执行UPDATEDB_MAGIC操作后,就不能再进行归档日志的增量恢复,只能打开数据库。

举报

相关推荐

0 条评论