How to Change IP and VIP in Oracle Clusterware(二)-實操篇

zhanglei_itput發表於2010-03-31

How to Change IP and VIP in Oracle Clusterware 實操篇

修改RAC環境下IP 和 VIP

操作平臺:AIX
主機配置:IBM p5
資料庫版本:oracle RAC 10.2.0.4

1. 關機順序
    a) 停止資料庫
        srvctl stop instance -d orcl -i orcl1(tail alert)
        srvctl stop instance -d orcl -i orcl2(tail alert)
    b) 停止ASM
        srvctl stop asm -n devdb1 (tail alert_+ASM1.LOG)
        srvctl stop asm -n devdb2 (tail alert_+ASM1.LOG)
    c) 停止nodeapps
        srvctl stop nodeapps -n devdb1
        srvctl stop nodeapps -n devdb2
    d) 停止crs(root使用者)
        devdb1:/u01/app/oracle/product/10.2.0/crs_1/bin/crsctl stop crs
        devdb2:/u01/app/oracle/product/10.2.0/crs_1/bin/crsctl stop crs
        或者:/etc/init.d/init.crs stop
    e) 停止dbconsole
        devdb1:emctl stop dbconsole
        devdb2:emctl stop dbconsole
     f) 察看程式(2node)
        ps -ef|grep ora
        ps -ef|grep crs
        ps -ef|grep evmd
        ps -ef|grep cssd
     g) note: down機前最好禁用開機自動啟動crs服務
         devdb1#[/] /etc/init.crs disable
         devdb2#[/] /etc/init.crs disable

2. 修改 /etc/hosts檔案, tnsnames.ora, listener.ora檔案

3. 修改作業系統的ip設定
    使用smitty tcpip修改作業系統ip

4. 修改IP資訊
    a) 查詢原有資訊
        devdb1$[/home/oracle] oifcfg getif
        en0  192.168.1.0  global  public
        en1  100.1.1.0  global  cluster_interconnect
    b) 刪除原先的資訊
        devdb1$[/home/oracle] oifcfg delif -global en0
    c) 新增新的資訊
        devdb1$[/home/oracle] oifcfg setif -global en0/192.168.195.0:public
    d) 檢查是否新增成功
        devdb1$[/home/oracle] oifcfg getif

5. 修改VIP資訊nodeapps
    note:修改必須在 Oracle Clusterware stack啟動狀態下進行,因此上面一步要用srvctl stop nodeapps來停止資源而不要使用crsctl stop crs來停掉整個Clusterware
    a) 查詢vip資訊
        devdb1$[/home/oracle] srvctl config nodeapps -n devdb1 -a
        VIP exists.: /devdb1_vip/192.168.1.114/255.255.255.0/en0
    b) 停instance,asm,nodeapps
         檢視crs執行情況
        crs_stat -t
        停止資料庫
        srvctl stop instance -d orcl -i orcl1(tail alert)
        srvctl stop instance -d orcl -i orcl2(tail alert)
        停止ASM
        srvctl stop nodeapps -n devdb1
        srvctl stop nodeapps -n devdb2
        停止nodeapps
        srvctl stop nodeapps -n devdb1
        srvctl stop nodeapps -n devdb2
    c) 修改vip資訊 root使用者
        srvctl modify nodeapps -n devdb1 -A 192.168.195.111/255.255.255.0/en0
        srvctl modify nodeapps -n devdb2 -A 192.168.195.112/255.255.255.0/en0
     
6. 啟動crs服務,級聯instance, asm, nodeapps
     devdb1:/u01/app/oracle/product/10.2.0/crs_1/bin/crsctl start crs
     devdb2:/u01/app/oracle/product/10.2.0/crs_1/bin/crsctl start crs

7. 檢查RAC狀態
    devdb1$[/home/oracle] crs_stat -t

8. 啟用開機自動啟動crs服務
    devdb1#[/] /etc/init.crs enable
    devdb2#[/] /etc/init.crs enable

9.如果是RAC環境的話,需要手工修改LOCAL_LISTENER引數。
   alter system set local_listener=‘(ADDRESS=(PROTOCOL=TCP)(HOST=NEW_VIP1_ADDRESS)(PORT=1521))'scope=both sid='devdb1';
   alter system set local_listener=‘(ADDRESS=(PROTOCOL=TCP)(HOST=NEW_VIP2_ADDRESS)(PORT=1521))'scope=both sid='devdb2';

參考文獻:1. http://space.itpub.net/?uid-9252210-action-viewspace-itemid-630879
2. http://space.itpub.net/9252210/viewspace-573149

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9252210/viewspace-630883/,如需轉載,請註明出處,否則將追究法律責任。

相關文章