在存储节点执行
vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
NETWORK=xxx.xxx.xxx.xxx
NETMASK=255.255.255.0
IPADDR=xxx.xxx.xxx.xxx
BROADCAST=xxx.xxx.xxx.xxx
USERCTL=no
BONDING_OPTS="mode=1 miimon=300 primary=eth2"
service network restart
以下计算节点命令修改root用户的path变量,加入$CRS_HOME/bin,在root用户下执行。
修改信息前查看ocr的备份信息:
ocrconfig -showbackup
●停止相关的集群资源
停止数据库,vip,scan_listener和scan:
srvctl stop database -d orcl
srvctl stop vip –n node1 –f
srvctl stop vip –n node2 –f
srvctl stop vip –n node3 –f
……
srvctl stop scan_listener
srvctl stop scan
确认vip和scan offline:
crsctl status res –t
ifconfig -a
●修改public ip
在一个计算节点执行。删除旧public ip,增加新public ip,并确认:
oifcfg delif –global bond0/168.8.4.0
oifcfg setif –global bond0x.xxx.xxx.xxx:public
oifcfg getif
所有计算节点修改主机bond0 ip地址:
vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
NETWORK=xxx.xxx.xxx.xxx
NETMASK=255.255.255.0
IPADDR=xxx.xxx.xxx.xxx
BROADCAST=xxx.xxx.xxx.xxx
USERCTL=no
BONDING_OPTS="mode=1 miimon=300 primary=eth2"
service network restart
ifconfig -a
●修改vip
确认vip信息:
srvctl config nodeapps -a
crsctl status res -t
ifconfig -a
修改/etc/hosts文件
修改vip信息并确认:
srvctl modify nodeapps -n node1 -A node1vip/255.255.255.0/bond0
srvctl modify nodeapps -n node2 -A node2vip/255.255.255.0/bond0
srvctl modify nodeapps -n node3 -A node3vip/255.255.255.0/bond0
……
srvctl config nodeapps –a
●修改scan ip
在一个节点修改scan ip并确认:
srvctl config scan
srvctl modify scan –n scan_name
srvctl config scan
●启动集群资源
启动资源:
srvctl start vip -n node1
……
srvctl start listener -n node1
……
srvctl start database -d orcl
srvctl start scan
srvctl start scan_listener
确认vip和scanip online:
crsctl status res -t
ifconfig -a
查看数据库local_listener, remote_listener参数是否指向新的vip地址,如有需要,在每个实例进行修改:
oracle用户:
sqlplus / as sysdba
SQL> alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xxx.xxx.xxx)(PORT=1521))' sid='orcl1';
grid用户:
sqlplus / as sysasm
alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xxx.xxx.xxx)(PORT=1521))))'
sid='+ASM1';
如果添加过静态监听,需要grid用户使用netmgr修改监听地址。
查看tnsnames.ora,listener.ora文件,如果有指定IP地址,进行相应修改。
查看监听状态(grid用户执行)
lsnrctl status
lsnrctl status listener_scan1
测试public ip, vip和scanip的数据库连接正常
重启集群看是否正常
测试IB链路稳定性:
指定IB链路地址,传输500M大小文件,查看传输速率。
●实施步骤
2 .修改public ip,vip,scan vip
2.1 停止两边节点数据库,监听,并且停止crs
A、grid用户执行如下操作
$ srvctl stop database -d orcl -o immediate
$ srvctl stop listener -n node1
$ srvctl stop listener -n node2
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
修改后如下所示:
注意这里私网ip地址暂时先不做修改,修改private ip时再修改
2.3 修改两个节点上的public ip,vip,scan vip
2.3.1修改p570a节点 public ip
用smitty命令修改物理ip
smitty tcpip
选择eth0
修改ip为 10.76.31.112,网关为10.76.31.1
掩码为 255.255.255.0
2.3.2修改P570b节点 public ip
用smitty命令修改物理ip
smitty tcpip
选择eth0
修改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/31136666/viewspace-2090394/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31136666/viewspace-2090394/