【达梦数据库】DSC集群实例初始化失败记录

目录

问题背景

排查过程

总结


问题背景

在进行达梦DSC集群的搭建学习中,实例初始化报错,日志如下

initdb V8

db version: 0x7000c

file dm.key not found, use default license!

License will expire on 2025-05-27

Normal of FAST

Normal of DEFAULT

Normal of RECYCLE

Normal of KEEP

Normal of ROLL

 log file path: +DMLOG/DSC0_LOG01.log

 log file path: +DMLOG/DSC0_LOG02.log

 log file path: +DMLOG/DSC1_LOG01.log

 log file path: +DMLOG/DSC1_LOG02.log

write to dir [+DMDATA/data/DSC].

fsm_file_add group_id 1, file_id 0, size_in_pages 320000, path +DMDATA/data/ROLL.dbf failed, code -7004

Please check whether exist file or directory with the same name or view the log for more infomation, code:[-7014]

fail to init db.

排查过程

在一开始看到报错信息时,首先关注到了实例初始化失败的提示

Please check whether exist file or directory with the same name or view the log for more infomation

于是排查的思路就往是否存在这个文件或目录的方向走了,

/home/dmdba/dmdbms/bin/dmasmtool DCR_INI=/home/dmdba/config/dmdcr.ini
ls +DMDATA/data/

 进入ASM中发现,+DMDATA/data目录下已经生成了部分的数据文件,那么目录不存在的可能性算是已经排除掉了,也从侧面说明数据磁盘是有权限可供dmdba用户访问的。

再仔细阅读报错提示的上文,fsm_file_add...+DMDATA/data/ROLL.dbf failed引起了我的注意,看来这一阶段是想要添加实例相关的数据文件,但是没有完全成功,失败点在于生成ROLL.dbf文件上。

根据关键词”size_in_pages”,开始转换思路,推测是不是参数文件分配的大小有问题?是否超出了实际的磁盘大小?

按照这个思路,查看初始化文件有关size大小分配的参数

cat /home/dmdba/config/dminit.ini |grep SIZE

可以明确的一点是,以上这些带有size标识的参数,会在实例初始化的时候用到,比如system_size,就是指的 SYSTEM.DBF 文件大小。而在初始化实例报错的时候,进入到ASM中查看,发现其实已经有部分的数据文件是生成成功的了,分别是dm.ctl,system.dbf,main.dbf这三个文件,报错是在系统准备生成roll.dbf文件的时候。roll.dbf的文件大小是由roll_size这一参数来控制的,通过查看参数文件配置,发现roll_size的取值居然有10G!

查看ASM磁盘大小,发现当前的DATA盘,也只有10G,这就能解释了上面为什么实例初始化会报错了。

dmasmcmd
listdisks /dev/

修改参数值,重新初始化实例

/home/dmdba/dmdbms/bin/dminit control=/home/dmdba/config/dminit.ini

出现报错,发现是css和asm 服务未启动

/home/dmdba/dmdbms/bin/dmcss DCR_INI=/home/dmdba/config/dmdcr.ini
/home/dmdba/dmdbms/bin/dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini

启动日志如下

查看服务进程

重新执行初始化实例成功

总结

碰到陌生的问题时,多围绕报错日志来排查,提取出关键词,结合官方文档,总能找到正确的解决思路

附:达梦数据库官网
达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值