技术分享 | Oracle-RAC修改IP信息
本文为墨天轮数据库管理服务团队第61期技术分享,内容原创,作者为技术顾问胡振兴,如需转载请联系小墨(VX:modb666)并注明来源。
在生产中有时候会遇到网络变更,Oracle RAC IP信息更换等情况,分别测试下RAC几种IP的修改方法。
1、前期准备
本次实验使用的是 Oracle 19C RAC 2 节点的数据库,数据库名称为
PROD,实例名为 PROD1/PROD2,在正式进行修改之前,需要先确认好源环境的 IP 信息以及需要修改后的 IP 信息。
原环境IP信息:
新环境IP信息:
在确认好 IP 信息之后,就可以做一些前置工作
-
备份 OCR 和 GPNP profile 文件
-
正常关库、监听和 CRS
-
修改 /etc/hosts 配置文件
-
OS 层修改公有网卡地址
-
启动 crs
2、备份 OCR 和 GPNP profile 文件
从 Oracle 11.2 GI 开始,私有网络配置不仅仅存在 ocr 中,还存在 gpnp profile 中,在正式操作前,建议先备份 OCR 以及 GPNP profile 文件,防止修改过程中失败可以回退用。
切换到 grid 用户,所有节点均需执行
节点一:
节点二:
root 用户执行手工 OCR 的备份:
查看OCR的手工备份:
3、正常关库、监听和 CRS
首先需要关闭 Oracle 相关的资源,先正常关闭数据库,然后关闭监听,最后关闭两个节点的 crs:
单节点 grid 用户执行
在所有节点用 root 用户执行
[root@jay-r1 ~]# /u01/app/19.3.0/grid/bin/crsctl stop crs
[root@jay-r2 ~]# /u01/app/19.3.0/grid/bin/crsctl stop crs
注意: 这样再次启动crs时,就不会自动启动监听和数据库了。
4、修改 /etc/hosts 配置文件
建议先将所有节点原来的 /etc/hosts 文件备份,不要直接进行修改:
[root@jay-r1 ~]# cp /etc/hosts /etc/hosts.bak
[root@jay-r2 ~]# cp /etc/hosts /etc/hosts.bak
然后再修改/etc/hosts文件,将对应 IP 修改为如下值(Private IP 暂时不改)
注意: 其他内容不需要改变
5、OS 层修改公有网卡地址
接下来就是进行系统层的网络 IP 信息修改:
节点一:
节点二 :
修改网卡 IP 地址之后,使用新的 IP 地址登录:
6、启动 crs
主机层的 IP 修改完之后,就可以启动 CRS:
在所有节点用 root 用户执行
正常来说,在关闭 CRS 之前正常关闭数据库和监听,所以应该不会带动数据库和监听启动,但是有些数据库会配置开机自动,所以需要检查数据库和监听是否启动:
如果是正常启动状态,建议先关闭:
[grid@jay-r1:/home/grid]$srvctl stop database -d prod
[grid@jay-r1:/home/grid]$srvctl stop listener
7、Public IP
root 用户查看并修改共享盘网络配置:
由于我们这里修改 IP 地址并没有涉及到网关的变化,属于同网段 IP 修改,所以不需要进行修改。如果是跨网段修改为
192.168.1.0,则可以参照以下进行操作:
/u01/app/19.3.0/grid/bin/oifcfg delif -global ens33
/u01/app/19.3.0/grid/bin/oifcfg setif -global ens33/192.168.1.0:public
所有节点查看验证修改成功
8、Virtual IP
修改 Virtual IP 需要停止数据库、监听和VIP,如果按照之前操作,目前数据库和监听已经是停止状态:
查看VIP 当前配置:
修改 VIP 设置:
再次验证 VIP 修改完成:
启动 vip:
确认 local_listener 信息:
节点一:
节点二:
修改为新的VIP
9、SCAN IP
首先需要停止 scan_listener 和 scan 资源:
使用 root 用户修改SCAN VIP:
修改并启动资源:
如果同时修改 scan 名称,还需要修改数据库参数 remote_listener:
alter system set remote_listener='jay-racscan:1521' sid='*';
10、Private IP
由于很少会遇到修改 Private IP 的需求,所以放在最后
root 用户查看并修改共享盘网络配置
注意: 由于我们这里修改 IP 地址并没有涉及到网关的变化,属于同网段 IP 修改,所以不需要进行修改。如果是跨网段修改为
10.10.0.0,则可以参照以下进行操作
/u01/app/19.3.0/grid/bin/oifcfg delif -global ens34
/u01/app/19.3.0/grid/bin/oifcfg setif -global ens34/10.10.0.0:public
所有节点查看验证修改成功
[root@jay-r1 ~]# /u01/app/19.3.0/grid/bin/oifcfg getif
[grid@jay-r1:/home/grid]$/u01/app/19.3.0/grid/bin/oifcfg getif
最后,重启数据库,集群,主机,验证修改是否成功:
重启后集群状态正常:
墨天轮从乐知乐享的数据库技术社区蓄势出发,全面升级,提供多类型数据库管理服务。墨天轮数据库管理服务旨在为用户构建信赖可托付的数据库环境,并为数据库厂商提供中立的生态支持。
服务官网:https://www.modb.pro/service