暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

措手不及的报错:direct connection failure with ASM

原创 布衣 2024-08-14
470

书接上回

  深夜一声惊雷.客户炸了群,深夜炸群后,为了保障应用的高可用性,我们需要尽快恢复RAC集群环境,于是历经2天完成了2个业务线备RAC恢复搭建,计划09号凌晨开始将2个业务线切回RAC环境。
  此次切换方案:ORACLE-主备备-Failover
  计划凌晨01开始切换,在00:05数据库日志突然疯狂报ASM连接异常,心都提起来了,关键的时候可别集群出问题,要不就被客户骂死了,一群人等着切换操作呢。

  • ASM 异常报错
Fri Aug 09 00:05:26 2024
WARNING: ASM communication error: op 0 state 0x0 (15055)
ERROR: direct connection failure with ASM
  • 日志截图:
    image.png

分析

官方解释

image.png

  • 原因
    Oracle用户在用as sysdba访问v$asm_diskgroup时,发现没在oinstall组中,因此报错。
  • 解决方案
    将Oracle用户添加到oinstall组中。

排查环境

  • oracle 在oinstall 组,状态:正常,线索断了
[root@dbrac1 ~]# id oracle
uid=600(oracle) gid=600(oinstall) 组=600(oinstall),601(dba),602(asmdba)
  • 回忆报错前的操作
    10点左右检查环境的时候发现zabbix监控没打开,于是把zabbix监控打开了,再然后就发现报错了。那应该和zabbix监控可能有关,于是翻看监控脚本Check_Oracle,发现有个监控asm空间,正好用到了v$asm_diskgroup视图
select name,(1-FREE_MB/TOTAL_MB)*100 pct from v$asm_diskgroup;
  • 查看zabbix所属组
[oracle@dbrac1 ~]$ id zabbix
uid=555(zabbix) gid=555(zabbix) groups=555(zabbix)
  • 将zabbix 添加数据库相关组
[root@dbrac1 ~]# usermod -G zabbix,asmadmin,oinstall,dba zabbix
[root@dbrac1 ~]# id zabbix
uid=555(zabbix) gid=555(zabbix) 组=555(zabbix),600(oinstall),601(dba),604(asmadmin)
  • 解决
    手动执行监控脚本,日志不输出报错,但日志还在不停的刷报错。没办法又重启了下zabbix agent 程序,发现没有报错了,看来系统当时缓存以前zabbix的组权限没有重新加载权限。

终章

  终于在切换前10分钟排查到了问题,确认集群环境没有隐患,不要影响切换流程必定大家都在等待中。数据库切换完后,继续解决监控zabbix脚本的问题。

总结

  • 细节决定成败,这是的问题在于部署监控的时候,没给相关的所属组;
  • 具体问题还是需要具体分析,不能太依赖官方,官方只能给方向;
  • 没有无缘无故的报错,一切都会根源,需要清醒的头脑一点点抽丝剥茧;

文章推荐

欢迎赞赏支持或留言指正
image.png

最后修改时间:2024-08-16 23:26:32
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论