天天看点

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