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 风险提示
连接旧环境查询非默认配置参数。
#使用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工具完成所有对象迁移。
如果源库使用了length_in_char参数,则需要配置varchar类型映射,如果未使用则忽略此步骤。
新建迁移:
选择迁移类型DM-DM:
输入源数据环境连接信息:
输入目的端新环境连接信息:
选择迁移对象:
点击“转换”,配置迁移属性:
点击“应用当前选项到其它同类对象”,选择其它对象后点击确定:
点击完成,进行迁移:
迁移完成后,检查迁移报告:
迁移报告无异常
迁移完成后,在数据库收集该用户统计信息,并备份数据。
6.3.2 数据对比
对于迁移完成的目标端和源端数据进行比对。
具体比对骤如下:
新建对比,输入源端和目标端连接信息
选择对比模式和对象类型
添加源端对象,按源端数据排序比对
点击完成,进行比对
检查比对结构和数据
检查数据比对报告
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>
文章
阅读量
获赞
