1 背景
众所周知,IT行业发展日新月异。IT技术革新也是以迅猛著称。
达梦作为最优秀数据库厂商之一在数据库的研发上也是不遗余力,根据市场,客户,前沿技术稳定的对达梦数据库进行迭代。
达梦的数据库新版本在带来更好的服务与最新的体验的前提下,往往也会向下兼容旧版本。以供购买过达梦的客户可以升级到更高的版本,体验最优的服务。
那么如果想对数据库进行更新升级的小伙伴可参考本篇数据库升级实战啦。
升级有两种方式:一种是整库升级,另一种是trunc补丁包升级。本次实战测试将分别对两种升级方式进行说明。
2 升级过程
2.1 相关信息查看
2.1.1 系统信息以及服务进程信息
查看系统信息和数据库服务
hostnamectl #查看系统信息
ps -ef| grep dmdba #查看数据库相关进程
本次测试数据库相关信息如下:
系统信息
数据库相关进程
2.1.2 查看数据文件位置
登录数据库,查看库内数据文件位置
cd /opt/dmdbms/bin #进入DM服务器程序安装的目录
./disql 用户名/密码:端口号 #连接disql工具
select PATH from v$datafile; #查看数据文件信息
结果如下:
2.2 停止服务
2.2.1 停止数据库相关进程
1、查看相关服务
ls Dm* #查看数据库相关服务
结果如下:
2、找到相关服务后,用root用户停止该服务
systemctl stop DmServiceDMSERVER.service
systemctl stop DmAPService.service
3、停止后检查进程是否关闭
ps -ef| grep dmdba
2.2.2 使用前台命令启动数据库并正常关闭
su - dmdba #用DM用户登入操作系统
cd /opt/dmdbms/bin #进入DM服务器程序安装的目录
./dmserver /opt/dmdbms/data/DAMENG/dm.ini #使用前台命令启动数据库
exit #停止数据库
停止成功
2.3 备份
2.3.1 如果是trunc补丁包升级的备份
备份bin目录以及数据库目录,如果在“2.1.2 查看数据文件位置”中查到的数据文件在不同位置,则所有位置都要备份
su dmdba #用DM用户登入操作系统
cd /opt/dmdbms #进入DM安装目录
mv bin bin.bak #备份DM服务器程序安装的目录
cd data #进入数据文件目录
cp -r DAMENG DAMENG.bak #备份整个数据文件目录
2.3.2 如果是整库升级的备份
直接备份整个数据库,如果数据进程和数据文件在两个地方,就分别备份。
mv dmdbms dmdbms.bak
2.4 升级
2.4.1 trunc补丁包升级
1 、检查补丁包并解压缩
unzip trunk8_rel_2107-145981-20210823-HWarm-centos7-64-ent-8.1.2.46-pack4.zip
2、将补丁文件移动到数据库安装目录下并改名
mv trunk8_rel_2107-145981-20210823-HWarm-centos7-64-ent-8.1.2.46-pack4 /opt/dmdbms/
cd /opt/dmdbms/
mv trunk8_rel_2107-145981-20210823-HWarm-centos7-64-ent-8.1.2.46-pack4/ bin
3、chown命令更改bin文件夹的用户
chown -R dmdba. bin
4、到bin.bak下,将服务脚本等文件复制到新的执行码bin下
cd /opt/dmdbms/bin.bak
cp -r bin/ client_ssl/ lib/ pids/ server_ssl/ service_template/ DmServiceDMSERVER DmAPService /opt/dmdbms/bin
5、chmod更改bin目录的执行权限
chmod -R 755 bin
6、到新执行码bin下,前台启动数据库,查看启动是否正常。如果正常启动,接着往下操作;如有问题,则参考下文“失败处理”步骤进行回退
./dmserver /opt/dmdbms/data/DAMENG/dm.ini
7、启动成功,退出前台并用服务启动
启动
./dmserver /opt/dmdbms/data/DAMENG/dm.ini
退出
exit
起服务
systemctl start DmAPService.service
systemctl start DmServiceDMSERVER.service
ps -ef| grep dmdba
检查
netstat -ltnp | grep 25714 --dmserver pid 为25714,检查进程的端口是否监听
2.4.2 整库升级
1、安装数据库
./DMInstall.bin -i
注意 /home/dmdba/dmdbms/script/root/root_installer.sh 不需要执行
2、将备份的服务脚本等文件复制到新的执行码bin下
cd /home/dmdba/dmdbms.bak/bin
cp -r bin/ client_ssl/ lib/ pids/ server_ssl/ service_template/ DmServiceDMSERVER DmAPService /home/dmdba/dmdbms/bin
3、将数据文件复制到原路径下
cd /home/dmdba/dmdbms.bak/
cp -r data/ /home/dmdba/dmdbms/
4、到新执行码bin下,前台启动数据库,查看启动是否正常。如果正常启动,接着往下操作;如有问题,则参考下文“失败处理”步骤进行回退
./dmserver /home/dmdba/dmdbms/data/DAMENG/dm.ini
exit
5、启动服务
./DmAPService start
./DmServiceDMSERVER start
6、查看服务
ps -ef |grep dmserver
3 失败处理
如果在上述升级过程中发生启动失败的情况,记录报错详细信息并联系达梦工程师,同时进行回退操作。
3.1 trunc补丁包回退
1、exit退出,然后将新执行码改名,将原执行码改回
su dmdba
mv bin bin_FAIL_20210910
mv bin.bak bin
2、将数据库回退
cd /opt/dmdbms/data
mv DAMENG DAMENG_FAIL_20210910
cp -r DAMENG.bak DAMENG
3.2 整库版回退
mv dmdbms dmdbms_FALL_20211117
mv dmdbms.bak dmdbms
本文为达梦在线服务平台【与达梦同行】征文活动投稿文章,活动详情
【与达梦同行】 🏆🏆🏆 第一届达梦数据库技术征文大赛来啦!🚀🚀🚀