场景
rac->rac DG.切换到新主库,应用不修改.
修改内容: 2个节点RAC修改VIP和SCAN IP 地址, 网络环境/网卡等都不变.
环境
2个RAC 搭建DG.
RHEL 7.9, Oracle 11g
vip:
节点1: 192.168.56.193改为 192.168.56.195
节点2: 192.168.56.194改为192.168.56.196
scan ip: 从192.168.56.199 改为 192.168.56.198
数据库名: orcl
文档
- How to Modify SCAN Setting or SCAN Listener Port after Installation (Doc ID 972500.1)
- How to Modify Public Network Information including VIP in Oracle Clusterware (Doc ID 276434.1)
说明
修改scan ip: 修改host文件的scan ip地址.同时需要修改cluster信息.
修改vip 只修改host文件的vip地址即可.不需要修改cluster 信息.
修改scan ip可能需要修改数据库的remote_ip参数.
新主库可能要建一个service和原主库的db_unique_name相同,以供应用连接.
步骤
1. 修改hosts文件
操作: ,2个节点,root
比如修改前:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# Public host info
192.168.56.191 rac1
192.168.56.192 rac2
# Private host info
192.168.0.191 rac1-priv
192.168.0.192 rac2-priv
# Virtual host info
192.168.56.193 rac1-vip
192.168.56.194 rac2-vip
# SCAN
192.168.56.199 rac-scan
修改后:
[grid@rac1 ~]$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# Public host info
192.168.56.191 rac1
192.168.56.192 rac2
# Private host info
192.168.0.191 rac1-priv
192.168.0.192 rac2-priv
# Virtual host info
192.168.56.195 rac1-vip
192.168.56.196 rac2-vip
# SCAN
192.168.56.198 rac-scan
2. srvctl修改scan ip
操作:节点1, grid和root (modify)
(#开头是root,其它grid)
$srvctl config scan
$srvctl stop listener_scan
$srvctl stop scan
$srvctl status scan
$srvctl status listener_scan
#srvctl modify scan -n rac-scan
$srvctl start scan
$srvctl start scan_listener
$srvctl config scan
3.关闭数据库
操作:节点1 oracle
srvctl stop database -d orcl
4. 关闭cluster
操作:2个节点, root
#crsctl stop crs
5.启动cluster
等2个节点都关闭后再启动
操作:2个节点分别操作
#crsctl start crs
6.检查vip,scanip
操作:节点1 grid
ip a |grep inet
srvctl status scan
srvct status listener_scan
lsnrctl status listener_scan1
7. 启动数据库
操作:节点1 oracle
srvctl start database -d orcl
8. 检查remote_listener并修改
如果需要使用了以前的scan ip, 修改为新的scan ip(192.168.56.198)
alter system set remote_listener='192.168.56.198:1521'scope=both sid='*' ;
建service
srvctl add service -d ctp -s ctpdb -r ctp1,ctp2
说明: -d 数据库名, -s: service名, -r: prefer 优先选择使用的instance名. -a : avaiable instance名.