说明:
版本:Oracle 11.2.0.4.0 RAC 将Oracle RAC节点VIP2地址从100.1.0.106改成100.1.0.108(相同网段)。
注意:
1.一般来说,只有在10.2.0.3版本之前的版本中才需要完全停机。 2.从10.2.0.3开始,ASM/数据库实例对VIP资源的依赖关系将被删除,因此可以不关闭ASM/数据库实例的情况下修改VIP,当VIP关闭时,只有到数据库的客户端连接将受到影响。 3.如果修改是特定于节点的,那么在更改期间,只有与该节点的连接才会受到影响。
1.查看集群状态和IP crsctl stat res -t 查看IP ip a
3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:50:56:b1:03:db brd ff:ff:ff:ff:ff:ff inet 100.1.0.45/24 brd 100.1.0.255 scope global ens192 valid_lft forever preferred_lft forever inet 100.1.0.107/24 brd 100.1.0.255 scope global secondary ens192:1 valid_lft forever preferred_lft forever inet 100.1.0.106/24 brd 100.1.0.255 scope global secondary ens192:2 valid_lft forever preferred_lft forever inet6 fe80::250:56ff:feb1:3db/64 scope link valid_lft forever preferred_lft forever
2.备份OCR
su - root cd /oracle/grid/product/11.2/bin ./ocrconfig -manualbackup
日志如下:
cjc-db-06 2023/04/21 17:13:11 /oracle/grid/product/11.2/cdata/test-clu/backup_20230421_171311.ocr
3.备份profile(双节点、grid用户备份)
su - grid cd $ORACLE_HOME/gpnp/profiles/peer cp profile.xml profile.xml_20230421bak cp profile_orig.xml profile_orig.xml_20230421bak
4.修改VIP 查看
srvctl config nodeapps
日志如下:
Network exists: 1/100.1.0.0/255.255.255.0/ens192, type static VIP exists: /cjc-db-05-vip/100.1.0.105/100.1.0.0/255.255.255.0/ens192, hosting node cjc-db-05 VIP exists: /cjc-db-06-vip/100.1.0.106/100.1.0.0/255.255.255.0/ens192, hosting node cjc-db-06 GSD exists ONS exists: Local port 6100, remote port 6200, EM port 2016
修改
su - root cd /oracle/grid/product/11.2/bin ./srvctl modify nodeapps -n cjc-db-06 -A 100.1.0.108/255.255.255.0/ens192 ./srvctl config nodeapps
日志
Network exists: 1/100.1.0.0/255.255.255.0/ens192, type static VIP exists: /cjc-db-05-vip/100.1.0.105/100.1.0.0/255.255.255.0/ens192, hosting node cjc-db-05 VIP exists: /100.1.0.108/100.1.0.108/100.1.0.0/255.255.255.0/ens192, hosting node cjc-db-06 GSD exists ONS exists: Local port 6100, remote port 6200, EM port 2016
5.查询并修改local_listener、remote_listener参数
show parameter local_listener; local_listener string (ADDRESS=(PROTOCOL=TCP)(HOST=100.1.0.106)(PORT=1521))
修改
alter system set local_listener="(ADDRESS=(PROTOCOL=TCP)(HOST=100.1.0.108)(PORT=1521))";
show parameter remote_listener;
如果涉及VIP地址,需要修改对应的参数 6.检查并修改listener.ora和tnsnames.ora文件
cd $ORACLE_HOME/network/admin cat listener.ora cat tnsnames.ora
如果文件中涉及VIP地址,需要修改对应的信息。 7.停用crs
su - root cd /oracle/grid/product/11.2/bin ./crsctl stop crs
8.修改 /etc/hosts 文件
vi /etc/hosts ...... # Virtual 100.1.0.105 cjc-db-05-vip #100.1.0.106 cjc-db-06-vip 100.1.0.108 cjc-db-06-vip ......
9.启动集群
cd /oracle/grid/product/11.2/bin ./crsctl start crs
10.检查 oifcfg getif -global
root@cjc-db-06:/oracle/grid/product/11.2/bin#su - grid Last login: Fri Apr 21 17:19:30 CST 2023 on pts/0 grid@cjc-db-06:/home/grid$oifcfg getif -global ens192 100.1.0.0 global public ens161 100.1.7.0 global cluster_interconnect
srvctl config nodeapps
grid@cjc-db-06:/home/grid$srvctl config nodeapps Network exists: 1/100.1.0.0/255.255.255.0/ens192, type static VIP exists: /cjc-db-05-vip/100.1.0.105/100.1.0.0/255.255.255.0/ens192, hosting node cjc-db-05 VIP exists: /100.1.0.108/100.1.0.108/100.1.0.0/255.255.255.0/ens192, hosting node cjc-db-06 GSD exists ONS exists: Local port 6100, remote port 6200, EM port 2016
如果非同一网段,重启集群之前还需要修改其他配置 --查看当前配置:
oifcfg getif -global
日志如下:
ens192 100.1.0.0 global public ens161 100.1.7.0 global cluster_interconnect
--删除当前配置
./oifcfg delif -global eth0
--添加当前配置
./oifcfg setif -global eth0/100.16.0.0:public ./oifcfg setif -global eth1/192.168.0.0:cluster_interconnect
--查看当前配置:
oifcfg getif -global eth0 100.16.0.0 global public eth1 192.168.0.0 global cluster_interconnect
###chenjuchao 20230422###
