oracle 11g RAC集群IP修改步骤: 1、操作系统:CentOS 7.4 原IP信息:#public IP172.17.2.211 jq-hxdbt-211172.17.2.212 jq-hxdbt-212 #private IP172.17.5.211 jq-hxdbt-211-priv172.17.5.212 jq-hxdbt-212-priv #virtual IP:172.17.2.213 jq-hxdbt-211-vip172.17.2.214 jq-hxdbt-212-vip #scan ip172.17.2.215 hxdbscan 修改后: #public IP172.17.6.11 jq-hxdbt-11172.17.6.12 jq-hxdbt-12 #private IP172.17.7.213 jq-hxdbt-11-priv172.17.7.214 jq-hxdbt-12-priv #virtual IP:172.17.6.13 jq-hxdbt-11-vip172.17.6.14 jq-hxdbt-12-vip #scan ip172.17.6.15 hxdbscan 1 、正常关闭数据库、监听和集群crs 这里先正常immediate关闭数据库,然后关闭监听,最后关闭两个节点的crs, 这样再次启动crs时,就不会自动启动监听和数据库了。 节点1 grid执行即可。[grid@jq-hxdbt-211 ~]$ srvctl stop database -d crmpos -o immediate[grid@jq-hxdbt-211 ~]$ srvctl stop listener[grid@jq-hxdbt-211 ~]$ which crsctl/u01/app/11.2.0/grid/bin/crsctl两个节点root都执行:[root@jq-hxdbt-211 ~]# /u01/app/11.2.0/grid/bin/crsctl stop crs[root@jq-hxdbt-212 ~]# /u01/app/11.2.0/grid/bin/crsctl stop crs 2.修改/etc/hosts配置文件先备份原来的/etc/hosts文件为/etc/hosts.bak[root@jq-hxdbt-211 ~]# cp /etc/hosts /etc/hosts.bak[root@jq-hxdbt-212 ~]# cp /etc/hosts /etc/hosts.bak 然后再vi修改/etc/hosts文件:将public ip、vip、scan vip修改为如下值:两个节点都改。 #public IP172.17.6.11 jq-hxdbt-211172.17.6.12 jq-hxdbt-212 #virtual IP:172.17.6.13 jq-hxdbt-211-vip172.17.6.14 jq-hxdbt-212-vip #scan ip172.17.6.15 hxdbscan注意:其他内容不变。关于private ip,等后面单独修改private ip。---------------- 主机同学修改操作系统公有IP。修改网卡配置并重启。 -----------------两个节点启动crscrsctl start crs[root@jq-hxdbt-211 ~]# /u01/app/11.2.0/grid/bin/crsctl start crs[root@jq-hxdbt-212 ~]# /u01/app/11.2.0/grid/bin/crsctl start crs注意:这里如果是按照上面关闭crs的操作,正常数据库和监听是没有启动的,对应target和state都应该是offline。否则,得手工再关闭数据库和监听。[root@jq-hxdbt-211 ~]# /u01/app/11.2.0/grid/bin/crsctl start crsCRS-4123: Oracle High Availability Services has been started. crsctl stat res -t 查看状态 开始修改IP
1、 修改Public IP
查看当前设定,两个节点root用户执行,
1节点执行[root@jq-hxdbt-211 ~]# /u01/app/11.2.0/grid/bin/oifcfg getifeth0 172.17.2.0 global publiceth1 172.17.5.0 global cluster_interconnect
删除旧值并设定新值
[root@jq-hxdbt-211 ~]# /u01/app/11.2.0/grid/bin/oifcfg delif -global eth0
[root@jq-hxdbt-211 ~]# /u01/app/11.2.0/grid/bin/oifcfg setif -global eth0/172.17.6.0:public --查看验证修改成功:[root@jq-hxdbt-211 ~]# /u01/app/11.2.0/grid/bin/oifcfg getifeth1 172.17.5.0 global cluster_interconnecteth0 172.17.6.0 global public 二节点执行[root@jq-hxdbt-212 ~]# /u01/app/11.2.0/grid/bin/oifcfg delif -global eth0[root@jq-hxdbt-212 ~]# /u01/app/11.2.0/grid/bin/oifcfg setif -global eth0/172.17.6.0:public[root@jq-hxdbt-212 ~]# /u01/app/11.2.0/grid/bin/oifcfg getifeth1 172.17.5.0 global cluster_interconnecteth0 172.17.6.0 global public
2、 修改VIP 需要停止数据库、监听和VIP,如果按照之前操作,目前数据库和监听已经是停止状态。只需要停止vip即可。grid用户两节点执行即可。
[grid@jq-hxdbt-211 ~]$ srvctl stop vip -n jq-hxdbt-211
[grid@jq-hxdbt-212 ~]$ srvctl stop vip -n jq-hxdbt-212 查看状态 [grid@jq-hxdbt-211 ~]$ olsnodes -s jq-hxdbt-211 Active jq-hxdbt-212 Active [grid@jq-hxdbt-211 ~]$ srvctl config vip -n jq-hxdbt-211 VIP exists.:jq-hxdbt-211 VIP exists.: /jq-hxdbt-211-vip/172.17.6.13/255.255.255.0/eth0 [grid@jq-hxdbt-211 ~]$ srvctl config vip -n jq-hxdbt-212 VIP exists.:jq-hxdbt-212 VIP exists.: /jq-hxdbt-212-vip/172.17.6.14/255.255.255.0/eth0 修改VIP设置:root用户执行 /u01/app/11.2.0/grid/bin/srvctl modify nodeapps -n jq-hxdbt-211 -A 172.17.6.13/255.255.255.0/eth0 /u01/app/11.2.0/grid/bin/srvctl modify nodeapps -n jq-hxdbt-212 -A 172.17.6.14/255.255.255.0/eth0 再次验证修改结果: [grid@jq-hxdbt-211 ~]$ srvctl config vip -n jq-hxdbt-211 VIP exists.:jq-hxdbt-211 VIP exists.: /jq-hxdbt-211-vip/172.17.6.13/255.255.255.0/eth0 [root@jq-hxdbt-211 ~]# /u01/app/11.2.0/grid/bin/srvctl config vip -n jq-hxdbt-212 VIP exists.:jq-hxdbt-212 VIP exists.: /jq-hxdbt-212-vip/172.17.6.14/255.255.255.0/eth0 启动vip:grid用户执行: [grid@jq-hxdbt-211 ~]$ srvctl start vip -n jq-hxdbt-211 [grid@jq-hxdbt-211 ~]$ srvctl start vip -n jq-hxdbt-212 Crsctl stat res -t 检查状态已online ora.jq-hxdbt-211.vip ONLINE ONLINE jq-hxdbt-211 ora.jq-hxdbt-212.vip ONLINE ONLINE jq-hxdbt-212 启动监听: [grid@jq-hxdbt-211 ~]$ srvctl start listener 状态:online ora.LISTENER.lsnr ONLINE ONLINE jq-hxdbt-211 ONLINE ONLINE jq-hxdbt-212 启动数据库: [grid@jq-hxdbt-211 ~]$ srvctl start database -d crmpos 查看状态: ora.crmpos.db ONLINE ONLINE jq-hxdbt-211 Open ONLINE ONLINE jq-hxdbt-212 Open 确认local_listener信息:oralce用户登录数据库 SQL> show parameter listen NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ listener_networks string local_listener string (DESCRIPTION=(ADDRESS_LIST=(AD DRESS=(PROTOCOL=TCP)(HOST=172. 17.2.213)(PORT=1521)))) remote_listener string hxdbscan:1521 地址还是原来的172.17.2.213。修改为新的IP172.17.6.13。 alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=172.17.6.13)(PORT=1521))' scope=both sid='crmpos1'; 2 节点修改为172.17.6.14 alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=172.17.6.14)(PORT=1521))' scope=both sid='crmpos2'; 3 修改SCAN IP 查看SCAN VIP当前设置:grid用户 [grid@jq-hxdbt-211 ~]$ srvctl config scan SCAN name: hxdbscan, Network: 1/172.17.6.0/255.255.255.0/eth0 SCAN VIP name: scan1, IP: /172.17.2.215/172.17.2.215 停止scan_listener和scan资源: [grid@jq-hxdbt-211 ~]$ srvctl stop scan_listener [grid@jq-hxdbt-211 ~]$ srvctl stop scan [grid@jq-hxdbt-211 ~]$ srvctl status scan_listener SCAN Listener LISTENER_SCAN1 is enabled SCAN listener LISTENER_SCAN1 is not running [grid@jq-hxdbt-211 ~]$ srvctl status scan SCAN VIP scan1 is enabled SCAN VIP scan1 is not running [grid@jq-hxdbt-211 ~]$ 使用root用户修改SCAN IP:节点1执行就可。 [root@jq-hxdbt-211 ~]# /u01/app/11.2.0/grid/bin/srvctl modify scan -n hxdbscan 修改并启动,grid用户执行: [grid@jq-hxdbt-211 ~]$ srvctl modify scan_listener -u [grid@jq-hxdbt-211 ~]$ srvctl start scan_listener Crsctl stat res -t 查看scan_listener和scan都已经启动: ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE jq-hxdbt-211 ora.scan1.vip 1 ONLINE ONLINE jq-hxdbt-211 再次确认信息修改成功: [grid@jq-hxdbt-211 ~]$ srvctl config scan SCAN name: hxdbscan, Network: 1/172.17.6.0/255.255.255.0/eth0 SCAN VIP name: scan1, IP: /hxdbscan/172.17.6.15 [grid@jq-hxdbt-211 ~]$ srvctl config scan_listener SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521 查看整个集群状态正常: [grid@jq-hxdbt-211 ~]$ crsctl stat res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE jq-hxdbt-211 ONLINE ONLINE jq-hxdbt-212 ora.FRA.dg ONLINE ONLINE jq-hxdbt-211 ONLINE ONLINE jq-hxdbt-212 ora.LISTENER.lsnr ONLINE ONLINE jq-hxdbt-211 ONLINE ONLINE jq-hxdbt-212 ora.OCR.dg ONLINE ONLINE jq-hxdbt-211 ONLINE ONLINE jq-hxdbt-212 ora.asm ONLINE ONLINE jq-hxdbt-211 Started ONLINE ONLINE jq-hxdbt-212 Started ora.eons ONLINE ONLINE jq-hxdbt-211 ONLINE ONLINE jq-hxdbt-212 ora.gsd OFFLINE OFFLINE jq-hxdbt-211 OFFLINE OFFLINE jq-hxdbt-212 ora.net1.network ONLINE ONLINE jq-hxdbt-211 ONLINE ONLINE jq-hxdbt-212 ora.ons ONLINE ONLINE jq-hxdbt-211 ONLINE ONLINE jq-hxdbt-212 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE jq-hxdbt-211 ora.crmpos.db 1 ONLINE ONLINE jq-hxdbt-211 Open 2 ONLINE ONLINE jq-hxdbt-212 Open ora.jq-hxdbt-211.vip 1 ONLINE ONLINE jq-hxdbt-211 ora.jq-hxdbt-212.vip 1 ONLINE ONLINE jq-hxdbt-212 ora.oc4j 1 OFFLINE OFFLINE ora.scan1.vip 1 ONLINE ONLINE jq-hxdbt-211 全部正常。 至此,修改Oracle 11g RAC的public IP、VIP、SCAN VIP就算完成了。通过plsql使用新的IP进行连接测试。6.11/12/13/14全部登录成功。 修改Private IP 因为Private IP不提供外部服务,可以不修改,这里仅进行测试一下。正式迁移时可规划好IP,不进行修改。 备份并确认CRS集群正常 从Oracle 11.2 GI开始,私有网络配置不仅仅存在ocr中,还存在gpnp profile中,所以首先需要备份profile.xml。 -- 节点1备份:grid用户执行 [grid@jq-hxdbt-211 peer]$ cd /u01/app/11.2.0/grid/gpnp//profiles/peer/ [grid@jq-hxdbt-211 peer]$ cp profile.xml profile.xml.bk -- 节点2备份: [grid@jq-hxdbt-212 peer]$ cd /u01/app/11.2.0/grid/gpnp//profiles/peer/ [grid@jq-hxdbt-212 peer]$ cp profile.xml profile.xml.bk 确认CRS集群在各节点启动: [grid@jq-hxdbt-211 peer]$ olsnodes -s jq-hxdbt-211 Active jq-hxdbt-212 Active 增加一个新的私网信息:root用户执行: 查看: [root@jq-hxdbt-211 ~]# /u01/app/11.2.0/grid/bin/oifcfg getif eth1 172.17.5.0 global cluster_interconnect eth0 172.17.6.0 global public 增加命令: 172.17.7.0,用以下命令:
/u01/app/11.2.0/grid/bin/oifcfg setif -global eth1/172.17.7.0:cluster_interconnect再次查看:[root@jq-hxdbt-211 ~]# /u01/app/11.2.0/grid/bin/oifcfg getifeth1 172.17.5.0 global cluster_interconnecteth0 172.17.6.0 global publiceth1 172.17.7.0 global cluster_interconnect [root@jq-hxdbt-211 ~]# Root 用户在两个节点关闭并禁用集群 [root@jq-hxdbt-211 ~]# /u01/app/11.2.0/grid/bin/crsctl stop crs [root@jq-hxdbt-212 ~]# /u01/app/11.2.0/grid/bin/crsctl stop crs [root@jq-hxdbt-211 ~]# /u01/app/11.2.0/grid/bin/crsctl disable crs [root@jq-hxdbt-212 ~]# /u01/app/11.2.0/grid/bin/crsctl disable crs ----------------- 主机同学OS层修改私有网卡地址-- ifconfig -a ping
修改私有网卡IP并重启: vi /etc/hosts 修改private ip部分为: #private IP 172.17.7.213 jq-hxdbt-211-priv 172.17.7.214 jq-hxdbt-212-priv root 用户在所有节点启用并启动集群 [root@jq-hxdbt-211 ~]# /u01/app/11.2.0/grid/bin/crsctl enable crs [root@jq-hxdbt-212 ~]# /u01/app/11.2.0/grid/bin/crsctl enable crs [root@jq-hxdbt-211 ~]# /u01/app/11.2.0/grid/bin/crsctl start crs [root@jq-hxdbt-212 ~]# /u01/app/11.2.0/grid/bin/crsctl start crs 新增 172.17.7.0 ,则删除原来的 172.17.5.0 root 执行 /u01/app/11.2.0/grid/bin/oifcfg delif -global eth1/172.17.5.0:cluster_interconnect 这里因为还是用的之前的网段,不需要操作。 验证集群状态以及登录数据库Crsctl stat res -tPlsql登录6.11/12/13/14/15均正常, 至此,所有IP修改完毕。
