达梦数据库-数据库单机版本升级-记录总结
小版本升级,直接替换数据库软件。本机直接替换数据库软件目录,异机通过数据库物理备份恢复或拷贝数据库实例的物理文件完成。
跨版本升级,升级数据库软件+数据迁移(导出导入dexp 和 dimp或DTS)。
注意:生产环境操作要谨慎,务必数据库备份操作,如果版本跨度大,务必先异机升级演练。
1.1新安装数据库软件,目录可不同
(1)如果本地升级后,数据库软件目录可以不同
异机升级演练测试
升级前环境检查,数据库备份,异机安装新版本数据库软件,数据库还原,启动运行数据库。
正式环境升级
升级前环境检查,停止生产业务,数据库备份,停止数据库服务,卸载数据库相关服务,操作系统级别备份(拷贝数据库相关文件,如果是升级主备集群,尽量做,便于快速回退),安装新版本数据库软件到新目录,重启注册数据库相关服务(或者把旧数据库目录中相关服务文件直接拷贝到新目录),启动数据库并登录,执行重建系统包和系统视图,数据库全备份。
(2)如果本地升级,数据库软件目录要求相同
异机升级演练测试
正式数据库升级
升级前环境检查,停止生产业务,数据库备份,停止数据库服务,卸载数据库相关服务,操作系统级别备份(拷贝数据库相关文件,如果是升级主备集群,尽量做,便于快速回退),旧数据库目录更名,安装新版本数据库软件到旧同名目录,重启注册数据库相关服务(或者把旧数据库目录中相关服务文件直接拷贝到旧同名目录),注意修改环境变量,启动数据库并登录,执行重建系统包和系统视图,数据库全备份。
1.2先安装新数据库软件到新目录,然后改目录名称
升级前环境检查,停止生产业务,数据库备份,停止数据库服务,卸载数据库相关服务,操作系统级别备份(拷贝数据库相关文件,如果是升级主备集群,尽量做,便于快速回退),旧数据库目录更名,重启注册数据库相关服务(或者把旧数据库目录中相关服务文件直接拷贝到旧同名目录),注意修改环境变量,启动数据库并登录,执行重建系统包和系统视图,数据库全备份。
1.3升级示例-先安装新数据库软件到新目录,然后改目录名称
(1)环境准备
测试环境:
--DM v8 --03134284368-20251226-308318-20149 Pack54 + Kylin 10 + x86_64
数据库软件安装目录 /opt/dmdbms
数据库实例目录 /data/dmdata/DAMENG
已经安装部署好。

(2)示例需求
数据库升级到03134284368-20260306-316451-20149,数据库软件安装目录保持相同。
(3)环境检查
了解数据库服务情况。
dmdba@localhost.localdomain:/home/dmdba\]$ ps -ef\|grep dmdba \[root@localhost \~\]# systemctl list-unit-files  了解数据库环境目录使用情况,是否和数据库软件目录相关。 --是否开启空间数据应用 SELECT SF_CHECK_GE02_SYS; --数据库表空间目录 SELECT TS.NAME, DF.PATH FROM V$TABLESPACE AS TS, V$DATAFILE AS DF WHERE TS.ID = DF.GROUP_ID; --归档情况 select ARCH_TYPE,ARCH_DEST,ARCH_FILE_SIZE,ARCH_SPACE_LIMIT from v$dm_arch_ini; --日志跟踪开启情况 SELECT PARA_NAME,PARA_VALUE FROM V$DM_INI WHERE PARA_NAME IN('PORT_NUM','SVR_LOG','ARCH_INI');  cat /data/dmdata/DAMENG/sqllog.ini **(4)停止业务,数据库备份** --示例中已配置备份作业,如果没有配置作业,可以直接使用备份命令 select \* from SYSJOB.SYSJOBS; select \* from SYSJOB.SYSJOBSTEPS; select \* from SYSJOB.SYSJOBSCHEDULES; SP_DBMS_JOB_RUN (1774965197); ll /data/dmbak/DAMENG/bak/  或者 BACKUP DATABASE FULL BACKUPSET '/data/dmbak/DAMENG/dmdb_full01'; **(5)安装新版本数据库软件到目录/opt/dmdbms2** \[root@localhost dmsoft\]# mount -o loop dm8_20260306_x86_kylin10_sp1_64.iso /mnt \[root@localhost dmsoft\]# su - dmdba \[dmdba@localhost.localdomain:/home/dmdba\]$ cd /mnt \[dmdba@localhost.localdomain:/mnt\]$ ./DMInstall.bin -i  安装新版本软件过程中,执行/opt/dmdbms2/script/root/root_installer.sh会覆盖旧的DmAPService注册。重启机器后,启动的DmAPService是新注册的。  **(6)停止数据库相关服务** \[root@localhost \~\]# systemctl stop DmServiceDAMENG.service \[root@localhost \~\]# systemctl stop DmAPService.service \[root@localhost \~\]# ps -ef\|grep dmdba 同时注意注释环境变量(新安装软件会添加环境变量)  根据情况进行数据库实例目录拷贝 cp -r /data/dmdata/DAMENG /data/dmdata/DAMENG_BAK **(7)卸载数据库相关服务** /opt/dmdbms2/script/root/dm_service_uninstaller.sh -n DmAPService bash /opt/dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceDAMENG **(8)旧目录更名** mv /opt/dmdbms /opt/dmdbms_old cp -r /opt/dmdbms2 /opt/dmdbms chown -R dmdba:dinstall /opt/dmdbms **(9)注册数据库相关服务并启动** --修改/opt/dmdbms/script/root/dm_service_installer.sh中路径  --修改/opt/dmdbms/bin/DmAPService中路径  --重新注册 /opt/dmdbms/script/root/dm_service_installer.sh -t dmap -s /opt/dmdbms/bin/DmAPService /opt/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /data/dmdata/DAMENG/dm.ini -p DAMENG --检查/opt/dmdbms/bin/DmServiceDAMENG中路径,不对则修改 --启动数据库相关服务 \[root@localhost \~\]# systemctl start DmAPService.service \[root@localhost \~\]# systemctl enable DmAPService.service \[root@localhost \~\]# systemctl start DmServiceDAMENG.service \[root@localhost \~\]# systemctl enable DmAPService.service 注: (1)路径没有设置正确导致服务不能正常启动,修改DmServiceDAMENG中路径即可 (2)也可以直接不卸载数据库相关服务,直接拷贝旧目录下服务命令到新同名目录下即可。 cp /opt/dmdbms_old/DmServiceDAMENG /opt/dmdbms/ cp /opt/dmdbms_old/DmAPService /opt/dmdbms/ **(10)登录数据库查询版本,执行重建系统包和系统视图** **,数据库全备份等。** select \* from v$version; SP_CREATE_SYSTEM_PACKAGES(0); SP_CREATE_SYSTEM_PACKAGES(1); SP_CREATE_SYSTEM_VIEWS(0); SP_CREATE_SYSTEM_VIEWS(1);  更多达梦数据库运维指南、在线文档、相关资料、社区在线提问以及技术分享 访问 [https://eco.dameng.com/](https://eco.dameng.com/ "https://eco.dameng.com/")