11gr2rac 修改ip位址
Oracle 作者:burphy 時間:2017-08-31 11:51:10 2249 0
oracle 11g rac 修改IP
今天在一套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
grid使用者
srvctl stop database -d gdcdc -o immediate
srvctl stop listener -n p570a
srvctl stop listener -n p570b
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
修改ip為 10.76.31.114,網關為10.76.31.1
掩碼為255.255.255.0
2.3.3兩邊節點啟動crs,用oifcfg 指令修改public ip
一邊節點做即可
./crsctl start crs
先用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
兩邊節點确認
en0 10.76.31.0 global public
2.3.4修改VIP
關閉database
root使用者下運作以下指令
./srvctl stop database -d gdcdc -o immediate
用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
停止vip 服務和修改vip
./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
确認是否修改成功
./srvctl config vip -n p570a
VIP exists.:/p570a-vip/10.76.31.113/255.255.255.0/en0
./srvctl config vip -n p570b
VIP exists.:/p570b-vip/10.76.31.115/255.255.255.0/en0
啟動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參數
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'; 第6頁共11頁
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 設定
修改前設定
修改private ip,新網絡端口号為en8,如果沒有修改端口号,則設定的值
還是為en2
./oifcfg setif -global en8/192.76.31.0:cluster_interconnect
./oifcfg delif -global en2
修改後設定
en8 192.76.31.0 global cluster_interconnect
3.3 兩邊節點停止database和crs
./srvctl stop database -d gdcdc -o immedate
檢查是否關閉
ps -ef|grep grid
ps -ef|grep oracle
3.4 修改兩邊節點/etc/hosts表
修改為
192.76.31.113 p570a-priv
192.76.31.115 p570b-priv
3.5 修改p570a節點 private ip
用smitty指令修改實體私網ip
選擇en8
修改ip為 192.76.31.113 掩碼為 255.255.255.0
3.6 修改P570b節點 private ip
修改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
[grid@p570b:/grid/app]$lsnrctl
LSNRCTL for IBM/AIX RISC System/6000: Version 11.2.0.1.0 - Production on 18-MAR-2010 14:19:15
Copyright (c) 1991, 2009, Oracle. All rights reserved.
LSNRCTL> set current listener_scan1
Current Listener is listener_scan1
LSNRCTL> services
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))
Services Summary...
Service "gdcdc" has 2 instance(s).
Instance "gdcdc1", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:1 refused:0 state:blocked
REMOTE SERVER
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.128.12)(PORT=1521)))
Instance "gdcdc2", status READY, has 1 handler(s) for this service...
"DEDICATED" established:0 refused:0 state:ready
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)( HOST=192.168.128.13)(PORT=1521)))
修改local_listener參數後
[grid@p570a:/grid/app]$lsnrctl services listener_scan1
LSNRCTL for IBM/AIX RISC System/6000: Version 11.2.0.1.0 - Production on 19-MAR-2010 09:47:50
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.76.31.113)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.76.31.115)(PORT=1521)))