ORACLE更改RAC集群IP
RAC名称记录
属性 | 名称 | IP |
---|---|---|
内网1/public网1 | ora11grac1 | 192.168.3.81 |
内网2/public网2 | ora11grac2 | 192.168.3.82 |
vip1 | ora11grac1vip | 192.168.3.83 |
vip2 | ora11grac2vip | 192.168.3.84 |
private1 | ora11grac1priv | 172.168.10.1 |
private2 | ora11grac2priv | 172.168.10.2 |
scanIP | ora11gracscan | 192.168.3.85 |
前置动作
关闭数据库
srvctl stop database -d ora11g srvctl status database -d ora11g
两个节点分别停止RAC集群
crsctl stop crs crsctl check crs
两个节点分别更改hosts文件
cp /etc/hosts /etc/hosts`date +"%F"`.bak1
#备份文件
vi /etc/hosts
#可以一次性更改所有老IP为新IP
更改public ip
两个节点分别更改物理IP
vi /etc/sysconfig /network-scripts/ifcfg-enp92s0f0 systemctl restart network.service
两个节点分别修改hosts文件中新的物理ip
vi /etc/hosts
更改private ip
private ip一般不需要更改
更改private ip需要在crs服务运行状态下进行
crsctl check crs | grep Cluster
查看private ip信息
oifcfg getif
#cluster_interconnect表示private网络,并记录下设备编号enp92s0f3
添加新的private ip网络
oifcfg setif -global enp92s0f3/172.168.10.0:cluster_interconnect
#添加新网段,如果想改用不同的网卡可以使用新网卡名称
删除旧的private ip
oifcfg delif -global enp92s0f3/10.110.1.0
#删除旧网段
两个节点分别修改private ip所对应的物理网卡上的ip地址设置
vi /etc/sysconfig/network-scripts/ifcfg-enp92s0f3 systemctl restart network.service
两个节点分别修改hosts文件中新private ip
vi /etc/hosts
检查更改后的新ip
oifcfg getif
更改vip
实际操作中,更改hosts文件并重启crs后,vip会自动更改,无需手动操作更改
如果需要,可以手动进行更改,以下为需要手动更改时的操作方式
关闭监听
srvctl config nodeapps -a
#查询所有节点的配置信息,并记录下网络编号enp92s0f0
srvctl status listener
srvctl stop listener
分别关闭各节点上的vip
srvctl config vip -n ora11grac1
#查询节点1/ora11grac1上设置的vip
srvctl config vip -n ora11grac2
#查询节点2/ora11grac2上设置的vip
srvctl status vip -n ora11grac1
#查询节点1上vip的运行状态
srvctl status vip -n ora11grac2
#查询节点2上vip的运行状态
srvctl stop vip -n ora11grac1
#关闭节点1上的vip
srvctl stop vip -n ora11grac2
#关闭节点2上的vip
分别更改各节点新vip
srvctl modify nodeapps -n ora11grac1 -A 192.168.3.83/255.255.248.0/enp92s0f0 srvctl modify nodeapps -n ora11grac2 -A 192.168.3.84/255.255.248.0/enp92s0f0 srvctl config nodeapps -a srvctl status nodeapps
分别启动vip
srvctl start vip -n ora11grac1vip srvctl start vip -n ora11grac2vip
启动监听
srvctl start listener srvctl status listener srvctl config nodeapps -a
更改scan ip
关闭scan监听
srvctl status scan_listener srvctl stop scan_listener
更改scan新ip
srvctl config scan
#获取scan的名称ora11gScanName
srvctl status scan
srvctl stop scan
vi /etc/hosts
#更改scan名称对应的新IP
srvctl modify scan -n ora11gScanName
#从hosts中读取最新的解析IP,然后刷新注册到RAC中,也可以使用全新名称scanname/IP
srvctl config scan
#确认新IP是否更改成功
srvctl start scan
srvctl status scan
启动scan监听
srvctl start scan_listener srvctl status scan_listener
如果需要切换scan监听服务运行所在的节点
srvctl relocate scan -i 1 -n ora11grac2
#切换到节点2
srvctl status scan_listener
后续操作
两个节点分别启动RAC集群
crsctl start crs
启动数据库
srvctl start database -d ora11g
检查数据库状态
select name,open_mode from v$database;
其他配置检查
两个节点的数据库实例分别检查local_listener
su - oracle sqlplus / as sysdba SQL> select instance_name,status from v$instance; SQL> show parameter local;
如果需要修改,则执行
SQL> alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.3.83)(PORT=1521))' scope=both sid='ora11g1'; SQL> alter system register;
两个节点的数据库实例分别检查ASM实例是否注册到监听器中
su - grid sqlplus / as sysasm SQL> select instance_name,status from v$instance; SQL> show parameter local;
如果需要修改,则执行
SQL> alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.3.83)(PORT=1521))' scope=both sid='+ASM1'; SQL> alter system register;
检查各个新IP是否通
ping 192.168.3.85
检查vip监听状态
lsnrctl status
检查scan ip监听状态
srvctl status scan_listener
DB服务器两个节点分别检查tnsnames文件
vi $ORACLE_HOME/network/admin/tnsnames.ora
其他应用程序客户端修改tnsnames文件
vi $ORACLE_HOME/network/admin/tnsnames.ora
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报