添加磁盘导致的ASM实例crash

今天核心系统将一块磁盘(EMC DMX4)添加到了ASM dg中,然后数据库RAC两个节点双双crash掉了,顿时吓了一身冷汗。
检查日志:

新加的盘不能使用,但是此时两个节点尝试ASM和数据库实例恢复,第二个节点却起了起来,目前问题是第一个节点的读取问题。可能是这个LUN对主机的存储锁、SAN链路等问题导致了。此时在第二个节点ASM实例中查看v$asm_operation视图,结果为空。看来这个盘的rebalance操作已经完成了。为了让这个生产系统早点上线,我们选择了把这个有问题的LUN从ASM第二个实例中剔除,还原初始环境。在asmca中操作后,检查rebalance进度:

一共49G的数据需要操作,等待SOFAR=EST_WORK后,该LUN被成功剔除。此时第一个节点的ASM实例也成功启动。吃一堑长一智,在数据库真正使用一个磁盘之前,检查设备的可用性是非常重要的。Oracle的ACS也提到了一个工具kfod(in $GRID_HOME/bin),可以快速检查LUN的有效性,盖总也简单介绍过该工具:kfod in oracle_asm

>o<

Posted in Database, Oracle.