随着各种新功能的开发,达梦数据库产品也在不断的更新升级,升级前后存在有一定的差异性,使用高版本的执行码启动低版本的数据库时,会自动执行一系列的更新升级动作,除此之外,达梦数据库也支持将高版本的数据库降回到低版本,再使用低版本的执行码重新启动。
从V8.1.1.15(实际是8.1.1.1开始,但是正式对外发布是8.1.1.15)版本开始,REDO日志采用RLOG_PKG格式保存在日志文件中,和RLOG_BUF机制的格式不兼容,因此要求数据库在执行升级操作前,必须是使用之前版本的执行码
执行正常退出后的库,以此来保证所有数据都已经刷盘,否则使用新版本的执行码启动数据库时,无法根据老的REDO日志对故障重启的数据库执行重做REDO日志、归档文件修复等动作,无法正常完成数据库升级。
支持DM7、DM8老版本的库直接升级到V8.1.1.15或更高的数据库版本。
DM7的升级限制:
1、V7.1.6.11之后的版本(包括V7.1.6.11),允许直接启动升级到V8.1.1.15或者更高版本的DM8。
2、V7.1.5.138到V7.1.6.10之间的版本(包括V7.1.5.138和V7.1.6.10),需要先升级到V7.6.0.183或者更高版本的DM7,对日志版本号进行升级,然后才允许升级到V8.1.1.15或者更高版本的DM8。
3、低于V7.1.5.138的版本,仅支持DM7内的版本升级,不支持升级到DM8。
4、如果是V7.1.5.138到V7.1.6.10之间的版本,则需要升级两次。
具体升级步骤:
1、检查是否有数据数库
ps -ef| grep dms
2、检测数据库版本
cd /home/dmdba/dmdbms/bin
./dminit -id
3、备份数据库(一定要备份)也可使用RMAN工具备份
./disql
BACKUP DATABASE BACKUPSET ‘db_fullbak_20210731’;
4、停止数据库服务,检查log
./DmServiceDM01 stop
cd ../log
tail dm_DMSERVER_202108.log
停止AP 服务
5、备份老版本bin
主要是备份老版本里的服务脚本,dm.key
6、升级安装
上传高版本的数据库安装包授权并进行安装,但是只需要执行到选择key文件的位置就好。
此时已经有了bin目录,位置在/tmp/DMInstall/source/
把新版本的bin拷到安装目录下
cp -r bin /home/dmdba/dmdbms/
把老版本bin_1的key和脚本放到bin下。
7、在root下拷贝操作完成后要给权限,切dmdba用户下重启服务
8、登陆数据运行sql优化脚本
脚本略…
查看dm.ini的参数检查脚本是否已运行。
9、umount /mnt 卸载挂载的文件
10、查询数据库版本是否已更新,并进入数据库查询key
./dminit -id
./disql
select * from v$license;
升级完毕。