达梦数据库通过修改控制文件进行数据库版本降级浅试

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

此文档为达梦数据库通过修改控制文件进行数据库版本降级浅试。仅供参考。


提示:以下是本篇文章正文内容,下面案例可供参考

一、环境介绍

环境为单机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命令行安装数据库,步骤略。
选择路径至/dm8

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

dm.ctl文件修改前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降级工具去进行降级处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值