文章目录
- 前言
- 一、环境介绍
- 二、操作步骤
- 1.检查环境
- 2.准备降级环境
- 3.准备降级环境
- 4.环境确认
- 总结
前言
此文档为达梦数据库通过修改控制文件进行数据库版本降级浅试。仅供参考。
提示:以下是本篇文章正文内容,下面案例可供参考
一、环境介绍
环境为单机2C4G内存50G存储的Kylin Linux Advanced Server操作系统云环境虚拟机。
本次降级以达梦数据库8-1-2-46通过修改dm.ctl文件去实现降级达梦数据库8-1-1-190。
软件类别 | 升级前 | 升级后 |
数据库 | 达梦数据库8-1-2-46 | 达梦数据库8-1-1-190 |
二、操作步骤
1.检查环境
操作前先确认数据库基本情况
--查看数据库版本
select top 1 banner || id_code from v$version;
--查看授权情况
select * from v$license;
--查看数据库文件路径
select * from v$datafile;
停止数据库运行
cd /home/dmdba/dmdbms/bin
./DmServiceDMSERVER stop
./DmAPService stop
2.准备降级环境
创建dm8文件夹安装低版本数据库,通过mount挂载磁盘并安装数据库软件。
cd /
umask 022
mkdir dm8
chown -R dmdba:dinstall /dm8
mount -o loop /media/dm8_20210421_x86_rh6_64_ent_8.1.1.190_pack4.iso /mnt
通过DMInstall.bin命令行安装数据库,步骤略。
3.准备降级环境
在低版本中尝试通过前台启动数据库发现报错
Server DM7_DCT_VERSION mismatch, version of data is 11, server version is 9.
Server DM8_DCT_VERSION mismatch, version of data is 36, server version is 29.
Please use the correct version of server or set the CHECK_SVR_VERSION=0 in dm.ini
此处报错为启动版本与数据库中dm.ctl内容不一致。
那我们通过高版本的数据库中dmctlcvt工具去修改dm.ctl中的DM7_DCT_VERSION和DM8_DCT_VERSION。
修改为对应的9和29。
./dmctlcvt type=1 src=/home/dmdba/dmdbms/data/DAMENG/dm.ctl dest=/home/dmdba/dmdbms/data/DAMENG/dm.txt
vi /home/dmdba/dmdbms/data/DAMENG/dm.txt
./dmctlcvt type=2 dest=/home/dmdba/dmdbms/data/DAMENG/dm.txt src=/home/dmdba/dmdbms/data/DAMENG/dm.ctl
最后我们前台启动低版本数据库,启动成功。
现在数据库的实例文件已经是低版本可以正常启动了。
此时我们需要做的是通过前台启动低版本数据库,有两个方式,卸载高版本的数据库软件或者替换bin文件夹。
我这里使用的方式是替换bin文件夹
cd /home/dmdba/dmdbms
mv bin bin_2_46
/dm8/bin/DmAPService stop
cp -r /dm8/bin /hom/dmdba/dmdbms/bin
cd bin_2_46
cp DmServiceDMSERVER ../bin/
./DmServiceDMSERVER start
./DmAPService start
4.环境确认
最后确认低版本数据库是否正常启动。
--查看数据库版本
select top 1 banner || id_code from v$version;
--查看授权情况
select * from v$license;
--查看数据库文件路径
select * from v$datafile;
总结
此处仅为达梦数据库通过dmctlcvt去修改dm.ctl进行降级的一次尝试。
数据库也可通过dmmdf降级工具去进行降级处理。