当前位置:  数据库>oracle

【VIP】RAC中VIP2异常转移的解决方法

    来源: 互联网  发布时间:2017-05-31

    本文导语: 环境:AIX 5.3+10.2.0.5 RAC 情景描述:在一套RAC中,node2节点的VIP2异常漂移至node1通过重启VIP2无法使其转移回node2,于此同时node2节点上并没有发现任何故障。服务器甚至都尝试了重启也无法使VIP2恢复正常。 VIP2的无法使用,使得node2...

环境:AIX 5.3+10.2.0.5 RAC

情景描述:在一套RAC中,node2节点的VIP2异常漂移至node1通过重启VIP2无法使其转移回node2,于此同时node2节点上并没有发现任何故障。服务器甚至都尝试了重启也无法使VIP2恢复正常。

VIP2的无法使用,使得node2没有新的连接接入,负载全部存在了node1上,同时node1没有故障转移功能了,为了使node2可用,在无法解决原VIP2的前提下,最后的解决办法是:不在考虑原有VIP2的问题,将VIP2在node1关掉,随后在node2上重新添加了一个VIP。

1. 查看资源状态

Oracle@gisdb1:/oracle$ crs_stat -t
Name          Type          Target    State    Host       
------------------------------------------------------------
ora....B1.lsnr application    ONLINE    ONLINE    gisdb1     
ora.gisdb1.gsd application    ONLINE    ONLINE    gisdb1     
ora.gisdb1.ons application    ONLINE    ONLINE    gisdb1     
ora.gisdb1.vip application    ONLINE    ONLINE    gisdb1         
ora....B2.lsnr application    ONLINE    OFFLINE                   
ora.gisdb2.vip application    ONLINE    OFFLINE         
ora.gisdb2.ons application    ONLINE    ONLINE    gisdb2   
ora.gisdb2.gsd application    ONLINE    ONLINE    gisdb2
ora.nxgis.db  application    ONLINE    ONLINE    gisdb2     
ora....s1.inst application    ONLINE    ONLINE    gisdb1     
ora....s2.inst application    ONLINE    ONLINE    gisdb2


此时ora.gisdb2.vip资源无法再节点node2启动,如果使用crs_start 启动则自动在node1上起来。
当然,此时节点node2上的资源ora.gisdb2.listener_gisdb2.lsnr依赖vip2,必然同样无法启动。

 


2. 在问题解决期间尝试了多次跟踪vip2的启动过程,但依然没有有效的收获。随后查看ocr里的信息:
oracle@gisdb1>ocrdump
OCRDUMPFILE
oracle@gisdb1>vi OCRDUMPFILE
发现里面没有vip2的有关信息,我们知道此时ocr里的信息混乱了。(曾在此之前执行过:srvctl remove nodeapps -f,其中-f参数指强制执行,此参数可能会造成ocr信息的紊乱,非常不建议执行)


3. 当ocr里的ora.gisdb2.vip信息出现问题时,首先考虑进行重新注册ora.gisdb2.vip。
所谓的重新注册就是将ocr中关于ora.gisdb2.vip的信息删除,然后重建vip。重建VIP可以使用VIPCA工具也可以用命令crs_profile,crs_register等一系列的crs_*命令来完成。


4. 移除ora.gisdb2.vip使用命令:
root用户执行:
root@gisdb2: ./srvctl remove nodeapps -n gisdb2(此命令会删除vip,ons,gsd,所以一会你得重建vip和ons,gsd为了保持向后兼容而存在可以选择不重建)
PRKO-02112:"Some or all node applications are not removed successfully onnode:gisdb2"
显然,这里报错无法完成删除node2上的nodeapps
随后查看crs的资源:
oracle@gisdb1:/oracle$ crs_stat -t
Name          Type          Target    State    Host       
------------------------------------------------------------
ora....B1.lsnr application    ONLINE    ONLINE    gisdb1     
ora.gisdb1.gsd application    ONLINE    ONLINE    gisdb1     
ora.gisdb1.ons application    ONLINE    ONLINE    gisdb1     
ora.gisdb1.vip application    ONLINE    ONLINE    gisdb1         
ora....B2.lsnr application    ONLINE    OFFLINE                   
ora.gisdb2.vip application    ONLINE    OFFLINE             
ora.nxgis.db  application    ONLINE    ONLINE    gisdb2     
ora....s1.inst application    ONLINE    ONLINE    gisdb1     
ora....s2.inst application    ONLINE    ONLINE    gisdb2 
可以看到ora.gisdb2.vip依然存在,但是ora.gisdb2.ong,ora.gisdb2.gsd资源没有了。


5. 为了从ocr中移除ora.gisdb2.vip,又尝试使用crs_unregister,此命令从ocr文件中删除掉相应资源的信息
root用户执行:
root@gisdb2:/# ./crs_unresgiter ora.gisdb2.vip
Cann't unregister 'ora.gisdb2.vip‘ because it is required by other resources.
CRS-0214:Could not unregister resource 'ora.gisdb2.vip'
再次报错,因与其它资源关联无法注册掉ora.gisdb2.vip。要注销掉vip设置可能要先注册掉lsnr,database(未测试)
总之,我们失败了。此时问题陷入了窘境。VIP2删除的命令无法成功,我们就没办法更新OCR里的VIP2信息。VIP2在node2上不可用,
RAC此时变成了单节点失去了高可用性。


6. 我们随后考虑到OCR里已经没有了VIP2的信息,我们是否可以直接向OCR中添加VIP2的信息呢,随后的实验还是失败了。报错信息显示ora.gisdb2.vip已经存在,无法添加。
(详细的添加过程这里不在显示,后面会有手动VIP注册的过程)


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于vip虚拟ip问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,