数据库VIP地址无法访问(二)

客户的数据库出现VIP地址无法访问的情况。
这一篇描述问题的解决。
数据库VIP地址无法访问(一):https://yangtingkun.net/?p=798

上一篇通过诊断找到了问题的原因,由于VIP绑定网卡的错误,导致VIP可能漂移到PRIVATE网卡上,从而导致VIP地址对于外部服务器不可见。
找到原因后,解决其实很简单,只需要改正VIP错误的配置即可,简单的代码类似下面的示例:

oracle@racdb1 $ srvctl config nodeapps -n racdb1 –a
VIP EXISTS.: /racdb1-vip/10.8.60.201/255.255.255.0/aggr1:aggr2
oracle@racdb1 $ srvctl config nodeapps -n racdb2 –a
VIP EXISTS.: /racdb2-vip/10.8.60.202/255.255.255.0/aggr1:aggr2

获取当前VIP配置信息。
停止VIP服务

$ srvctl stop nodeapps -n racdb1
$ srvctl stop nodeapps -n racdb2

停止数据库实例:

$ srvctl stop instance -d racdb -i racdb1
$ srvctl stop instance -d racdb -i racdb2

停止ASM实例:

$ srvctl stop asm -n racdb1
$ srvctl stop asm -n racdb2

以root修改VIP配置信息:

# srvctl MODIFY nodeapps -n racdb1 -A racdb1-vip/255.255.255.0/aggr2
# srvctl MODIFY nodeapps -n racdb2 -A racdb2-vip/255.255.255.0/aggr2

确认修改生效:

$ srvctl config nodeapps -n racdb1 -a
VIP EXISTS.: /racdb1-vip/10.8.60.201/255.255.255.0/aggr2
$ srvctl config nodeapps -n racdb2 -a
VIP EXISTS.: /racdb2-vip/10.8.60.202/255.255.255.0/aggr2

重启VIP服务

$ srvctl START nodeapps -n racdb1
$ srvctl START nodeapps -n racdb2

重启ASM实例:

$ srvctl START asm -n racdb1
$ srvctl START asm -n racdb2

重启数据库实例:

$ srvctl START instance -d racdb -i racdb1
$ srvctl START instance -d racdb -i racdb2

最后通过ipconfig验证,VIP地址绑定至PUBLIC网卡,确认修改成功。

This entry was posted in ORACLE and tagged , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *