调整前对应ip表
主机名
rac1
rac2
rac1-vip
rac2-vip
rac1-priv
rac2-priv
rac-cluster
调整后对应ip表
主机名
rac1
rac2
rac1-vip
rac2-vip
rac1-priv
rac2-priv
rac-cluster
// 网卡端口可以用ifconfig -a 显示出来
2.1 禁止所有节点自动启动并停止两边节点数据库、监听
[grid@ rac1 ~]$ srvctl
disable listener
[grid@ rac1 ~]$ srvctl stop
listener
[grid@ rac1 ~]$ srvctl disable database -d db
[grid@ rac1 ~]$ srvctl stop
database -d db -o immediate
2.2 禁止所有节点自动启动并停止VIP(注意必须使用 hosts文件中的VIP名称)
[root@rac1 ~]#
/u01/app/11.2.0/grid/bin/ srvctl disable vip -i
"rac1-vip"
[root@rac1 ~]# /u01/app/11.2.0/grid/bin/ srvctl disable vip -i "rac2-vip"
[grid@rac1 ~]$ srvctl stop vip -n rac1
[grid@rac1 ~]$ srvctl stop vip -n rac2
2.3 禁止所有节点的SCAN_LISTENER的启动,停止所有节点上的SCAN_LISTENER
[grid@rac1 ~]$ srvctl disable scan_listener
[grid@rac1 ~]$ srvctl stop scan_listener
2.4 禁止所有节点的SCAN的启动,停止所有节点上的SCAN
[root@rac1 ~]# /u01/app/11.2.0/grid/bin/srvctl disable scan
[grid@rac1 ~]$ srvctl stop scan
2.5 两边节点停止crs
[root@ rac1 ~]# /u01/app/11.2.0.0/grid/bin/crsctl stop crs // 每节点都要运行,可以用ps –ef | grep grid看进程是否完全关闭
3.1 修改两边节点的/etc/hosts文件
修改前先做个备份:cp /etc/hosts /etc/hosts.bak
修改后如下所示:
127.0.0.1
192.168.0.161
192.168.0.162
192.168.0.165
192.168.0.166
10.10.30.11
10.10.30.12
192.168.0.160
3.2 修改rac1及rac2节点网卡配置
(1)rac1节点网卡: vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改ip为 192.168.0.161,网关为192.168.0.253,掩码为 255.255.255.0
/etc/init.d/network restart
(2) rac2节点网卡:vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改ip为 192.168.0.162,网关为192.168.0.253,掩码为255.255.255.0
/etc/init.d/network restart
3.3 两边节点启动crs:
[root@ rac1 bin]# ./crsctl
start crs
3.4 集群的Public IP设置
[root@ rac1 bin]# ./oifcfg
getif
eth0
eth1
[root@ rac1 bin]# ./oifcfg delif -global eth0
[root@ rac1 bin]# ./oifcfg setif -global eth0/192.168.0.0:public
[root@ rac1 bin]# ./oifcfg
getif
3.5 集群的VIP设置
[root@rac1 bin]# ./srvctl
config vip -n rac1
VIP exists.:rac1
VIP exists.: /rac1-vip/192.168.4.216/255.255.255.0/eth0
[root@rac1 bin]# ./srvctl modify nodeapps -n rac1 -A 192.168.0.165/255.255.255.0/eth0
[root@rac1 bin]# ./srvctl modify nodeapps -n rac2 -A 192.168.0.166/255.255.255.0/eth0
[root@rac1 bin]# ./srvctl
config vip -n rac1
3.6 集群的SCAN IP设置
[grid@rac1 ~]$ srvctl config
scan
SCAN name: rac-cluster, Network: 1/192.168.4.0/255.255.255.0/eth0
SCAN VIP name: scan1, IP: /rac-cluster.localdomain/192.168.4.201
用root用户修改scan vip:
[root@ rac1 ~]# /u01/app/11.2.0.0/grid/bin/srvctl modify scan –n 192.168.0.160
[oracle@rac1 ~]$ srvctl
config scan
3.7 启动VIP、监听、scan和scan_listener、数据库
[root@rac1 bin]# ./srvctl enable listener –n rac1, rac2
[root@rac1 bin]# ./srvctl start listener -n rac1, rac2
[root@rac1 bin]# ./srvctl enable vip -i "rac1-vip"
[root@rac1 bin]# ./srvctl enable vip -i "rac2-vip"
[root@rac1 bin]# ./srvctl start vip –n rac1, rac2
[root@rac1 bin]# ./srvctl enable scan_listener
[root@rac1 bin]# ./srvctl start scan_listener
[root@rac1 bin]# ./srvctl enable scan
[root@rac1 bin]# ./srvctl start scan
[root@rac1 bin]# ./srvctl enable database -d db
[root@rac1 bin]# ./srvctl start database -d db
3.8 两边节点修改local_listener参数
SQL>Show parameter local_listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.4.216)(PORT=1521))))
SQL>alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.165)(PORT=1521))))' scope=both sid='db1';
alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.166)(PORT=1521))))' scope=both sid='db2';
1. 在修改public ip时注意修改对应的正确网关,如果不修改,有可能导致vip服务起不来。
2. 注意检查修改hosts文件,因为改ip后,hosts文件会增加记录。
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
7 两边节点启动crs后检查资源组状态:
crsctl start crs
检查资源组状态
crsctl status resource –t
如果都online,则没问题。
补充:
crsctl status resource -t 可以显示所有的CRS资源及状态
crsctl status resource -t -init 可以显示所有的OHASD资源及状态
修改资源的命令如下:
crsctl modify resource res -attr "xxxx=xxxx"
8 以下网址可供参考
http://blog.csdn.net/paluo/article/details/7103220
http://space.itpub.net/756652/viewspace-713984
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23613971/viewspace-1116311/ ,如需转载,请注明出处,否则将追究法律责任。