上周运维团队共完成4套达梦数据库小版本升级(8.1.3.140升至8.1.3.162)。当要升级的数据库版本与当前最新版的版本相近,比如版本的编译时间相差不大时,可以通过直接替换软件bin目录的方式来完成数据库升级。
二、具体升级步骤

1、升级环境版本确认
升级前版本:8.1.3.140
升级后版本:8.1.3.162
(1)从root用户切换至dmdba用户:
su - dmdba
(2)以SYSDBA的身份连接到达梦数据库
disql SYSDBA
(3)登录数据库查看版本
select * from v$version;select svr_version,db_version,build_version from v$instance;
2、根据操作系统及CPU架构下载对应的安装包
https://download.dameng.com/product/DM8/%E6%9C%88%E5%BA%A6%E7%89%88/2024.06/dm8_20241028_x86_kylin10_64_ent_8.1.3.162_pack27/dm8_20241028_x86_kylin10_64.isohttps://download.dameng.com/product/DM8/%E6%9C%88%E5%BA%A6%E7%89%88/2024.06/dm8_20241028_x86_kylin10_64_ent_8.1.3.162_pack27/dm8_20241028_x86_kylin10_64_ent_8.1.3.162_pack27_symbols.zip
3、上传升级软件包(放到/root/update_pack)
4、停库前逻辑备份
在root用户下执行,保证有足够操作权限。
(1)在/data下创建dmtmp的目录
mkdir -p data/dmtmp
(2)对/data/dmtmp/目录进行授权
chown -R dmdba:dinstall /data/dmtmp/
(3)创建dimp.txt 参数文件
echo "FILE=db_DAMENG_test.dmp LOG=db_exp_DAMENG_test.log FULL=Y DIRECTORY=/data/dmtmp" > /data/dmtmp/dimp.txtFILE=db_DAMENG_test.dmp 指定数据库备份文件名称LOG=db_exp_DAMENG_test.log 指定导出操作的日志文件名称FULL=Y 指示执行全量导出,即导出数据库中的所有数据。DIRECTORY=/data/dmtmp 指定导出文件存放的目录。
(4)将dimp.txt文件的所有权更改为用户dmdba和组dinstall
chown dmdba:dinstall /data/dmtmp/dimp.txt
(5)执行dexp命令进行逻辑备份
切换至达梦数据库所安装的目录的bin目录
cd /data/dm8/bin./dexp USERID=SYSDBA/Test_test@192.168.0.233:5236 parfile=/data/dmtmp/dimp.txt
注:输入自己的SYSDBA密码,并输入自己的服务器IP,Test_test是本次试验环境达梦数据库的SYSDBA的密码,达梦数据库服务器IP为:192.168.0.233
5、停库后备份bin目录
(1)从root用户切换至dmdba用户
su - dmdba
(2)切换至达梦数据库所安装的目录的bin目录下
cd /data/dm8/bin
(3)停库(可以启动数据库后再做一次停库)
./DmServiceDMSERVER stop
(4)可选,调用checkpoint(100)主动刷新检查点后,进行物理全备
cd /data/dm8/bin./dmrmanbackup database '/data/dm8/dm.ini' backupset '/dmdata/bakfull0826';
(5)备份bin目录
mv bin bin_bak_test
6、新版本(8.1.3.162)数据库安装
全部命令以root用户下执行,保证有足够操作权限,或者保证能够用sudo提权亦可。
(1)创建新8.1.3.162安装目录
mkdir -p /data/dmdbms162
(2)对/data/dmdbms162目录进行授权
chown -R dmdba:dinstall /data/dmdbms162
(3)将/data/dmdbms162目录及其所有子目录的权限设置为755
chmod -R 755 /data/dmdbms162
(4)部署新8.1.3.162数据库
切换update_pack目录(此目录是本次升级文件上传目录)cd /root/update_pack
(5)将dm8_20241028_x86_kylin10_64.iso的ISO文件挂载到/mnt目录
mount dm8_20241028_x86_kylin10_64.iso /mnt
(6)复制挂载点/mnt目录下的DMInstall.bin文件到/home/dmdba目录
cp /mnt/DMInstall.bin /home/dmdba
(7)更改/home/dmdba/DMInstall.bin文件的所有者为用户dmdba和所属组dinstall
chown dmdba:dinstall /home/dmdba/DMInstall.bin
(8)以dmdba用户身份执行,安装数据库
su - dmdba -c '/home/dmdba/DMInstall.bin -i'
(9)安装过程如下
[root@sit-dmdb update_pack]# su - dmdba -c '/home/dmdba/DMInstall.bin -i'安装语言:[1]: 简体中文[2]: English请选择安装语言 [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]:安装类型:1 典型安装2 服务器3 客户端4 自定义请选择安装类型的数字序号 [1 典型安装]:所需空间: 2432M请选择安装目录 [/home/dmdba/dmdbms]:/data/dmdbms162可用空间: 383G是否确认安装路径(/data/dmdbms162)? (Y/y:是 N/n:否) [Y/y]:y安装前小结安装位置: /data/dmdbms162所需空间: 2432M可用空间: 383G版本信息:有效日期:安装类型: 典型安装是否确认安装? (Y/y:是 N/n:否):y配置文件/etc/dm_svc.conf已存在,是否进行替换? (Y/y,N/n) [Y/y]:y2024-12-06 21:02:16[INFO] 安装达梦数据库...2024-12-06 21:02:16[INFO] 安装 基础 模块...2024-12-06 21:02:19[INFO] 安装 服务器 模块...2024-12-06 21:02:20[INFO] 安装 客户端 模块...2024-12-06 21:02:22[INFO] 安装 驱动 模块...2024-12-06 21:02:23[INFO] 安装 手册 模块...2024-12-06 21:02:23[INFO] 安装 服务 模块...2024-12-06 21:02:23[INFO] 移动日志文件。2024-12-06 21:02:24[INFO] 安装达梦数据库完成。请以root系统用户执行命令:/data/dmdbms162/script/root/root_installer.sh
(10)安装结束
注意:不要执行/data/dmdbms162/script/root/root_installer.sh
(11)把新8.1.3.162数据库/data/dmdbms162的bin文件拷贝到旧数据库/data/dm8/下。
切换当前用户到dmdba用户
su - dmdba
切换当前工作目录到/data/dm8目录
cd /data/dm8
复制/data/dmdbms162/bin目录及其所有内容到/data/dm8目录下
cp -r /data/dmdbms162/bin /data/dm8/
(12)解决文件至bin目录下
unzip dm8_20241028_x86_kylin10_64_ent_8.1.3.162_pack27_symbols.zip
(13)把备份/data/dm8/bin_test下的DmServiceDMSERVER与dm.key文件拷贝到新的/data/dm8/bin下
cp bin_bak_test/DmServiceDMSERVER bin/cp bin_bak_test/dm.key bin/
7、启动数据库
(1)切换当前用户到dmdba用户
su - dmdba
(2)切换当前工作目录到/data/dm8/bin目录
cd /data/dm8/bin
(3)启动达梦数据库服务
./DmServiceDMSERVER start
(4)重建视图及系统包
sp_create_system_packages(1);sp_create_system_views(1);
三、数据库升级后验证
(1)查看数据库状态
select status$ from v$instance;
(2)查询以下表可以看到授权信息,过期时间(expired_date)为空即表示永不过期。
select * from v$license;
(3)查看数据库版本信息
SQL> SELECT * FROM V$VERSION;行号 BANNER---------- ---------------------------------1 DM Database Server 64 V82 DB Version: 0x7000c3 03134284194-20241025-247332-201084 Msg Version: 145 Gsu level(5) cnt: 064 :版本位数标识,64表示为64位版本,无64则表示为32位版本V8 :数据库的大版本号,当前主流的达梦数据库版本为V8SQL> SQL> select build_version from v$instance;行号 build_version---------- ------------------------------------1 1-3-162-2024.10.25-247332-20108-ENT各字段含义:1-3-162:数据库的小版本号,表示该数据库的版本为8.1.3.1622024.10.25:代表版本编译时间247332:代码SVN号20108:分支代码号ENT:版本标识,代表该数据库版本为ENT企业版




