需要修改VIP的场景其实比较多,比如我最近一客户核心生产2个存储控制器由于停电导致一起损坏,幸好做了最高可用性的dg,所以可以在无数据丢失并且宕机很短的时间内切换到备机使用。在切换到备机的时侯我们修改备机的ip为其中一个node的vip,这样2层结构的客户端不需要对tns做任何改动。当把存储控制器修好之后在没有修改vip的时侯是不能轻易启动原来的生产db的,因为一旦起来其中一台的vip会和现在dg的实际ip冲突,而另外一台起来之后,由于客户端的tns没有做过改动,而且存储本身也没有问题,数据库也没有损坏,所以应用还可以连接到原来的库上,这一点要格外谨慎,在做一切处理之前都要想办法先把原来环境的VIP修改掉。[@more@]
下面是修改过程:
为了稳妥,首先备份ocr,之后步骤如下:
1、关闭数据库
srvctl stop database -d db
2、关闭2个节点上的NOTEAPPA
srvctl stop nodeapps -n db1
srvctl stop nodeapps -n db2
3、修改hosts
4、如果有必要修改listener和tns(看看里面是否使用了VIP)
5、通过srvctl modify nodeapps 结合-A选项修改vip
db1#./srvctl modify nodeapps -n db1 -A 143.168.0.17/255.255.255.0/eth0
db2#./srvctl modify nodeapps -n db2 -A 143.168.0.18/255.255.255.0/eth0
备注:原来的VIP分部是13和14,这里改成17和18了。
3、重新启动RAC数据库就可以了
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/19602/viewspace-1060604/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/19602/viewspace-1060604/