Welcome 微信登录

首页 / 数据库 / MySQL / 【VIP】RAC中VIP2异常转移的解决方法

环境: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注册的过程)
  • 1
  • 2
  • 下一页
【RAC】cssfatal缺少导致的节点1无法启动【cursor_sharing】cursor_sharing参数设置exact,similar,force的区别相关资讯      rac 
  • RAC本地数据文件迁移至ASM的方法--  (05月23日)
  • 浅谈RAC中的负载均衡  (09/06/2015 21:49:33)
  • Oracle 11gR2 RAC实时应用集群  (01/05/2015 09:17:03)
  • RAC之间消息传输流量控制  (12/26/2015 15:52:38)
  • Oracle 11.2.0.4 RAC日志记录的时  (01/29/2015 08:46:34)
  • 基于Workstation8、CentOS6.5实现  (01/04/2015 15:42:35)
本文评论 查看全部评论 (0)
表情: 姓名: 字数