注册
版本升级-数据迁移操作方案
培训园地/ 文章详情 /

版本升级-数据迁移操作方案

2026/02/04 1201 0 0

1 方案背景
为修复已知漏洞问题,现需要针对生产环境的数据库版本进行升级,制定升级迁移步骤形成此方案。
2 环境信息
当前版本 DM Database Server 64 V8
03134283968-20240103-214018-20033
8.1.2.192_pack25
待升级版本 DM Database Server 64 V8
03134284368-20250821-288894-20149
8.1.4.80_pack29
架构 4节点数据守护集群、实时归档、自动切换
节点1 主库 节点2 备库
DMSERVER_01 DMSERVER_02
系统环境 Hygon X86 96核 512G内存 麒麟v10 (Sword)
数据量 约525GB
并发、用户 用户数:暂无统计

系统背景/备注
3 操作目标
数据库环境为2节点数据守护集群,本次采用应用停机后,逻辑迁移至新版本环境的方式进行升级。
4 风险提示

  1. 需要应用停机窗口,避免逻辑迁移期间产生新的数据。
    5 操作步骤计划
    5.1 数据库升级步骤计划
    序号 步骤 详细施工内容 操作人 耗时(分钟)
    1 在新环境安装新版本 在新分配的环境安装新版本的数据库主备集群,创建用户、表空间 0
    2 核对两个环境参数 确认旧环境的参数,并在新环境配置 0
    3 数据库备份 数据库进行全库备份 0
    4 关闭应用服务 关闭所有接入数据库的应用服务组件 10
    5 检查数据库会话 检查数据库业务会话并清除会话 5
    6 数据迁移 使用DTS工具完成逻辑数据迁移 5-120
    7 数据备份、更新统计信息 执行命令进行全量备份,更新全库统计信息 5-30
    8 数据对比 使用DTS工具对比或者手动执行语句对比 10
    9 业务系统检查连接配置 应用检查连接配置是否已修改正确,驱动版本是否已更新同步 5
    10 应用启动服务 应用启动服务,验证业务功能 10
    50-190
    总计 分钟
    6 操作方案
    6.1 前提准备工作
    6.1.1 测试库部署新版本后,应用测试验证
    在测试环境部署新版本单机数据库,应用使用最新版本驱动连接数据库进行简单功能性验证。
    6.1.2 申请和原生产环境一致的生产主机环境
    申请一套和原生产环境配置一致的生产主机环境。
    6.1.3 在新环境用新版本部署一套2节点主备集群
    在新环境部署2节点主备集群,部署过程咯。
    根据原环境数据库用户,在新环境创建表空间和用户。
    #使用disql或者DM管理工具连接新环境节点1执行
    cd /home/dmdba/dmdbms/bin
    ./disql SYSDBA/'"密码"'@IP:端口
    CREATE TABLESPACE 用户名 DATAFILE '用户名.DBF' size 128;
    CREATE USER 用户名 IDENTIFIED by "密码" DEFAULT TABLESPACE 用户名 DEFAULT INDEX TABLESPACE 用户名;
    GRANT VTI TO 用户名;
    GRANT PUBLIC TO 用户名;
    GRANT RESOURCE TO 用户名;
    GRANT SOI TO 用户名;
    GRANT SVI TO 用户名;
    6.1.4 核对新旧环境参数配置
    新环境先使用新的参数脚本调整,然后再和旧环境涉及人工调整的参数核对调整。

连接旧环境查询非默认配置参数。
#使用disql或者DM管理工具连接节点2执行备份命令,需要确认当前备份目录空间是否充足
cd /home/dmdba/dmdbms/bin
./disql SYSDBA/'"密码"'@IP:端口
select para_name,para_value,'sp_set_para_value(2,'''||para_name||''','||para_value||');',* from v$dm_ini
where default_value<>para_value
and para_name not like '%DPC%';
确认旧环境的人工调整的非默认值参数,再连接新环境,配置旧环境参数。
#使用disql或者DM管理工具连接新环境节点1主库
cd /home/dmdba/dmdbms/bin
./disql SYSDBA/'"密码"'@IP:端口

6.1.5 变更前主库备份
#使用disql或者DM管理工具连接节点2执行备份命令,需要确认当前备份目录空间是否充足
cd /home/dmdba/dmdbms/bin
./disql SYSDBA/'"密码"'@IP:端口
backup database full backupset '/dm/bak/DB_FULL_202509' compressed level 2 parallel 2 ;
6.2 应用停机
6.2.1 应用停机
对应用所有接入数据库业务的服务进行停机,避免后续新数据产生。
6.2.2 数据库会话检查确认
连接数据库查询会话情况,确认没有应用会话接入。
#使用disql或者DM管理工具连接节点1查询
cd /home/dmdba/dmdbms/bin
./disql SYSDBA/'"密码"'@IP:端口
select * from v$sessions;
6.3 数据从旧环境迁移至新环境
注意:
如果存在定时任务调度(备份任务、统计信息更新、业务数据导出、迁移同步等),需要避开调度时间,或者提前停止。
6.3.1 数据迁移
使用dts工具完成所有对象迁移。

  1. 如果源库使用了length_in_char参数,则需要配置varchar类型映射,如果未使用则忽略此步骤。

  2. 新建迁移:

  3. 选择迁移类型DM-DM:

  4. 输入源数据环境连接信息:

  5. 输入目的端新环境连接信息:

  6. 选择迁移对象:

  7. 点击“转换”,配置迁移属性:

点击“应用当前选项到其它同类对象”,选择其它对象后点击确定:

  1. 点击完成,进行迁移:

  2. 迁移完成后,检查迁移报告:
    迁移报告无异常

  3. 迁移完成后,在数据库收集该用户统计信息,并备份数据。

6.3.2 数据对比
对于迁移完成的目标端和源端数据进行比对。
具体比对骤如下:

  1. 新建对比,输入源端和目标端连接信息

  2. 选择对比模式和对象类型

  3. 添加源端对象,按源端数据排序比对

  4. 点击完成,进行比对

  5. 检查比对结构和数据
    检查数据比对报告

6.4 应用侧jdbc、数据库连接串确认,驱动版本确认
为保障应用侧影响面最小,需要再次核对应用侧的数据库连接串配置,是否所有应用独立部署模块均已使用服务名的方式连接数据库使用,以及驱动版本是否和数据库新环境的版本保持一致或者使用更新的版本。
#连接串配置修改新环境集群的数据库主机IP。
<URL>jdbc:dm://dameng?dameng=(192.168.19.11:5136,192.168.19.12:5136)&loginMode=1&switchTimes=3&switchInterval=1000</URL>
6.5 应用启动验证
应用重新启动所有业务,验证功能。
7 回退方案
回退触发条件
 环境升级后,数据库服务异常,短时间内无法解决
 达梦库提供服务后,无法承担系统并发压力,造成业务缓慢
 达梦库提供服务后,整体环境异常,无法继续提供服务
7.1 应用停机
对应用所有接入数据库业务的服务进行停机,避免后续新数据产生。
7.2 数据库会话检查确认
连接数据库查询会话情况,确认没有应用会话接入。
#使用disql或者DM管理工具连接节点1查询
cd /home/dmdba/dmdbms/bin
./disql SYSDBA/'"密码"'@IP:端口
select * from v$sessions;
7.3 增量数据处理
使用dts迁移工具从新版本数据库主库实例再次全量迁移数据至旧版本数据库主库实例中。
7.4 应用切换旧环境连接配置
应用切换旧环境连接配置后,启动验证应用。
#连接串配置修改旧环境IP。
<URL>jdbc:dm://dameng?dameng=(192.168.19.11:5136,192.168.19.12:5136)&loginMode=1&switchTimes=3&switchInterval=1000</URL>

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服