Oracle10g RAC Public IP and VIP修改

一客戶的核心Oracle10g RAC架構的數據庫要進行IP的修改,原因爲目前public ip和virtual ip均是用的公網IP,因此基於安全的考慮,將這2類IP均修改爲公司局域網內私網IP。

出於對客戶信息的保密,因此不能將真實的IP寫出來,不過我會描述清楚,若有疑問,歡迎留言指出。

IP類型

節點1(原IP)

節點1(改後IP)

節點2(原IP)

節點2(改後IP)

Public IP

202.85.219.x

192.168.0.214

202.85.219.x

192.168.0.215

Virtual IP

202.85.219.x

192.168.0.216

202.85.219.x

192.168.0.217

Private IP

192.168.0.214

10.0.1.8

192.168.0.214

10.0.1.9

 

有些情況下,如果僅僅是變更Public IP,而不變更subnet或netmask(如192.168.1.112 變更爲 192.168.1.113)的話,就不需要在Oracle Clusterware層面做任何事情,只需要在OS上更改網卡上的IP配置和/etc/hosts文件中的IP信息。

具體的操作步驟就是:

1、Shutdown Oracle Clusterware Stack

2、Modify the IP address at network layer,DNS and /etc/hosts file to reflect the change.

3、Restart Oracle Clusterware Stack

【以上操作僅在一個節點上操作即可】

 

如果要更變的Public IP與之前Public IP的subnet(netmask)不一樣了,那麼需要在Oracle Clusterware 層面刪除舊的IP配置並緊接着添加新的IP配置(比如我們這個案例)。

[oracle@oracle3 ~]$ oifcfg delif -global eth0/202.85.219.0
[oracle@oracle3 ~]$ oifcfg setif -global eth0/192.168.0.0:public
[oracle@oracle3 ~]$ oifcfg getif
eth0  192.168.0.0  global  public
eth1  10.0.1.0  global  cluster_interconnect


上面命令執行完成後,需要在OS層面修改/etc/hosts和網卡的IP配置,最後重啓Oracle Clusterware.

 

我們知道Public IP和VIP 是相同網段的IP,既然Public IP發生了變更,VIP必然也需要進行調整,下面接着執行VIP的調整。

收集當前VIP的配置信息:

oracle3:root@/oracle/product/10.2.0/crs/bin>./srvctl config nodeapps -n oracle3 -a
VIP 已存在。: /oracle3-vip/192.168.0.216/255.255.255.0/eth0
oracle3:root@/oracle/product/10.2.0/crs/bin>./srvctl config nodeapps -n oracle4 -a
VIP 已存在。: /oracle4-vip/192.168.0.217/255.255.255.0/eth0


驗證VIP的狀態

[oracle@oracle3 ~]$ crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora....l1.inst application    ONLINE    ONLINE    oracle3     
ora....l2.inst application    ONLINE    ONLINE    oracle4     
ora.cbl.db     application    ONLINE    ONLINE    oracle3     
ora....bl1.srv application    ONLINE    ONLINE    oracle3     
ora....bl2.srv application    ONLINE    ONLINE    oracle4     
ora...._cbl.cs application    ONLINE    ONLINE    oracle3     
ora....E3.lsnr application    ONLINE    ONLINE    oracle3     
ora....le3.gsd application    ONLINE    ONLINE    oracle3     
ora....le3.ons application    ONLINE    ONLINE    oracle3     
ora....le3.vip application    ONLINE    ONLINE    oracle3     
ora....E4.lsnr application    ONLINE    ONLINE    oracle4     
ora....le4.gsd application    ONLINE    ONLINE    oracle4     
ora....le4.ons application    ONLINE    ONLINE    oracle4               
ora....le4.vip application    ONLINE    ONLINE    oracle4     

VIP顯示爲ONLINE。

 

停止相關服務

srvctl stop instance -d <db_name> -i <inst_name>
srvctl stop asm -n <node_name>
srvctl stop nodeapps -n <node_name>

上面命令是停止數據庫實例,asm和nodeapps,VIP服務也會隨之被停止。

 

修改VIP地址(此步執行前,首先需要在OS層面進行修改,如/etc/hosts)

使用root身份執行如下命令:

oracle3:root@/oracle/product/10.2.0/crs/bin>./srvctl modify nodeapps -n oracle3 -A oracle3-vip/255.255.255.0/eth0
oracle3:root@/oracle/product/10.2.0/crs/bin>./srvctl modify nodeapps -n oracle4 -A oracle4-vip/255.255.255.0/eth0


驗證更變結果

oracle3:root@/oracle/product/10.2.0/crs/bin>./srvctl config nodeapps -n oracle3 -a
VIP 已存在。: /oracle3-vip/192.168.0.216/255.255.255.0/eth0
oracle3:root@/oracle/product/10.2.0/crs/bin>./srvctl config nodeapps -n oracle4 -a
VIP 已存在。: /oracle4-vip/192.168.0.217/255.255.255.0/eth0


重啓動集羣資源

啓動CRS,和數據庫即可。

 

注:如果listener.ora文件和參數LOCAL_LISTENER/REMOTE_LISTENER中引用了IP地址,也要進行修改。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章