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

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

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

跨版本升级,升级数据库软件+数据迁移(导出导入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 VTABLESPACE AS TS, VDATAFILE 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/

相关推荐
xiezhr2 小时前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
吃糖的小孩1 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
笃行3502 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3502 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3502 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
SelectDB3 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶3 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵3 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
Nturmoils3 天前
WHERE 条件别凭习惯写,常用查询先跑一遍
数据库