实际环境:
server1和server2安装Asianux3sp3 x86-64系统,安装oracle RAC 11.2.0.3 ;
两台系统均是eth4和eth5做的bond0,并将bond0设置成public NIC for vip;

问题现象:
当某台系统重启或oracle关闭时,vip会自动漂移到对方机器上,此时局域网内bond0和vip都能访问,跨网段的客户端只能ping通bond0,ping不通vip地址,查看交换机(也是网关)的arp记录时,发现vip对应的MAC地址,居然是网关的MAC地址,难怪不通,但至于为什么交换机会学习到这条arp记录,实在让人费解。

解决方法:
经过各方人员的讨论与查证,发现metalink上已经发布该bug信息,

Bug 13440962 Different subnet failed to connect to vip after restart vip

This note gives a brief overview of bug 13440962.
The content was last updated on: 01-FEB-2012
Click here for details of each of the sections below.

Affects:

Product (Component) Oracle Server (PCW)
Range of versions believed to be affected Versions >= 11.2.0.3 but BELOW 12.1
Versions confirmed as being affected 11.2.0.3
Platforms affected Generic (all / most platforms affected)

It is believed to be a regression in default behaviour thus:
Regression introduced in 11.2.0.3
Fixed:

This issue is fixed in 12.1 (Future Release)

Symptoms:

Related To:

(None Specified)
Cluster Ready Services / Parallel Server Management

Description

This is a regression fix for problem introduced by patch 11069846.
The change in this patch (patch 13440962) fixes a problem with 4 extra bytes in the GARP message and removes an extra unicast GARP packet to the router.
Rediscovery Notes:
After upgrading to 11.2.0.3, after vip failover, the ip address is not pingable from a different subnet on Linux.
(This problem is seen only on Linux)
Workaround
After vip failover, run command
/sbin/arping -U -c 3 -I (public NIC for vip) (vip ip address)
to update the ARP table of router.

Please note: The above is a summary description only. Actual symptoms can vary. Matching to any symptoms here does not confirm that you are encountering this problem. For questions about this bug please consult Oracle Support.
References

Bug:13440962 (This link will only work for PUBLISHED bugs)
Note:245840.1 Information on the sections in this article

按照提示,使用arping命令后,故障解决,于是写了个脚本,开机自动运行在后台,不断进行监控,如果发生vip切换,则立刻运行arping命令。但这不是最终解决方法,oracle应该推出了针对该问题的patch,我认为还是打patch来解决该问题,会更靠谱些。