我们在搭建达梦主备库或读写分离集群时,会有节点之间路径差异的问题。这样会导致备库节点拷贝过来的数据库无法启动。这时需要修改dm.ctl文件来解决。
1、转换dm.ctl文件
由于ctl文件是二进制文件,我们可以通过dmctlcvt工具来转换成txt文件
[root@dw02 bin]# ./dmctlcvt c2t ../data/YZZHDB/dm.ctl ../data/YZZHDB/dm.txt
DMCTLCVT V7.6.1.54-Build(2020.03.27-119731)ENT
convert ctl to txt success!
2、修改dmctl.txt文件
有6处路径需要修改:2个redo日志所在路径和4个数据文件所在路径
fil_path=/opt/dmdbms/data/YZZHDB/SYSTEM.DBF
fil_path=/opt/dmdbms/data/YZZHDB/ROLL.DBF
fil_path=/opt/dmdbms/data/YZZHDB/DAMENG01.log
fil_path=/opt/dmdbms/data/YZZHDB/DAMENG02.log
fil_path=/opt/dmdbms/data/YZZHDB/MAIN.DBF
htspath=/opt/dmdbms/data/YZZHDB/HMAIN
3、转换dmctl.txt文件
将dmctl.txt文件转回dm.ctl文件
[root@dw02 bin]# ./dmctlcvt t2c ../data/YZZHDB/dm.txt ../data/YZZHDB/dmctl.ctl
DMCTLCVT V7.6.1.54-Build(2020.03.27-119731)ENT
convert txt to ctl success!