注册
记录一次 DataWatch 主备集群 数据库软件升级
专栏/技术分享/ 文章详情 /

记录一次 DataWatch 主备集群 数据库软件升级

dm-9527 2026/09/18 181 0 0
摘要

背景

Datawatch 数据库软件版本升级。
由03134284488-20260212-314192-20200 -升级-> 03134284604-20260905-347822-20228 Pack11

目录规划

当前数据库软件存放路径:
/dm/dmdbms/
新版本软件临时存放路径:
/dm/dmdbms2/

升级前准备工作

新版本临时目录创建

mkdir -p /dm/dmdbms2
chown dmdba.dinstall  /dm/dmdbms2
chmod 775  /dm/dmdbms2
chown -R  dmdba.dinstall  /soft

软件安装包上传

[root@ soft]# md5sum dm8_20260907_x86_kylin10_sp1_64.iso
cb84984c088aa2ba6eb2eac3a4092df1 dm8_20260907_x86_kylin10_sp1_64.iso

软件备份

[root@ ~]# su - dmdba
[dmdba@ ~]# cd /soft
[dmdba@ ~]# mkdir backupdmdbms
[dmdba@ ~]# cd /soft/backupdmdbms
[dmdba@ ~]# tar -Ppzcvf /soft/backupdmdbms/dmdbmsbak.tar.gz  /dm/dmdbms 

[root@ ~]# cp /etc/dm_svc.conf /soft/backupdmdbms/
[root@ ~]# ls -l /usr/lib/systemd/system/Dm*
-rw-r--r-- 1 root root 449 Jun 30 14:57 /usr/lib/systemd/system/DmAPService.service
-rw-r--r-- 1 root root 448 Aug 21 13:33 /usr/lib/systemd/system/DmServiceDW01.service
-rw-r--r-- 1 root root 490 Aug 21 13:35 /usr/lib/systemd/system/DmWatcherServicewatcher.service
[root@ ~]# cp /usr/lib/systemd/system/Dm* /soft/backupdmdbms

挂载ISO

[root@ soft]# mount -o loop /soft/dm8_20260907_x86_kylin10_sp1_64.iso  /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.
[root@ soft]# df -Th
Filesystem Type    Size  Used Avail Use% Mounted on 
/dev/loop0 iso9660 911M  911M     0 100% /mnt

新软件安装

[root@ soft]# su - dmdba 
Last login: Thu Sep 10 23:50:02 CST 2026 on pts/2

[dmdba@ ~]$ cd /mnt
[dmdba@ mnt]$ ./DMInstall.bin -i
Installer Language: 
[1]: 简体中文
[2]: English
Please select the installer's language [2]:1
解压安装程序......... 
硬件架构校验通过!
欢迎使用达梦数据库安装程序
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n
是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
设置时区:
[ 1]: (GTM-12:00) 日界线西
[ 2]: (GTM-11:00) 萨摩亚群岛
[ 3]: (GTM-10:00) 夏威夷
[ 4]: (GTM-09:00) 阿拉斯加
[ 5]: (GTM-08:00) 太平洋时间(美国和加拿大)
[ 6]: (GTM-07:00) 亚利桑那
[ 7]: (GTM-06:00) 中部时间(美国和加拿大)
[ 8]: (GTM-05:00) 东部时间(美国和加拿大)
[ 9]: (GTM-04:00) 大西洋时间(美国和加拿大)
[10]: (GTM-03:00) 巴西利亚
[11]: (GTM-02:00) 中大西洋
[12]: (GTM-01:00) 亚速尔群岛
[13]: (GTM) 格林威治标准时间
[14]: (GTM+01:00) 萨拉热窝
[15]: (GTM+02:00) 开罗
[16]: (GTM+03:00) 莫斯科
[17]: (GTM+04:00) 阿布扎比
[18]: (GTM+05:00) 伊斯兰堡
[19]: (GTM+06:00) 达卡
[20]: (GTM+07:00) 曼谷,河内
[21]: (GTM+08:00) 中国标准时间
[22]: (GTM+09:00) 首尔
[23]: (GTM+10:00) 关岛
[24]: (GTM+11:00) 所罗门群岛
[25]: (GTM+12:00) 斐济
[26]: (GTM+13:00) 努库阿洛法
[27]: (GTM+14:00) 基里巴斯
请选择时区 [21]:21
安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 2094M
请选择安装目录 [/home/dmdba/dmdbms]:/dm/dmdbms2
可用空间: 52G
是否确认安装路径(/dm/dmdbms2)? (Y/y:是 N/n:否) [Y/y]:y
安装前小结
安装位置: /dm/dmdbms2
所需空间: 2094M
可用空间: 52G
版本信息: 
有效日期: 
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
配置文件/etc/dm_svc.conf已存在,是否进行替换? (Y/y,N/n) [Y/y]:n
2026-09-10 23:56:03 
[INFO] 安装达梦数据库...
2026-09-10 23:56:03 
[INFO] 安装 基础 模块...
2026-09-10 23:56:06 
[INFO] 安装 服务器 模块...
2026-09-10 23:56:07 
[INFO] 安装 客户端 模块...
2026-09-10 23:56:08 
[INFO] 安装 驱动 模块...
2026-09-10 23:56:08 
[INFO] 安装 手册 模块...
2026-09-10 23:56:09 
[INFO] 安装 服务 模块...
2026-09-10 23:56:09 
[INFO] 移动日志文件。
2026-09-10 23:56:11 
[INFO] 安装达梦数据库完成。

请以root系统用户执行命令:
/dm/dmdbms2/script/root/root_installer.sh
安装结束
!!!!这个脚本不要执行

版本检查

[dmdba@ ~]$ cd /dm/dmdbms/bin
[dmdba@ bin]$ ./dmserver -v
Invalid input -v
dmserver V8
version: 03134284488-20260212-314192-20200

软件升级

停服务

1)停机流程
a.停监视器服务 
  [dmdba@二节点 ~]$ DmMonitorServiceDWBD stop

b.停watch服务
  [dmdba@二节点 ~]$ DmWatcherServiceDWBD stop
  [dmdba@一节点 ~]$ DmWatcherServiceDWBD stop

c.停数据库服务
  [dmdba@一节点 ~]$ DmServiceDWBD stop
  [dmdba@二节点 ~]$ DmServiceDWBD stop

2)确认进程已全部退出:
   ps -ef | grep -E "dmserver|dmwatcher|dmmonitor"

新老软件目录比对

image.png
将多余的目录备份。

主备库软件升级

[dmdba@ dmdbms]$ mkdir -p /soft/backupdmdbms/dmdbms
-- root 用户 mv 
[root@ dmdbms]# mv * /soft/backupdmdbms/dmdbms

[root@ ~]# su - dmdba
[dmdba@ ~]$ cp -rp /dm/dmdbms2/* /dm/dmdbms/

软件目录dmdbms2 批量更换

[root@ ]# grep -rnlI '/dm/dmdbms/' -e 'dmdbms2'
/dm/dmdbms/tool/log4j.xml
/dm/dmdbms/bin/DmAPService
/dm/dmdbms/bin/DmAuditMonitorService
/dm/dmdbms/bin/DmInstanceMonitorService
/dm/dmdbms/bin/DmJobMonitorService
/dm/dmdbms/bin/service_template/DmMonitorService
/dm/dmdbms/bin/service_template/DmNetSvrService
/dm/dmdbms/bin/service_template/DmService
/dm/dmdbms/bin/service_template/DmWatcherService
/dm/dmdbms/bin/service_template/DmAPService
/dm/dmdbms/bin/service_template/DmASMSvrService
/dm/dmdbms/bin/service_template/DmASMSvrmService
/dm/dmdbms/bin/service_template/DmCSSMonitorService
/dm/dmdbms/bin/service_template/DmCSSService
/dm/dmdbms/bin/service_template/DmDpSvrService
/dm/dmdbms/bin/service_template/DmGroupMonitorService

/dm/dmdbms/log/install_ant.log  	--- 可忽略

/dm/dmdbms/script/root/dm_service_installer.sh
/dm/dmdbms/script/root/dm_service_uninstaller.sh
/dm/dmdbms/script/root/root_installer.sh

批量更换:
[root@ root]# grep -rlI --exclude="install_ant.log" 'dmdbms2' /dm/dmdbms/ | xargs sed -i 's/dmdbms2/dmdbms/g'
[root@ root]# grep -rnlI --exclude="install_ant.log" '/dm/dmdbms/' -e 'dmdbms2'

软件版本验证

[dmdba@ ~]$ cd /dm/dmdbms/bin
[dmdba@ bin]$ ./dmserver -v
Invalid input -v
dmserver V8
version: 03134284604-20260905-347822-20228 Pack11

清理环境变量

[dmdba@ ~]$ cat .bash_profile 
# Source /root/.bashrc if user has one
[ -f ~/.bashrc ] && . ~/.bashrc
export LD_LIBRARY_PATH=$DM_HOME/bin:/usr/lib:/usr/lib64:$LD_LIBRARY_PATH
export DM_HOME=/dm/dmdbms
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm/dmdbms2/bin"
export DM_HOME="/dm/dmdbms2"

[dmdba@ ~]$ vi .bash_profile 

[dmdba@ ~]$ cat .bash_profile 
# Source /root/.bashrc if user has one
[ -f ~/.bashrc ] && . ~/.bashrc
export LD_LIBRARY_PATH=$DM_HOME/bin:/usr/lib:/usr/lib64:$LD_LIBRARY_PATH
export DM_HOME=/dm/dmdbms
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool

脚本执行(执行新版本的系统环境配置)

执行新目录下的 root 引导脚本,刷新系统级依赖与环境限制配置:
/dm/dmdbms/script/root/root_installer.sh

[root@ ~]# /dm/dmdbms/script/root/root_installer.sh
创建DmAPService服务
创建服务(DmAPService)完成
启动DmAPService服务

服务注册

[root@  ~]# cd /dm/dmdbms/script/root

[root@ root]# sh dm_service_installer.sh -t dmserver -p DW01 -dm_ini /data/DAMENG/dm.ini -m mount
创建服务(DmServiceDW01)完成

[root@ root]# sh dm_service_installer.sh -t dmwatcher -p watcher -watcher_ini /data/DAMENG/dmwatcher.ini
创建服务(DmWatcherServicewatcher)完成

[root@ root]# sh dm_service_installer.sh -t dmmonitor -monitor_ini /dm/dmdbms/dmmonitor/dmmonitor.ini  -p Monitor
创建服务(DmWatcherServicemonitor)完成

启动数据库服务

1)启动数据库服务
第一步
[dmdba@一节点 ~]$ DmServiceDWBD start
第二步
[dmdba@二节点 ~]$ DmServiceDWBD start
2)启动watch服务
第一步
[dmdba@一节点 ~]$ DmWatcherServiceDWBD start
第二步 
[dmdba@二节点 ~]$ DmWatcherServiceDWBD start
3)启动监视器服务 
[dmdba@二节点 ~]$ DmMonitorServiceDWBD start

查看主备同步状态

image.png

登陆数据库更新系统包与视图包

[dmdba@一节点 ~]$ disql sysdba/****:5236

SP_CREATE_SYSTEM_PACKAGES(0); 删除系统包
SP_CREATE_SYSTEM_VIEWS(0); 删除系统视图
SP_CREATE_SYSTEM_PACKAGES(1); 重建系统包
SP_CREATE_SYSTEM_VIEWS(1); 重建系统视图

删除临时目录

[root@ root]# cd /dm
[root@ dm]# rm -rf dmdbms2/
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服