达梦数据库-数据库单机版本升级-记录总结

达梦数据库-数据库单机版本升级-记录总结

小版本升级,直接替换数据库软件。本机直接替换数据库软件目录,异机通过数据库物理备份恢复或拷贝数据库实例的物理文件完成。

跨版本升级,升级数据库软件+数据迁移(导出导入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 ![](https://i-blog.csdnimg.cn/direct/0ce19b3dfc3e45afbff88cbbef7ad870.png) 了解数据库环境目录使用情况,是否和数据库软件目录相关。 --是否开启空间数据应用 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'); ![](https://i-blog.csdnimg.cn/direct/070edebcbdce4da0aa5bb664dbcee953.png) 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/ ![](https://i-blog.csdnimg.cn/direct/b8ca6f56b81c4934a52c77f4cea22941.png) 或者 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 ![](https://i-blog.csdnimg.cn/direct/262aa43beaff454db96fa2aa446e7dda.png) 安装新版本软件过程中,执行/opt/dmdbms2/script/root/root_installer.sh会覆盖旧的DmAPService注册。重启机器后,启动的DmAPService是新注册的。 ![](https://i-blog.csdnimg.cn/direct/a0843b1094214cbb888b24b379069337.png) **(6)停止数据库相关服务** \[root@localhost \~\]# systemctl stop DmServiceDAMENG.service \[root@localhost \~\]# systemctl stop DmAPService.service \[root@localhost \~\]# ps -ef\|grep dmdba 同时注意注释环境变量(新安装软件会添加环境变量) ![](https://i-blog.csdnimg.cn/direct/f8fe24d731f24f0a8fb9a2e2ef71f507.png) 根据情况进行数据库实例目录拷贝 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中路径 ![](https://i-blog.csdnimg.cn/direct/06cff09d1c974a8db82f2f27ef1a3060.png) --修改/opt/dmdbms/bin/DmAPService中路径 ![](https://i-blog.csdnimg.cn/direct/1d38f2df1839422c897465124cd7ab11.png) --重新注册 /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://i-blog.csdnimg.cn/direct/86a98590286e4d18933515ac063c4ee6.png) 更多达梦数据库运维指南、在线文档、相关资料、社区在线提问以及技术分享 访问 [https://eco.dameng.com/](https://eco.dameng.com/ "https://eco.dameng.com/")

相关推荐
TechWayfarer5 小时前
离线IP数据库内网部署:场景选型与热更新落地实践
网络·数据库·python·网络协议·tcp/ip
科技牛牛5 小时前
离线IP数据库推荐:风控合规场景怎么选
网络·数据库·tcp/ip·离线ip数据库·.数据安全
不剪发的Tony老师5 小时前
FXDB:一款免费开源的桌面数据库客户端工具
数据库
szccyw05 小时前
如何防止 Laravel 中因动态列名导致的 SQL 注入风险
jvm·数据库·python
zhangchaoxies5 小时前
团队版Navicat专属功能:如何共享数据库架构ER模型_核心机制解析
jvm·数据库·python
2301_795099745 小时前
HTML5中Object标签定义外部资源容器的备份逻辑
jvm·数据库·python
z4424753265 小时前
CSS如何保证移动端顶部Fixed头部的安全区域
jvm·数据库·python
weixin_458580125 小时前
golang如何优化反射性能_golang反射性能优化技巧
jvm·数据库·python
步辞5 小时前
CSS如何解决小屏幕上的长单词截断版面
jvm·数据库·python
qq_460978405 小时前
如何在无向图中找出从任意节点可达的所有节点(连通分量识别)
jvm·数据库·python