存储链路扩容后重启主机导致数据库CRS集群无法启动的原因及解决方法
存储链路扩容后重启主机导致数据库CRS集群无法启动的原因及解决方法
文章来自微信公众号平台人生
生产问题:
某高并发联机交易系统IO存在瓶颈,故将存储由4链路扩容至8链路。重启该主机后,数据库CRS集群无法启动。
生产环境:
操作系统:POWER虚拟机 AIX 7.1
数据库:ORACLE 11.2.0.4 + ASM
存储:EMC
问题分析:
检查CRS日志发现数据库无法认到投票盘votedisk。检查操作系统磁盘发现状态均为define,正常应为available。
对于AIX操作系统,ORACLE RAC要求磁盘属性reserve_policy=no_reserve。
存储扩容前:聚合盘和4个链路盘reserve_policy均为no_reserve。
存储扩容后:聚合盘和原来的4个链路盘reserve_policy为no_reserve,新增的4个链路盘reserve_policy为默认的single_path。
由于链路盘状态不一致,重启后导致磁盘状态异常,数据库无法启动。
解决方案:
chdev -l hdiskXXX -a reserve_policy=no_reserve -P
将所有链路盘状态改为no_reserve。
需要加-P 参数,重启后生效否则会报磁盘忙。
为防止类似问题再次出现,AIX的数据库任何存储链路操作后,DBA都应该手工检查聚合盘和链路盘reserve_policy为no_reserve,不能只检查聚合盘。