DMDSC 可以确保在不中断数据库服务的情况下,实现滚动升级。
滚动升级过程中,各节点轮流进行升级,最后升级主控 CSS 所在节点。将待升级的DMDSC 节点单独退出并升级,活动节点继续对外提供服务。
滚动升级操作步骤如下:
以两节点的 DMDSC 举例说明,假设节点 2 为主控 CSS 所在节点。
第一步 退出节点 1、升级节点 1、再启动节点 1。此时活动节点 2 继续对外提供服务。
首先,正常退出本节点上的各服务(DMCSS、DMASMSVR 和 DMSERVER)。先退出DMSERVER,可通过执行SQL语句“stop instance;”完成,再依次退出DMASMSVR和DMCSS。
其次,重新安装新版本服务器,或者直接将新的执行程序和动态库替换旧版本。
最后,再启动本节点上的各服务。依次启动 DMCSS、DMASMSVR 和 DMSERVER。
第二步 退出节点 2、升级节点 2、再启动节点 2。此时活动节点 1 继续对外提供服务。
节点 2 的升级步骤和节点 1 完全相同。至此,两节点的 DMDSC 滚动升级完成
1 升级前检查
1.1 查看版本是否支持滚动升级
2021年9月月度版及以后版本新增函数用于获取DSC/数据守护滚动升级版本号,只有版本号一致的两个版本支持滚动升级。版本号不一致的数据库版本升级需要先测试环境测试。
方法一(联机):
SQL> SELECT ROLLING_UPDATE_ID;
方法二(脱机):
./disql -ru_id
版本说明:
dsc[1]:DSC滚动升级版本号为1
dw1[1]:数据守护滚动升级版本号为1
1.2 查询数据库版本
方法一(联机):
SQL> SELECT ID_CODE;
–03134284194-20241022-246636-20108 Pack26 企业版 8.1.3.162
方法二(脱机):
./disql -id
2 升级准备工作
2.1 准备新版本的数据库
创建实例简单测试新版本数据库是否可用:
./dminit path=/home/dmdba/dmdbms_10/data/
2.2 进行数据库全备
登录disql进行备份,也可以使用其它方式进行备份。
./disql SYSDBA/SYSDBA@192.168.182.129:5236
Sql>BACKUP DATABASE BACKUPSET ‘/home/dmdba/dsc_cfg/dsc0_config/db_back’ COMPRESSED LEVEL 5 PARALLEL 8;
使用dmrman校验备份。
RMAN>CHECK BACKUPSET ‘/home/dmdba/dsc_cfg/dsc0_config/db_back’;
3 升级具体步骤
关闭自动拉起
3.1 退出节点2的 DSC1 服务
登录disql
./disql SYSDBA/damengdba@192.168.182.129:5236
停止节点2的 DSC0 服务。此处可能耗时较久。
Sql>STOP INSTANCE;
查看dmcssm:看到下图标注信息表示成功。
3.2 退出节点2的dmasmsvr服务
查询节点节点2的dmasmsvr的端口号。
ps -ef|grep dmasmsvr
停止dmasmsvr 服务。注意:直接kill pid,不要用kill -9。
再次查询确认已关闭
3.3 退出节点2的dmcss
查询节点节点2的dmcss的端口号。
ps -ef|grep dmcss
停止dmcss 服务。注意:直接kill pid,不要用kill -9。
再次查询确认已关闭
3.4 停止dsc集群dmap服务
./DmAPService stop
3.5 升级节点2的数据库版本
将新版本执行程序以及动态库替换掉老版本的执行程序以及动态库(先 mv 移走8月月度版的所有执行码,在将新版本的执行码放到之前老版本的目录。若正常升级成功之后,没有问题,则可以将老版本执行码删除)。
备份旧版本的bin。
mv -f bin/ bin20250825
安装新版本,到时区这一步停止,此时bin目录已经生成,/tmp/DMInstall/source下
替换新版本的执行码。
cp -rp /tmp/DMInstall/source/bin /home/dmdba/dmdbms
将旧bin目录下Dm服务和key拷贝至bin目录
[dmdba@rac02 bin_20250825]$ ls Dm*
[dmdba@rac02 bin_20250825]$ cp Dm* …/bin
3.6 重新启动节点2的所有服务
启动dmap服务。
./DmAPService start
依次启动 dmcss,dmasmsvr,dmserver【也可以用服务名的方式启动】
./dmcss DCR_INI=/home/dmdba/dmdbms/dsc_config/dmdcr.ini 【./DmCSSServiceCSS start】
./dmasmsvr DCR_INI=/home/dmdba/dmdbms/dsc_config/dmdcr.ini 【./DmASMSvrServiceASM start】
待ASM 服务正常加入成功之后,再启动DSC服务
./dmserver /home/dmdba/dmdbms/dsc_config/DSC0/dm.ini dcr_ini=/home/dmdba/dmdbms/dsc_config/dmdcr.ini 【./DmServiceDSC start】
查看dmcssm控制台:节点正常加入。查看相关状态是否无异常。
3.7 查看节点2数据库版本是否升级成功
登录disql查看id_code是否和新版本一致。
./disql SYSDBA/SYSDBA@192.168.182.129:5236
SELECT ID_CODE
,BUILD_TYPE
, TO_NUMBER(SUBSTR(VER,1,2),‘XX’)
||’.’||TO_NUMBER(SUBSTR(VER,3,2),‘XX’)
||’.’||TO_NUMBER(SUBSTR(VER,5,2),‘XX’)
||’.’||TO_NUMBER(SUBSTR(VER,7,2),‘XX’) AS INNER_VER
FROM (SELECT DECODE(SUBSTR(VER,1,2),‘03’,‘企业版’,‘05’,‘安全版’,‘02’,‘标准版’,‘其他’) AS BUILD_TYPE
,RAWTOHEX(CAST(SUBSTR(VER,3) AS INT)) AS VER
FROM (SELECT REGEXP_SUBSTR(ID_CODE,’[^-]+’,1,1) AS VER)
);
行号 ID_CODE BUILD_TYPE INNER_VER
1 --03134284368-20250728-285229-20149 Pack24 企业版 8.1.4.80
3.8 升级其它节点
1,重复操作节点2升级步骤升级其它节点。
2,使用4.7节的方法,检查所有节点数据库版本是否一致。
文章
阅读量
获赞