oracle 11g rac 修改VIP、scan VIP、priv IP操作文件

huangdazhu發表於2016-01-21
今天在一套RAC上修改了IP。包括pub,vip,scan5個IP。本文件是一篇借鑑的文件,操作時一定要注意,操作時一定要注意檢查,要心中清楚每一步做的什麼操作。

11GR2 RAC modify vip,public ip,private ip,scan vip
實施步驟
1 修改目的
    根據業務的需求,需要由原來的臨時IP改為生產ip,以下為調整前後對應的IP表
    調整前對應ip表
--------------------------------------------------------------
    主機名          型別         IP 地址         網路卡埠
    P570a                public ip       192.168.128.10          en0
    p570a-vip         vip             192.168.128.12          en0
    p570a-priv         private ip         172.168.128.10             en2
    p570b                public ip       192.168.128.11             en0
    p570b-vip          vip                192.168.128.13          en0
    p570b-priv         private ip      172.168.128.11             en2
    scan-vip             scan                  192.168.128.100          en0
--------------------------------------------------------------
調整後對應ip表
    主機名              型別               IP 地址         網路卡埠
    P570a                  public ip       10.76.31.112              en0
    p570a-vip       vip                      10.76.31.113             en0
    p570a-priv      private ip      192.76.31.113              en8
    p570b                  public ip          10.76.31.114               en0
    p570b-vip          vip                   10.76.31.115               en0
    p570b-priv      private ip      192.76.31.115              en8
    scan-vip           scan                10.76.31.111              en0
--------------------------------------------------------------
網路卡埠可以用ifconfig -a 顯示出來
2 修改public ip,vip,scan vip
    2.1 停止兩邊節點資料庫,監聽,並且停止crs
        A、grid使用者執行如下操作
            $ srvctl stop database -d gdcdc -o immediate
            $ srvctl stop listener -n p570a
            $ srvctl stop listener -n p570b
        B、root使用者
            cd /grid/app/11.2.0/grid/bin
            ./crsctl stop crs
            可以用ps –ef|grep grid看程式是否完全關閉
    2.2 修改兩邊節點的/etc/hosts檔案
        修改前先做個備份
            cp /etc/hosts /etc/hosts.bak
            修改後如下所示:
            10.76.31.112         p570a
            10.76.31.113         p570a-vip
            172.168.128.10     p570a-priv
            10.76.31.114         p570b
            10.76.31.115         p570b-vip
            172.168.128.11     p570b-priv
            10.76.31.111         scan-vip
        注意這裡私網ip地址暫時先不做修改,修改private ip時再修改
    2.3 修改兩個節點上的public ip,vip,scan vip
        2.3.1修改p570a節點 public ip
                用smitty命令修改物理ip
                smitty tcpip
                選擇en0
                修改ip為 10.76.31.112,閘道器為10.76.31.1
                掩碼為 255.255.255.0
        2.3.2修改P570b節點 public ip
                用smitty命令修改物理ip
                smitty tcpip
                選擇en0
                第4頁共11頁
                修改ip為 10.76.31.114,閘道器為10.76.31.1
                掩碼為255.255.255.0
        2.3.3兩邊節點啟動crs,用oifcfg 命令修改public ip
                A、root使用者停止crs,一邊節點做即可(注意)
                cd /grid/app/11.2.0/grid/bin
                ./crsctl start crs
                B、root使用者檢查修改
                先用oifcfg getif檢視當前設定
                ./oifcfg getif
                en0 192.168.128.0 global public
                en2 172.168.128.0 global cluster_interconnect
                修改
                ./oifcfg delif -global en0
                ./oifcfg setif -global en0/10.76.31.0:public
                兩邊節點確認
                ./oifcfg getif
                en0 10.76.31.0 global public
                en2 172.168.128.0 global cluster_interconnect
        2.3.4修改VIP
                A、關閉database,grid或者oracle使用者操作
                    root使用者下執行以下命令
                    cd /grid/app/11.2.0/grid/bin
                    ./srvctl stop database -d gdcdc -o immediate
                B、檢查VIP設定資訊(grid使用者操作)
                        用srvctl config vip 檢查vip設定
                        $ srvctl config vip -n p570a
                        VIP exists.:p570a
                        VIP exists.: /p570a-vip/192.168.128.12/255.255.255.0/eth0
                        $ srvctl config vip -n p570b
                        VIP exists.:p570b
                        VIP exists.: /p570b-vip/192.168.128.13/255.255.255.0/eth0
                C、停止vip 服務和修改vip(grid使用者操作)
                    ./srvctl stop listener -n p570a
                    ./srvctl stop listener -n p570b
                    ./srvctl stop vip -n p570a
                    ./srvctl stop vip -n p570b
                    ./srvctl modify nodeapps -n p570a -A 10.76.31.113/255.255.255.0/en0
                    ./srvctl modify nodeapps -n p570b -A 10.76.31.115/255.255.255.0/en0
                D、確認是否修改成功
                    ./srvctl config vip -n p570a
                    VIP exists.:p570a
                    VIP exists.:/p570a-vip/10.76.31.113/255.255.255.0/en0
                    ./srvctl config vip -n p570b
                    VIP exists.:p570b
                    VIP exists.:/p570b-vip/10.76.31.115/255.255.255.0/en0
                E、啟動vip服務,監聽,資料庫
                    ./srvctl start vip -n p570a
                    ./srvctl start vip -n p570b
                    ./srvctl start listener -n p570a
                    ./srvctl start listener -n p570b
                    ./srvctl start database –d gdcdc
        2.3.5 兩邊節點修改local_listener引數
                    該部分應該是在修改完VIP之後,重啟資料庫由oraagent自動註冊進去。
                    Show parameter local_listener
                    NAME TYPE VALUE
                    ------------------------------------ ----------- ------------------------------
                    local_listener string (DESCRIPTION=(ADDRESS_LIST=(AD
                    DRESS=(PROTOCOL=TCP)(HOST=192.
                    168.128.12)(PORT=1521))))
                    alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.76.31.113)(PORT=1521))))' scope=both sid='gdcdc1';
                    alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.76.31.115)(PORT=1521))))' scope=both sid='gdcdc2';

        2.3.6修改SCAN VIP
                1.srvctl config scan 檢視當前vip設定
                    config scan SCAN name: 192.168.128.100, Network: 1/192.168.128.0/255.255.255.0/en0 SCAN VIP name: scan1, IP: /scan-vip/192.168.128.100
                2.用root使用者停止scan_listener 和sacn vip
                    $GRID_HOME/bin/srvctl stop scan_listener
                    $GRID_HOME/bin/srvctl stop scan
                    $GRID_HOME/bin/srvctl status scan
                    SCAN VIP scan1 is enabled SCAN VIP scan1 is not running
                    $GRID_HOME/bin/srvctl status scan_listener SCAN Listener LISTENER_SCAN1 is enabled SCAN listener LISTENER_SCAN1 is not running
                3.用root使用者修改scan vip
                    $GRID_HOME/bin/srvctl modify scan -n10.76.31.111
                4.檢查是否修改成功
                    config scan SCAN name: 10.76.31.111 , Network: 1/10.76.31.0/255.255.255.0/en0 SCAN VIP name: scan1, IP: /scan-vip/10.76.31.111
                5.啟動scan和scan_listener
                    $GRID_HOME/bin/srvctl start scan
                    $GRID_HOME/bin/srvctl start scan_listener

    3 修改 private ip
        3.1 確保crs叢集是開啟的
                可以用olsnodes –s 檢查叢集的狀態
                ./olsnodes -s
                P570a Active
                P570b Active
        3.2 用oifcfg getif 檢查和oifcfg setif修改當前private 設定
            修改前設定
                ./oifcfg getif
                en0 10.76.31.0 global public
                en2 172.168.128.0 global cluster_interconnect
            修改private ip,新網路埠號為en8,如果沒有修改埠號,則設定的值還是為en2
                ./oifcfg setif -global en8/192.76.31.0:cluster_interconnect
                ./oifcfg delif -global en2
            修改後設定
                ./oifcfg getif
                en0 10.76.31.0 global public
                en8 192.76.31.0 global cluster_interconnect
        3.3 兩邊節點停止database和crs
                ./srvctl stop database -d gdcdc -o immedate
                ./crsctl stop crs
                檢查是否關閉
                ps -ef|grep grid
                ps -ef|grep oracle
        3.4 修改兩邊節點/etc/hosts表
                172.168.128.10 p570a-priv
                172.168.128.11 p570b-priv
                修改為
                192.76.31.113 p570a-priv
                192.76.31.115 p570b-priv
        3.5 修改p570a節點 private ip
                用smitty命令修改物理私網ip
                smitty tcpip
                選擇en8
                修改ip為 192.76.31.113 掩碼為 255.255.255.0
        3.6 修改P570b節點 private ip
                用smitty命令修改物理私網ip
                smitty tcpip
                選擇en8
                修改ip為 192.76.31.115 掩碼為 255.255.255.0
        3.7 兩邊節點啟動crs
                crsctl start crs
                檢查資源組狀態
                crsctl status resource –t
                如果都online,則沒問題。
    4 實施總結
                1. 在修改public ip時注意修改對應的正確閘道器,如果不修改,有可能導致vip服務起不來。
                2. 注意檢查修改hosts檔案,因為改ip後,hosts檔案會增加記錄。
                        public ip對應的掩碼也要修改正確,
                3. 主機名在安裝crs時要規劃好,一旦裝好後,就不能修改,否則要重新安裝crs。
                4. 11GR2 srvctl 新增 config vip命令
                5. 修改private ip的順序剛好和10gR2相反,10gR2是先關閉crs,然後修改hosts表和物理ip,再啟動crs,用oifcfg 設定新私網ip,這點要注意,否則按10gR2修改私網的方法,會導致CRS叢集起不來,所以做之前先做好備份。
                6. 如果兩邊節點local_listener引數沒修改的話,會導致客戶端連線不到資料庫報ERROR:ORA-12516: TNS: 監聽程式找不到符合協議堆疊要求的可用處理程式,這是因為scan_listener 認到的還是修改前的vip

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

相關文章