修改集群IP地址:(跨网段修改)
修改前规划:
当前IP地址配置:
IP地址 | 映射名 | 网卡名 | 备注 |
---|---|---|---|
192.168.199.203 | rac1 | eth0 | 一节点公网IP |
192.168.199.204 | rac2 | eth0 | 二节点 公网IP |
192.168.199.201 | rac1-vip | / | 一节点 VIP |
192.168.199.202 | rac2-vip | / | 二节点 VIP |
172.16.1.10 | rac1-priv | eth1 | 一节点 私网IP |
172.16.1.20 | rac2-priv | eth1 | 二节点 私网IP |
192.168.199.200 | rac-scan | / | 集群 SCAN IP |
修改后的地址:(私网地址不变)
IP地址 | 映射名 | 网卡名 | 备注 |
---|---|---|---|
192.168.100.155 | rac1 | eth0 | 一节点公网IP |
192.168.100.156 | rac2 | eth0 | 二节点 公网IP |
192.168.100.157 | rac1-vip | / | 一节点 VIP |
192.168.100.158 | rac2-vip | / | 二节点 VIP |
172.16.1.10 | rac1-priv | eth1 | 一节点 私网IP |
172.16.1.20 | rac2-priv | eth1 | 二节点 私网IP |
192.168.100.159 | rac-scan | / | 集群 SCAN IP |
由于涉及到VIP修改,修改前手动备份OCR。
[root@rac1 ~]# /oracle/grid/crs_1/bin/ocrconfig -export orc_bak;
修改步骤:
一:修改Public IP
1.查看集群网卡:
[root@rac1 ~]# /oracle/grid/crs_1/bin/oifcfg getif
eth0 192.168.199.0 global public
eth1 172.16.1.0 global cluster_interconnect
2.删除旧网卡配置:
[root@rac1 ~]# /oracle/grid/crs_1/bin/oifcfg delif -global eth0
3.重新设置新的公网IP:
[root@rac1 ~]# /oracle/grid/crs_1/bin/oifcfg setif -global eth0/192.168.100.0:public
4.再次查看
[root@rac1 ~]# /oracle/grid/crs_1/bin/oifcfg getif
eth1 172.16.1.0 global cluster_interconnect
eth0 192.168.100.0 global public
5.停止集群:
[root@rac1 ~]# /oracle/grid/crs_1/bin/crsctl stop crs
[root@rac2 ~]# /oracle/grid/crs_1/bin/crsctl stop crs
6.修改服务器公网IP地址
[root@rac1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
[root@rac2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
并重启网卡/etc/init.d/network restart
7.在两节点/etc/hosts文件中修改公网IP,VIP,SCAN IP地址:
172.16.1.10 rac1-priv
172.16.1.20 rac2-priv
192.168.100.155 rac1
192.168.100.156 rac2
192.168.100.157 rac1-vip
192.168.100.158 rac2-vip
192.168.100.159 rac-scan
8.启动集群:
[root@rac1 ~]# /oracle/grid/crs_1/bin/crsctl start crs
[root@rac2 ~]# /oracle/grid/crs_1/bin/crsctl start crs
两节点状态正常:
[root@rac1 ~]# /oracle/grid/crs_1/bin/crsctl check crs
[root@rac2 ~]# /oracle/grid/crs_1/bin/crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
二:修改VIP
1.查看VIP配置:
[root@rac1 ~]# /oracle/grid/crs_1/bin/srvctl config nodeapps -a
VIP exists: /rac1-vip/192.168.199.201/192.168.199.0/255.255.255.0/eth0, hosting node rac1
VIP exists: /rac2-vip/192.168.199.202/192.168.199.0/255.255.255.0/eth0, hosting node rac2
2.停止监听器:(确保监听关闭)
[root@rac1 ~]# /oracle/grid/crs_1/bin/srvctl stop listener
[root@rac1 ~]# /oracle/grid/crs_1/bin/srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is not running
3.关闭VIP:(确保VIP资源关闭)
[root@rac1 ~]# /oracle/grid/crs_1/bin/srvctl stop vip -n rac1
[root@rac1 ~]# /oracle/grid/crs_1/bin/srvctl stop vip -n rac2
//一般情况集群启动后,VIP 与 SCAN 与 监听 都处于offline状态。
4.修改VIP:
[root@rac1 ~]# /oracle/grid/crs_1/bin/srvctl modify nodeapps -A 192.168.100.157/255.255.255.0/eth0 -n rac1
[root@rac1 ~]# /oracle/grid/crs_1/bin/srvctl modify nodeapps -A 192.168.100.158/255.255.255.0/eth0 -n rac2
5.启动VIP以及监听器:
[root@rac1 ~]# /oracle/grid/crs_1/bin/srvctl start vip -n rac1
[root@rac1 ~]# /oracle/grid/crs_1/bin/srvctl start vip -n rac2
[root@rac1 ~]# /oracle/grid/crs_1/bin/srvctl start listener
三:修改SCAN IP
1.查看SCAN IP配置
[root@rac1 ~]# /oracle/grid/crs_1/bin/srvctl config scan
SCAN name: 192.168.199.200, Network: 1/192.168.100.0/255.255.255.0/eth0
SCAN VIP name: scan1, IP: /192.168.199.200/192.168.199.200
2.关闭SCAN与SCAN Listener:
[root@rac1 ~]# /oracle/grid/crs_1/bin/srvctl stop scan_listener
[root@rac1 ~]# /oracle/grid/crs_1/bin/srvctl stop scan
3.修改SCAN:
[root@rac1 ~]# /oracle/grid/crs_1/bin/srvctl modify scan -n rac-scan
4.启动SCAN与监听器:
[root@rac1 ~]# /oracle/grid/crs_1/bin/srvctl start scan
[root@rac1 ~]# /oracle/grid/crs_1/bin/srvctl start scan_listener
5.查看修改后的SCAN:
[root@rac1 ~]# /oracle/grid/crs_1/bin/srvctl config scan
SCAN name: rac-scan, Network: 1/192.168.100.0/255.255.255.0/eth0
SCAN VIP name: scan1, IP: /rac-scan/192.168.100.159
其他配置修改:
1.修改数据库实例的local_listener参数:(如果不修改该参数,数据库服务无法注册到监听器中)
SQL> alter system set local_listener=’(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.100.157)(PORT=1521))’ scope=both sid=‘racdb1’;
SQL> alter system set local_listener=’(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.100.158)(PORT=1521))’ scope=both sid=‘racdb2’;
SQL> alter system register;
2.检查ASM实例是否注册到监听器中,否则修改ASM实例的local_listener参数:
SQL> alter system set local_listener=’(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.100.157)(PORT=1521))))’ scope=both sid=’+ASM1’;
SQL> alter system set local_listener=’(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.100.158)(PORT=1521))))’ scope=both sid=’+ASM2’;
SQL> alter system register;
3.查看监听状态:VIP
[grid@rac1 ~]$ lsnrctl status
Service “+ASM” has 1 instance(s).
Instance “+ASM1”, status READY, has 1 handler(s) for this service…
Service “racdb” has 1 instance(s).
Instance “racdb1”, status READY, has 1 handler(s) for this service…
Service “racdbXDB” has 1 instance(s).
Instance “racdb1”, status READY, has 1 handler(s) for this service…
Service “session” has 1 instance(s).
4.查看监听状态:SCAN-IP
[grid@rac2 ~]$ lsnrctl status LISTENER_SCAN1
Service “racdb” has 2 instance(s).
Instance “racdb1”, status READY, has 1 handler(s) for this service…
Instance “racdb2”, status READY, has 1 handler(s) for this service…
Service “racdbXDB” has 2 instance(s).
Instance “racdb1”, status READY, has 1 handler(s) for this service…
Instance “racdb2”, status READY, has 1 handler(s) for this service…
集群IP地址修改完毕。