Oracle-ASM communication error问题处理

问题:

Oracle数据库后台alert日志出现ASM communication error,其他ASM实例,磁盘,集群状态没有异常,应用也没有反馈报错。

问题分析:

一开始检查数据库后台alert日志,发现报错每10分钟出现一次,怀疑是某个定时job发起,但查看了服务器的crontab以及跟用户确认,未发现有每隔10分钟的定时任务。

查看后台的trc文件,发现在报错时间点有对应的trc文件生成,程序均来自db-gather收集程序,跟用户进一步确认该程序为数据库监控信息收集程序,会通过访问v$asm_数据字典查询asm磁盘使用率。

到这里,我们可以确认该报错为数据库信息收集程序查询v$asm_所触发,而报错的原因暂不清楚。

通过Oracle mos查看相关报错的案例,发现大部分都是由于操作系统属主问题,非Oracle用户通过操作系统身份认证sysdba/sysasm登陆导致,但这个并不匹配当前的问题场景,数据库信息收集程序是通过tcp/ip进行远程连接的,非本地登陆。

 

继续在Oracle mos查看相关案例,发现一个由于GRID_HOME文件sqlnet.ora设置wallet路径导致引发WARNING: ASM communication error: op 0 state 0x0 (15055) 的案例可以进行借鉴。

根据以上案例,sqlnet.ora的配置可能会影响数据库rdbms对asm实例的访问,接下来,检查数据库sqlnet.ora的配置,发现配置了连接加密,这里,我们怀疑很有可能是数据库连接配置了加密导致出现访问asm实例报错​。

在跟用户确认加密可以取消之后,我们注释了sqlnet.ora的加密配置(注释配置立即生效不需要reload或者重启监听),在20点36分取消了加密配置之后,数据库后台alert日志就再也没有出现asm的报错,问题得以解决。 

问题总结:

Oracle数据库后台alert日志出现ASM communication error报错,是由于sqlnet配置了连接加密导致​数据库rdbms去访问asm实例出现报错。

问题修复:

1 通过注释sqlnet文件里面的连接加密配置,取消连接加密修复问题。

2 对数据库配置加密连接,需要谨慎设置,要在测试环境进行充分测试,特别是应用,客户端,集群内部通信连接测试没问题后再​上线生产。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值