注册
达梦数据库单机升级操作
技术分享/ 文章详情 /

达梦数据库单机升级操作

Mbj 2025/06/20 232 0 0

版本: V1.0
日期: 2025年6月12日


一、基础环境描述

系统名称 IP地址 架构 当前版本 目标版本
学习环境 192.168.31.11 单机 DM8 V8 (0x7000b) v8.03134284058-20250428-271684-20046 Pack46

二、升级前准备

  1. 检查安装包与系统兼容性

    hostnamectl # 确认系统架构

    image.png
    注:安装包需与系统架构匹配,这里如x86_64的OL7.6

  2. 检查数据库服务状态

    ps -ef | grep dmserver # 确认服务运行及目录信息

    image.png

    • 软件目录:/dm/dmdbms
    • 数据目录:/dmdata/data/DAMENG
  3. 关闭应用连接并清理会话

    #检查活跃会话 SELECT * FROM V$SESSIONS; #检查是否存在待PURGE事务 SELECT * FROM v$PURGE; #主动做检查点刷盘 checkpoint(100); -- 清理会话(若应用无法关闭) BEGIN FOR session IN (SELECT SESS_ID FROM V$SESSIONS) LOOP SP_CANCEL_SESSION_OPERATION(session.SESS_ID); SP_CLOSE_SESSION(session.SESS_ID); END LOOP; END; #必要时进行用户锁定 ALTER USER xxx ACCOUNT LOCK; ALTER USER xxx ACCOUNT UNLOCK;

三、备份关键数据

  1. 停止数据库服务

    /dm/dmdbms/bin/DmServiceDMSERVER stop

    image.png
    image.png

  2. 冷备份数据库(推荐)

    #默认dmap服务是开启状态,检查dmap服务的状态 ps -ef|grep dmap

    image.png

    #进行备份 cd /dm/dmdbms/bin ./dmrman RMAN> BACKUP DATABASE '/opt/dm8/dmdbms/data/DAMENG/dm.ini' BACKUPSET '/opt/dm8/bak20211101';

    image.png

  3. 备份原库目录(可选)

    cp -rpf /dmdata/data/DAMENG /dmdata/data/DAMENG_bak du -sh /dmdata/data/DAMENG* # 验证备份大小

    image.png

  4. 备份数据库软件目录

    #确认停止dmap服务 DmAPservice stop #备份数据库软件目录 cp -rpf /dm/dmdbms /dm/dmdbms_bak

四、安装新版本数据库

  1. 安装流程

    • 使用 dmdba 用户运行新版本安装程序。
    • 安装到原软件目录:/dm/dmdbms
    [root@dms8 soft]# mount -o loop dm8_20250429_x86_rh7_64.iso /mnt mount: /dev/loop0 写保护,将以只读方式挂载 [root@dms8 soft]# ls AutoInit_DM_3.1.5.zip dm8_20210202_x86_rh6_64.iso dm8_20250429_x86_rh7_64.iso [root@dms8 soft]# cd /mnt/ [root@dms8 mnt]# ls DM8 Install.pdf DMInstall.bin [root@dms8 mnt]# su - dmdba 上一次登录:四 6月 12 13:27:51 CST 2025pts/0 上 [dmdba@dms8 ~]$ cd /mnt/ [dmdba@dms8 mnt]$ ls DM8 Install.pdf DMInstall.bin [dmdba@dms8 mnt]$ ./DMInstall.bin -i 请选择安装语言(C/c:中文 E/e:英文) [C/c]: 解压安装程序......... 欢迎使用达梦数据库安装程序 是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n 是否设置时区? (Y/y:是 N/n:否) [Y/y]: 设置时区: [ 1]: GTM-12=日界线西 [ 2]: GTM-11=萨摩亚群岛 [ 3]: GTM-10=夏威夷 [ 4]: GTM-09=阿拉斯加 [ 5]: GTM-08=太平洋时间(美国和加拿大) [ 6]: GTM-07=亚利桑那 [ 7]: GTM-06=中部时间(美国和加拿大) [ 8]: GTM-05=东部部时间(美国和加拿大) [ 9]: GTM-04=大西洋时间(美国和加拿大) [10]: GTM-03=巴西利亚 [11]: GTM-02=中大西洋 [12]: GTM-01=亚速尔群岛 [13]: GTM=格林威治标准时间 [14]: GTM+01=萨拉热窝 [15]: GTM+02=开罗 [16]: GTM+03=莫斯科 [17]: GTM+04=阿布扎比 [18]: GTM+05=伊斯兰堡 [19]: GTM+06=达卡 [20]: GTM+07=曼谷,河内 [21]: GTM+08=中国标准时间 [22]: GTM+09=汉城 [23]: GTM+10=关岛 [24]: GTM+11=所罗门群岛 [25]: GTM+12=斐济 [26]: GTM+13=努库阿勒法 [27]: GTM+14=基里巴斯 请选择设置时区 [21]: 安装类型: 1 典型安装 2 服务器 3 客户端 4 自定义 请选择安装类型的数字序号 [1 典型安装]: 所需空间: 1481M 请选择安装目录 [/home/dmdba/dmdbms]:/dm/dmdbms 目录(/dm/dmdbms)下不为空,请选择其他目录。 请选择安装目录 [/home/dmdba/dmdbms]:/dm/dmdbms 可用空间: 25G 是否确认安装路径(/dm/dmdbms)? (Y/y:是 N/n:否) [Y/y]: 安装前小结 安装位置: /dm/dmdbms 所需空间: 1481M 可用空间: 25G 版本信息: 有效日期: 安装类型: 典型安装 是否确认安装? (Y/y:是 N/n:否):y 配置文件/etc/dm_svc.conf已存在,是否进行替换? (Y/y,N/n) [Y/y]:n 2025-06-12 14:06:44 [INFO] 安装达梦数据库... 2025-06-12 14:06:44 [INFO] 安装 基础 模块... 2025-06-12 14:06:46 [INFO] 安装 服务器 模块... 2025-06-12 14:06:46 [INFO] 安装 客户端 模块... 2025-06-12 14:06:47 [INFO] 安装 驱动 模块... 2025-06-12 14:06:47 [INFO] 安装 手册 模块... 2025-06-12 14:06:48 [INFO] 安装 服务 模块... 2025-06-12 14:06:48 [INFO] 移动日志文件。 2025-06-12 14:06:48 [INFO] 安装达梦数据库完成。 请以root系统用户执行命令: /dm/dmdbms/script/root/root_installer.sh 安装结束 [dmdba@dms8 mnt]$ [root@dms8 mnt]# /dm/dmdbms/script/root/root_installer.sh 创建DmAPService服务 创建服务(DmAPService)完成 启动DmAPService服务
  2. 恢复关键文件

    # 拷贝原服务脚本及许可证文件 cp /dm/bak_dmdbms/bin/DmService* /dm/dmdbms/bin/ cp /dm/bak_dmdbms/bin/dm.key /dm/dmdbms/bin/ # 若存在

五、启动与验证

  1. 启动数据库服务

    /opt/dm8/dmdbms/bin/DmServiceDMSERVER start /opt/dm8/dmdbms/bin/DmAPService start # 确保AP服务启动
  2. 更新统计信息

    CALL SP_DB_STAT_INIT(); -- 全库统计信息 CALL DBMS_STATS.GATHER_SCHEMA_STATS('用户名', 100); -- 指定模式
  3. 重建系统包

    sp_create_system_views(0); sp_create_system_views(1); SP_CREATE_SYSTEM_PACKAGES(0); SP_CREATE_SYSTEM_PACKAGES(1);

六、回退机制

若升级失败,按步骤回退:

  1. 停止服务:./DmServiceDMSERVER stop
  2. 恢复旧版执行码:
    mv /dm/dmdbms /dm/dmdbms_FAILED mv /dm/dmdbms_bak /dm/dmdbms
  3. 恢复数据(任选一种):
    • 物理恢复
      cp -rpf /dmdata/data/DAMENG_bak /dmdata/data/DAMENG
    • 备份集恢复
      ./dmrman RESTORE DATABASE '/dmdata/data/DAMENG/dm.ini' FROM BACKUPSET '/bak_path'; RECOVER DATABASE '/dmdata/data/DAMENG/dm.ini' UPDATE DB_MAGIC;

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服