文章目录
前言
用adg将单机源库切换到rac新目标库过程中为避免大量修改业务IP,需要将RAC环境新主库的scan_ip从临时地址修改为业务地址
一、SCAN_IP是什么?
先介绍一下什么叫SCAN,SCAN(Single Client Access Name)是Oracle从11g R2开始推出的,客户端可以通过SCAN特性负载均衡地连接到RAC数据库。SCAN提供一个域名来访问RAC,域名可以解析1个到3个(注意,最多3 个)SCAN IP,我们可以通过DNS或者GNS来解析实现。其中DNS大家都很熟悉,这里不多说。GNS(Grid Naming Service)则是Oracle 11g R2的新功能,可以通过DHCP服务为节点和SCAN分配VIP和SCAN IP。另外还有个优点是,对于新加入集群的节点,它会自动分配VIP地址,更新集群资源,客户端依然通过SCAN特性负载均衡地连接到新增集群节点上。
1.scan_ip是随机散落在各个节点上的。但可以手动relocate到其他节点。
2.多节点rac可配置最多3个scan_ip。
二、修改单scan_ip为双scan_ip
1.查看当前scan和scan_listener配置
[oracle@zydb1 ~]$ srvctl config scan
SCAN name: zydb-scan, Network: 1/192.168.0.0/255.255.255.0/enp0s3
SCAN VIP name: scan1, IP: /zydb-scan/192.168.0.15
[grid@zydb1 ~]$ srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is running on node zydb2
[grid@zydb1 ~]$ srvctl config scan_listener
SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521
[grid@zydb1 ~]$ srvctl status scan_listener
SCAN Listener LISTENER_SCAN1 is enabled
SCAN listener LISTENER_SCAN1 is running on node zydb2
2.修改各节点/etc/hosts文件
[root@zydb1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.11 zydb1
192.168.0.12 zydb2
192.168.56.104 zydb1-priv
192.168.56.103 zydb2-priv
192.168.0.13 zydb1-vip
192.168.0.14 zydb2-vip
192.168.0.15 zydb-scan
192.168.0.16 zydb-scan
**(scan名用同一个)**
3.停止san_ip服务和scan_listener服务
[grid@zydb1 ~]$ srvctl stop scan
[grid@zydb1 ~]$ srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is not running
[oracle@zydb1 ~]$ srvctl stop scan_listener
[oracle@zydb1 ~]$ srvctl status scan_listener
SCAN Listener LISTENER_SCAN1 is enabled
SCAN listener LISTENER_SCAN1 is not running
4.修改scan_ip(在root下配置)
[root@zydb1 ~]# cd /u01/11.2.0/grid/bin/
[root@zydb1 bin]# ./srvctl modify scan -n zydb-scan
[root@zydb1 bin]# ./srvctl modify scan_listener -u
5.启动scan_ip和scan_listener服务
[grid@zydb1 ~]$ srvctl start scan
[grid@zydb1 ~]$ srvctl start scan_listener
[grid@zydb1 ~]$ srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is running on node zydb2
SCAN VIP scan2 is enabled
SCAN VIP scan2 is running on node zydb1
[grid@zydb1 ~]$ srvctl config scan
SCAN name: zydb-scan, Network: 1/192.168.0.0/255.255.255.0/enp0s3
SCAN VIP name: scan1, IP: /zydb-scan/192.168.0.15
SCAN VIP name: scan2, IP: /zydb-scan/192.168.0.16
[grid@zydb1 ~]$ srvctl status scan_listener
SCAN Listener LISTENER_SCAN1 is enabled
SCAN listener LISTENER_SCAN1 is running on node zydb2
SCAN Listener LISTENER_SCAN2 is enabled
SCAN listener LISTENER_SCAN2 is running on node zydb1
**启动服务后如果scan_ip还是连不上,可能需要重启一下db注册一下监听**
srvctl stop database -d orcl
srvctl start database -d orcl
6.网卡变化
节点一
[grid@zydb1 ~]$ ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.11 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::6c87:b777:fe5b:1f6d prefixlen 64 scopeid 0x20<link>
ether 08:00:27:76:a6:45 txqueuelen 1000 (Ethernet)
RX packets 5984 bytes 610243 (595.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3399 bytes 601154 (587.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s3:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.16 netmask 255.255.255.0 broadcast 192.168.0.255
ether 08:00:27:76:a6:45 txqueuelen 1000 (Ethernet)
enp0s3:2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.13 netmask 255.255.255.0 broadcast 192.168.0.255
ether 08:00:27:76:a6:45 txqueuelen 1000 (Ethernet)
节点二
[root@zydb2 ~]# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.12 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::7bd8:b674:f180:da23 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:bf:d2:24 txqueuelen 1000 (Ethernet)
RX packets 2405 bytes 249391 (243.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1573 bytes 235531 (230.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s3:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.14 netmask 255.255.255.0 broadcast 192.168.0.255
ether 08:00:27:bf:d2:24 txqueuelen 1000 (Ethernet)
enp0s3:2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.15 netmask 255.255.255.0 broadcast 192.168.0.255
ether 08:00:27:bf:d2:24 txqueuelen 1000 (Ethernet)
7.集群状态变化
修改前
[grid@zydb1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ARCHDG.dg
ONLINE ONLINE zydb1
ONLINE ONLINE zydb2
ora.DATADG.dg
ONLINE ONLINE zydb1
ONLINE ONLINE zydb2
ora.LISTENER.lsnr
ONLINE ONLINE zydb1
ONLINE ONLINE zydb2
ora.OCRDG.dg
ONLINE ONLINE zydb1
ONLINE ONLINE zydb2
ora.asm
ONLINE ONLINE zydb1 Started
ONLINE ONLINE zydb2 Started
ora.gsd
OFFLINE OFFLINE zydb1
OFFLINE OFFLINE zydb2
ora.net1.network
ONLINE ONLINE zydb1
ONLINE ONLINE zydb2
ora.ons
ONLINE ONLINE zydb1
ONLINE ONLINE zydb2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE zydb1
ora.cvu
1 ONLINE ONLINE zydb1
ora.oc4j
1 ONLINE ONLINE zydb1
ora.orcl.db
1 ONLINE ONLINE zydb1 Open
2 ONLINE ONLINE zydb2 Open
ora.scan1.vip
1 ONLINE ONLINE zydb1
ora.zydb1.vip
1 ONLINE ONLINE zydb1
ora.zydb2.vip
1 ONLINE ONLINE zydb2
修改后
[grid@zydb2 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ARCHDG.dg
ONLINE ONLINE zydb1
ONLINE ONLINE zydb2
ora.DATADG.dg
ONLINE ONLINE zydb1
ONLINE ONLINE zydb2
ora.LISTENER.lsnr
ONLINE ONLINE zydb1
ONLINE ONLINE zydb2
ora.OCRDG.dg
ONLINE ONLINE zydb1
ONLINE ONLINE zydb2
ora.asm
ONLINE ONLINE zydb1 Started
ONLINE ONLINE zydb2 Started
ora.gsd
OFFLINE OFFLINE zydb1
OFFLINE OFFLINE zydb2
ora.net1.network
ONLINE ONLINE zydb1
ONLINE ONLINE zydb2
ora.ons
ONLINE ONLINE zydb1
ONLINE ONLINE zydb2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE zydb2
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE zydb1
ora.cvu
1 ONLINE ONLINE zydb1
ora.oc4j
1 ONLINE ONLINE zydb1
ora.orcl.db
1 ONLINE ONLINE zydb1 Open
2 ONLINE ONLINE zydb2 Open
ora.scan1.vip
1 ONLINE ONLINE zydb2
ora.scan2.vip
1 ONLINE ONLINE zydb1
ora.zydb1.vip
1 ONLINE ONLINE zydb1
ora.zydb2.vip
1 ONLINE ONLINE zydb2