天天看點

11gr2rac 修改ip位址

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)))