达梦数据库版本升级学习记录
【达梦数据库】版本升级学习记录
目录
一、达梦数据库版本信息说明
查看数据库版本的命令如下:
SELECT * FROM V$VERSION;
select build_version from v$instance;
各字段含义:
64 :版本位数标识,64表示为64位版本,无64则表示为32位版本
V8 :数据库的大版本号,当前主流的达梦数据库版本为V8
1-3-162:数据库的小版本号,表示该数据库的版本为8.1.3.162,其中最后一位有偶数和奇数区别,偶数为月度版,奇数为临时版本,临时版无特殊需求不建议在生产环境中使用
2024.07.03:代表版本编译时间
234060:代码SVN号
20108: 分支代码号
SEC:版本标识,代表该数据库版本为安全版,此外达梦数据库还有ENT企业版、STD标准版,其他标识为非通用的定制版。
二、版本升级的方式与建议
2.1 版本跨度较大时
涉及到大版本升级(DM7->DM8)、小版本之间的编译时间间隔过大(比如要从2023年的版本升级到2024年的版本),建议采用迁移升级的方式,因为有一些新版本的特性使得在过旧的数据库版本升级到新版本的过程中需要额外的升级操作。
2.2 版本跨度较小时
当要升级的数据库版本与当前最新版的版本相近,比如版本的编译时间相差不大时,可以通过直接替换软件bin目录的方式,达梦数据库版本向下兼容,多数情况下使用高版本的执行码启动低版本的数据库时,会自动执行一系列更新升级动作。
2.3 注意事项
- 升级前做好备份,包括数据库软件目录、数据库数据文件和ini文件的备份
- 应用程序的驱动版本也要做相应的更新与测试,达梦数据库的驱动可以在软件安装目录的drivers/jdbc目录下
- 如果没有太大把握,建议升级的工作交由项目对接的达梦数据库技术人员来操作,避免因误操作对数据库正常使用造成影响,同时在测试环境进行升级验证测试后再升级生产环境的数据库是较为稳妥的方式。
三、数据库版本升级操作步骤
下面将展开介绍替换bin目录与迁移这两种方式是如何实现数据库的版本升级的,以 单机数据库 为例
3.1 替换bin目录的升级
大概的操作流程是停止当前的数据库,将数据库软件目录备份,之后把新版本的数据库软件安装在原来的目录下,尽可能的减少软件目录的变动,最后再启动数据库即可。
3.1.1 查看数据库版本和授权信息
su – dmdba
disql sysdba/SYSDBA
SELECT * FROM V$VERSION;
select build_version from v$instance;
SELECT SERIES_NO,EXPIRED_DATE,AUTHORIZED_CUSTOMER,cluster_type,MAX_CPU_NUM FROM V$LICENSE;
3.1.2 确认当前的数据库软件目录
ps -ef|grep dmdba
3.1.3 停止数据库相关服务
数据库服务名需要根据环境实际配置的来
cd /home/dmdba/dmdbms/bin
./DmServicedmdb stop
./DmAPService stop
3.1.4 备份软件目录
软件目录需要根据环境实际配置的来,以数据库软件安装在/home/dmdba/dmdbms/目录下为例
–root用户下
/home/dmdba/
mv dmdbms dmdbms_bak0821
mkdir -p dmdbms
chown -R dmdba:dinstall dmdbms /
3.1.5 安装新版本的数据库软件
安装软件在/home/dmdba/dmdbms/
–root用户下执行
mkdir -p /dmiso
mount /opt/dm8_20240815_HWarm_kylin10_64.iso /dmiso
df -h
–如果有正式授权的话,授权文件也要检查所属组和用户权限是否正确
chmod -R 775 /opt/dm.key
chown -R dmdba:dinstall /opt/dm.key
ls -lrt /opt/dm.key
–dmdba用户下执行
su - dmdba
cd /mnt
./DMInstall.bin -i
–root用户下执行
/home/dmdba/dmdbms/script/root/root_installer.sh
3.1.6 复制相关的文件到软件目录下
这一步的目的是将原来的服务脚本和数据库ini配置文件放到新安装的软件目录下
su - dmdba
cp /home/dmdba/dmdbms_bak0821/bin/DmServicedmdb /home/dmdba/dmdbms/bin/
cp /home/dmdba/dmdbms/dmdb/*.ini /home/dmdba/dmdbms/dmdb/
授权文件也要复制到新安装的软件目录下,以授权文件在/home/dmdba/dmdbms_bak0821/bin/dm.key为例
cp /home/dmdba/dmdbms_bak0821/bin/dm.key /home/dmdba/dmdbms/bin/
3.1.7 启动数据库服务
cd /home/dmdba/dmdbms/bin
./DmServicedmdb start
3.1.8 检查更新过后的数据库版本
su – dmdba
disql sysdba/SYSDBA
SELECT * FROM V$VERSION;
select build_version from v$instance;
select expired_date from v$license;
3.2 迁移升级
迁移升级可以分为逻辑迁移和物理迁移,逻辑迁移可以调用dts工具或者用dexp/dimp的方式,本章节重点讲物理迁移的方式。
3.2.1 安装新版本的数据库
在另一台服务器上部署新版本的达梦数据库,需要注意的是,这里只列出大致的软件部署和数据库创建的步骤,其他操作系统的配置请参考官方文档
(1) 数据库软件安装
–root用户下执行
mkdir -p /dmiso
mount /opt/dm8_20240815_HWarm_kylin10_64.iso /dmiso
df -h
–如果有正式授权的话,授权文件也要检查所属组和用户权限是否正确
chmod -R 775 /opt/dm.key
chown -R dmdba:dinstall /opt/dm.key
ls -lrt /opt/dm.key
–dmdba用户下执行
su - dmdba
cd /mnt
./DMInstall.bin -i
–root用户下执行
/home/dmdba/dmdbms/script/root/root_installer.sh
(2) 数据库实例初始化 (path为数据库的数据文件存放路径,需要根据实际的目录来指定)
dminit path=/dmdata page_size=32 extent_size=32 charset=1 log_size=2048 db_name=dmdb instance_name=dmdb SYSDBA_PWD=“dameng123” SYSAUDITOR_PWD=“dameng123”
3.2.2 查看新部署的数据库版本
su – dmdba
disql sysdba/SYSDBA
SELECT * FROM V$VERSION;
select build_version from v$instance;
select expired_date from v$license;
3.2.3 调整新版本数据库的参数文件
如果旧版本的数据库有调整过dm.ini配置文件,建议将修改的参数值同步到新版本dm.ini文件中,之后重启新版本的数据库服务。
su – dmdba
vi /home/dmdba/dmdbms/dmdb/dm.ini
cd /home/dmdba/dmdbms/bin
./DmServicedmdb restart
3.2.4 备份旧版本的数据库
cd /home/dmdba/dmdbms/bin
./DmServicedmdb stop
dmrman
backup database ‘/home/dmdba/dmdbms/dmdb/dm.ini’ backupset ‘/dmdata/bakfull0826’;
–传输备份文件到新版本数据库所在的服务器
scp -r /dmdata/bakfull0826 dmdba@目标服务器IP:/dmdata/
3.2.5 恢复数据到新版本的数据库中
dmrman
restore database ‘/home/dmdba/dmdbms/dmdb/dm.ini’ from backupset ‘/dmdata/bakfull0826’;
recover database ‘/home/dmdba/dmdbms/dmdb/dm.ini’ from backupset ‘/dmdata/bakfull0826;
recover database ‘/home/dmdba/dmdbms/dmdb/dm.ini’ update db_magic;
3.2.6 启动数据库
–启动数据库
cd /home/dmdba/dmdbms/bin
./DmServicedmdb start
–登录数据库查看状态
disql sysdba/SYSDBA
select status$ from v$instance;
想要了解更多内容可访问达梦技术社区: