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

posted on   越野兔  阅读(33)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
点击右上角即可分享
微信分享提示