红色粗体是需要注意的地方,红色粗体斜体是需要根据现场情况修改的地方。此实验是用public_ip修改成同网段,private_ip修改成不同网段来模拟public和private ip都修改成不同网段的oracle 11g rac修改ip过程,如果public_ip修改的是同网段,则直接停止集群,修改hosts文件,修改网卡,然后直接重启集群就可以了。
一. 实验环境
类别 | 节点 | 修改前 | 修改后 |
public_ip | rac1 | 192.168.1.211 | 192.168.1.221 |
rac2 | 192.168.1.212 | 192.168.1.222 | |
vip | rac1 | 192.168.1.213 | 192.168.1.223 |
rac2 | 192.168.1.214 | 192.168.1.224 | |
private_ip | rac1 | 10.10.10.23 | 20.20.20.23 |
rac2 | 10.10.10.24 | 20.20.20.24 | |
scan_ip | 192.168.1.215 | 192.168.1.225 |
一. 备份
1.备份OCR
手动备份ocr文件
ocrconfig –manualbackup
2.备份安装路径
如果有空间可以备份一下oracle的安装路径
三. 修改IP
1.停止crs及相关资源
1)禁止所有节点的自启动,关闭所有节点的数据库和监听(1节点上用grid用户执行)
srvctl disable listener //禁止自启动
srvctl stop listener //停止监听
lsnrctl status //检查监听状态
./srvctl disable database -d rac //禁止数据库自启动,使用root用户,跳转到grid用户的$ORACLE_HOME下的bin目录下
srvctl stop database -d rac -o immediate //关闭数据库,红色标注为数据库名,本次实验为rac
2)禁止所有节点的vip自启动,停止所有节点的vip(1节点上,禁止命令用root用户,停止命令用grid用户,vip的名字必须和hosts文件里配置的一致)
./srvctl disable vip -i "rac1-vip" //禁止1节点vip自启动,使用root用户,跳转到grid用户的$ORACLE_HOME/bin目录下执行
./srvctl disable vip -i "rac2-vip" //禁止2节点vip自启动,使用root用户,跳转到grid用户的$ORACLE_HOME/bin目录下执行
srvctl stop vip -n rac1 //停止1节点上vip,使用grid用户执行,rac1为节点1名称
srvctl stop vip -n rac2 //停止2节点上vip,使用grid用户执行,rac1为节点2名称
在一个节点上用grid执行crsctl stat res –t 查看实时的集群状态
3)禁止所有节点的scan_listener,停止所有节点的scan_listener(1节点上用grid用户执行)
srvctl disable scan_listener
srvctl stop scan_listener
4)禁止所有节点的scan,停止所有节点的scan(1节点上,禁止命令用root用户,停止命令用grid用户执行)
./srvctl disable scan //禁止scan自启动,用root用户跳转到grid用户的$ORACLE_HOME/bin目录下执行
srvctl stop scan //停止scan
6)停止crs(两个节点都要执行,使用root用户)
./crsctl stopcrs //停止crs
2.修改public_ip,private_ip,vip,scan(使用root用户)
1)备份/ect/hosts文件,修改/etc/hosts(两个节点都修改)
2)修改网卡信息(如果是网卡绑定的就修改相应的绑定的网卡信息,如bond0。如果也修改了private_ip,也需要修改相对应的网卡)
cd /etc/sysconfig/network-scripts/
vi ifcfg-eth0
3)启动crs(两个节点都启动,root用户跳转到grid用户的$ORACLE_HOME/bin目录下执行)
./crsctl start crs //启动crs
4)查看当前集群的ip信息
./oifcfg getif //用root用户跳转到grid用户的$ORACLE_HOME/bin目录下执行
5)开始重新配置public_ip
./oifcfg delif -global eth0 //删除旧的public_ip
./oifcfg setif-global eth0/192.168.1.0:public //重新配置新的public_ip,我直接测试的是一个段的ip,正式修改为规划的ip段
./oifcfg getif //每个节点都检查一下是否都修改成功
6)修改private_ip(修改私ip时,必须先添加一个私有网络,然后在删除)
先检查现在的private_ip
./oifcfg setif-global eth1/20.20.20.0:cluster_interconnect
./oifcfg delif-global eth1/10.10.10.0 //删除旧的private_ip
7)修改vip
./srvctl modify nodeapps -n rac1 -A 192.168.1.223/255.255.255.0/eth0
./srvctl modify nodeapps -n rac2 -A 192.168.1.224/255.255.255.0/eth0
./srvctl config vip -n rac1
./srvctl config vip -n rac2
8)修改scan_ip
./srvctl modify scan -n 192.168.1.225
9)开启自启动和启动vip,listener,scan_listener,db(使用root用户)
./srvctl enable vip -i "rac1-vip"
./srvctl enable vip -i "rac2-vip"
./srvctl start vip -n rac1
./srvctl start vip -n rac2
在2节点监控资源的状态 用root用户跳转到grid用户的$ORACLE_HOME/bin目录下,执行./crsctl stat res –t
开启listener
开启scan
开启scan_listener
开启数据库
./srvctl enable database -d rac
./srvctl start database -d rac
至此,public_ip,private_ip,vip,scan_ip都修改完毕
再手工备份一下ocr文件
四.检查测试
1.检查集群状态
2.检查数据库连接状态
5个ip都能连接