Oracle Rac 多路径链路不稳定引发IO降速-光弱
一、背景
今天突然被异地的同事拉来开远程会议,会议内容是开发反馈每天9点左右有个sqlldr 命令的脚本调用突然执行很慢,以前几秒的导入操作现在需要30-60s左右,而且数据量基本相同。
二、分析
1)、查看ASH报告
从报告上确认是数据库的IO的问题,sqlldr导入数据会有IO,但出现gcs log flush sync 事件就很不正常。
再次手动导了一次,用iostat 观察都怎么产生IO,因此怀疑是存储或光纤交换机的问题。
2)、查看alert日志
一个节点正常,另一个节点报:minact-scn: useg scan erroring out with error e:12751
百度了一下报错,发现好多文章说与多路径有关,查看多路径状态ok。
3)、查看系统日志
发现磁盘路径一直不稳定,4条路径有1条状态一会在线一会Fail,并报有I/O error:
于是确认为多路径引起的IO问题。
4)、查看光纤交换机
交换机0 口中异常:
三、处理
于是安排同事晚上对交换机0口光纤模式进行更换,在拔掉光纤模块后仅有三条链路的时候,进行了一次sqlldr的导入操作,很快就导入12.53s完成:
IO异常的导入时长18分16s,同样是58460Rows
于是对此口的光纤模块进行了更换,从而解决了此问题。
四、总结
1、对日志的巡检不是很到位,本来查看系统日志就能快速的定位问题。(当时同事表示看过日志没有任何报错,必定同事也是10年经验的老DBA了,主观了忽略了第一时间去查看系统日志。)
2、对多路径认识不到位,浅意识认为:4条路径坏1条的话应该不会影响IO,谁成想这种半死不活的状态最要命。