# 达梦数据库-数据库单机版本升级-记录总结
小版本升级,直接替换数据库软件。本机直接替换数据库软件目录,异机通过数据库物理备份恢复或拷贝数据库实例的物理文件完成。
跨版本升级,升级数据库软件+数据迁移(导出导入dexp 和 dimp或DTS)。
注意:生产环境操作要谨慎,务必数据库备份操作,如果版本跨度大,务必先异机升级演练。
## 1.1新安装数据库软件,目录可不同
(1)如果本地升级,数据库软件目录可以不同
异机升级演练测试
升级前环境检查,数据库备份,异机安装新版本数据库软件,数据库还原,启动运行数据库。
正式环境升级
升级前环境检查,停止生产业务,数据库备份,停止数据库服务,卸载数据库相关服务,操作系统级别备份(拷贝数据库相关文件,如果是升级主备集群,尽量做,便于快速回退),安装新版本数据库软件到新目录,重启注册数据库相关服务(或者把旧数据库目录中相关服务文件直接拷贝到新目录),启动数据库并登录,执行重建系统包和系统视图,数据库全备份。
(2)如果本地升级,数据库软件目录要求相同
异机升级演练测试
正式数据库升级
升级前环境检查,停止生产业务,数据库备份,停止数据库服务,卸载数据库相关服务,操作系统级别备份(拷贝数据库相关文件,如果是升级主备集群,尽量做,便于快速回退),旧数据库目录更名,安装新版本数据库软件到旧同名目录,重启注册数据库相关服务(或者把旧数据库目录中相关服务文件直接拷贝到旧同名目录),注意修改环境变量,启动数据库并登录,执行重建系统包和系统视图,数据库全备份。
升级前环境检查,停止生产业务,数据库备份,停止数据库服务,卸载数据库相关服务,操作系统级别备份(拷贝数据库相关文件,如果是升级主备集群,一定要做),旧数据库目录更名,重启注册数据库相关服务(或者把旧数据库目录中相关服务文件直接拷贝到旧同名目录),注意修改环境变量,启动数据库并登录,执行重建系统包和系统视图,数据库全备份。
(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 ARCH_TYPE,ARCH_DEST,ARCH_FILE_SIZE,ARCH_SPACE_LIMIT from vdm_arch_ini;
--日志跟踪开启情况
SELECT PARA_NAME,PARA_VALUE FROM VDM_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);
文章
阅读量
获赞
