解决terminating the instance due to error 481导致ASM无法启动

1、现象描述

一个RAC数据库,意外DOWN机后,第一个节点正常启动,但是第二个节点却无法启动ASM和CRS资源。

2、分析原因

由于ASM磁盘组无法启动,,查看ASM日志发现如下信息:

MMNL started with pid=21,OS id=14028

lmon registered with NM -instance number 2 (internal mem no 1)

Tue Nov 18 14:48:50 2014

PMON (ospid:13986): terminating the instance due to error 481

Tue Nov 18 14:48:50 2014

System state dumprequested by (instance=2, osid=13986 (PMON)), summary=[abnormal instancetermination].

System State dumped totrace file /oracle/product/grid/diag/asm/+asm/+ASM2/trace/+ASM2_diag_13996.trc

Tue Nov 18 14:48:50 2014

ORA-1092 :opitsk aborting process

Dumping diagnostic data indirectory=[cdmp_20141118144850], requested by (instance=2, osid=13986 (PMON)),summary=[abnormal instance termination].

Tue Nov 18 14:48:50 2014

ORA-1092 : opitsk abortingprocess

Instance terminated byPMON, pid = 13986

在Metalink网站上,发现一篇文档ASM onNon First Node (Second or Other Node) Fails to Come up With: PMON (ospid:nnnn): terminating the instance due to error 481 [ID 1383737.1]。依据该文档得知,ASM的alert日志错误信息中“PMON(ospid: 9946): terminating the instance due to error 481”文档的标题是一致。根据文档的内容进一步检查相关日志及配置信息,发现ASM TRACE也如文档一致。如下:

*** 2014-11-18 14:48:17.092

Reconfiguration completes [incarn=42]

kjzdattdlm: Can not attach to DLM (LMONup=[TRUE], DB mounted=[FALSE]).

通过分析集群日志发现如下信息:

2014-11-18 14:44:45.767

[/oracle/product/11.2.0/grid/bin/orarootagent.bin(12690)]CRS-5018:(:CLSN00037:)Removed unused HAIP route: 169.254.95.0/ 255.255.255.0 / 0.0.0.0 / usb0

说明ORACLE认为usb0(主机管理口网卡,默认开启)占用了HAIP(ORACLE 11G新特性,内部的高可用私有IP,通过HAIP替换两个节点的私有IP,来进行内部通讯)。

通过分析主机日志发现如下信息:

Nov 18 14:02:11 XXXdb2 dhclient:DHCPREQUEST on usb0 to 255.255.255.255 port 67

Nov 18 14:02:12 XXXdb2 dhclient:DHCPACK from 169.254.95.118

Nov 18 14:02:12 XXXdb2 dhclient: boundto 169.254.95.120 — renewal in 234 seconds.

说明主机网卡USB0在动态获取169.254.XX.XX网段的IP地址。

IBM的PC服务器使用USB0做为管理网络的特性。没有连接USB0网卡的时候会不停向DHCP申请IP,如果没有发现DHCP时就会默认分配一个169.254.xxx.xxx的IP地址会和ORACLE的HAIP产生冲突,造成路由信息丢失

通过各种日志信息与文档中的信息的对比,得知此次的故障现象与文档中的故障现象是一致的。

3、解决方法

根据文档ID 1383737.1提供的内容,使用ifdown usb0关闭两个节点的usb0网卡后,在缺失路由信息的一节点动态添加路由信息

#route add -net 169.254.0.0 netmask 255.255.0.0 dev eth2

增加路由之后,在数据库的第二节点,通过命令

#su – grid

$GRID_HOME/bin/crsctl start res ora.crsd -init

正常启动crsd资源后,asm和crsd资源全部正常启动。

4、故障总结

IBM 的x3850 x5系列的PC Server存在USB开启dhcp功能,从而导致usb网卡可能占用HAIP的缺陷,生产环境中的此类机器上运行的RAC数据库环境,需要关闭USB0的自动获取dhcp功能,给USB0配置静态IP。

5 、相关参考

ASM on Non First Node (Second or Other Node) Fails to Come up With:PMON (ospid: nnnn): terminating the instance due to error 481 [ID 1383737.1]

本文作者:黎俊杰(网名:踩点),从事”系统架构、操作系统、存储设备、数据库、中间件、应用程序“六个层面系统性的性能优化工作

欢迎加入 系统性能优化专业群,共同探讨性能优化技术。群号:258187244

经历一种身体下了地狱,眼睛进入天堂,灵魂归入故里。

解决terminating the instance due to error 481导致ASM无法启动

相关文章:

你感兴趣的文章:

标签云: