Wednesday, September 1, 2021

Modifying SCAN VIP In a RAC Cluster

How to change or modify or update new the SCAN VIP in a cluster?


1. Check cluster resource where you see ora.LISTENER.lsnr is OFFLINE and ora.LISTENER_SCAN3.lsnr is OFFLINE

[root@oraclenode1 named]# crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  OFFLINE      oraclenode1              STABLE
               ONLINE  ONLINE       oraclenode2              STABLE
ora.chad
               ONLINE  ONLINE       oraclenode1              STABLE
               ONLINE  ONLINE       oraclenode2              STABLE
ora.net1.network
               ONLINE  ONLINE       oraclenode1              STABLE
               ONLINE  ONLINE       oraclenode2              STABLE
ora.ons
               ONLINE  ONLINE       oraclenode1              STABLE
               ONLINE  ONLINE       oraclenode2              STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       oraclenode1              STABLE
      2        ONLINE  ONLINE       oraclenode2              STABLE
      3        ONLINE  OFFLINE                               STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       oraclenode1              STABLE
      2        ONLINE  ONLINE       oraclenode2              STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       oraclenode1              STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       oraclenode2              STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  OFFLINE                               STABLE
ora.RECO.dg(ora.asmgroup)
      1        ONLINE  ONLINE       oraclenode1              STABLE
      2        ONLINE  ONLINE       oraclenode2              STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       oraclenode1              Started,STABLE
      2        ONLINE  ONLINE       oraclenode2              Started,STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       oraclenode1              STABLE
      2        ONLINE  ONLINE       oraclenode2              STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       oraclenode2              STABLE
ora.oraclenode1.vip
      1        ONLINE  OFFLINE                               STABLE
ora.oraclenode2.vip
      1        ONLINE  ONLINE       oraclenode2              STABLE
ora.qosmserver
      1        ONLINE  ONLINE       oraclenode2              STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       oraclenode1              STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       oraclenode2              STABLE
ora.scan3.vip
      1        ONLINE  OFFLINE                               STABLE
--------------------------------------------------------------------------------
[root@oraclenode1 named]# 

2. Try to start the ora.LISTENER_SCAN3.lsnr manually which is fail with below error message

[root@oraclenode1 named]# srvctl start scan_listener -scannumber 3
PRCR-1079 : Failed to start resource ora.LISTENER_SCAN3.lsnr
CRS-5005: IP Address: 10.38.4.165 is already in use in the network
CRS-2674: Start of 'ora.scan3.vip' on 'oraclenode1' failed
CRS-5005: IP Address: 10.38.4.165 is already in use in the network
CRS-2674: Start of 'ora.scan3.vip' on 'oraclenode2' failed
CRS-2632: There are no more servers to try to place resource 'ora.LISTENER_SCAN3.lsnr' on that would satisfy its placement policy
[root@oraclenode1 named]# 

3. Verify the scan status where it id indicates scan3 VIP is no running 

[root@oraclenode1 named]# srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is running on node oraclenode1
SCAN VIP scan2 is enabled
SCAN VIP scan2 is running on node oraclenode2
SCAN VIP scan3 is enabled
SCAN VIP scan3 is not running

4. Stop scan_listener & scan as shown below 

[root@oraclenode1 named]# srvctl stop scan_listener
[root@oraclenode1 named]# srvctl stop scan
[root@oraclenode1 named]# srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is not running
SCAN VIP scan2 is enabled
SCAN VIP scan2 is not running
SCAN VIP scan3 is enabled
SCAN VIP scan3 is not running

5. Verify the scan name which is configured or resolved by 3 IPs as shown below 

[root@oraclenode1 named]# srvctl config scan
SCAN name: orclscan, Network: 1
Subnet IPv4: 10.38.4.0/255.255.252.0/ens192, static
Subnet IPv6:
SCAN 1 IPv4 VIP: 10.38.4.126
SCAN VIP is enabled.
SCAN 2 IPv4 VIP: 10.38.4.154
SCAN VIP is enabled.
SCAN 3 IPv4 VIP: 10.38.4.165
SCAN VIP is enabled.
[root@oraclenode1 named]# 

6. After consulting with Network team if is found out that one of the scan IP is reserved for some other server.

>>> Network team has replaced one of the scan IP with different IP (In my case scan IP 10.38.4.165 was replaced with 10.38.4.162)

Old SCAN:
[root@oraclenode1 ~]# nslookup orclscan.localdomain.com
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   orclscan.localdomain.com
Address: 10.38.4.154
Name:   orclscan.localdomain.com
Address: 10.38.4.126
Name:   orclscan.localdomain.com
Address: 10.38.4.165
[root@oraclenode1 ~]#

New SCAN:
[root@oraclenode1 ~]# nslookup orclscan.localdomain.com
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   orclscan.localdomain.com
Address: 10.38.4.154
Name:   orclscan.localdomain.com
Address: 10.38.4.126
Name:   orclscan.localdomain.com
Address: 10.38.4.162
[root@oraclenode1 ~]#

7. Modify the scan configuration to reflect the new scan IP

[root@oraclenode1 named]# srvctl modify scan -scanname orclscan

[root@oraclenode1 named]# srvctl config scan
SCAN name: orclscan, Network: 1
Subnet IPv4: 10.38.4.0/255.255.252.0/ens192, static
Subnet IPv6:
SCAN 1 IPv4 VIP: 10.38.4.126
SCAN VIP is enabled.
SCAN 2 IPv4 VIP: 10.38.4.154
SCAN VIP is enabled.
SCAN 3 IPv4 VIP: 10.38.4.162
SCAN VIP is enabled.
[root@oraclenode1 named]#

8. Start the SCAN, SCAN listener and LISTENER

[root@oraclenode1 named]# srvctl start scan
[root@oraclenode1 named]# srvctl start scan_listener -scannumber 3
[root@oraclenode1 named]# srvctl start listener -l LISTENER

[root@oraclenode1 named]# crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  OFFLINE      oraclenode1              STABLE
               ONLINE  ONLINE       oraclenode2              STABLE
ora.chad
               ONLINE  ONLINE       oraclenode1              STABLE
               ONLINE  ONLINE       oraclenode2              STABLE
ora.net1.network
               ONLINE  ONLINE       oraclenode1              STABLE
               ONLINE  ONLINE       oraclenode2              STABLE
ora.ons
               ONLINE  ONLINE       oraclenode1              STABLE
               ONLINE  ONLINE       oraclenode2              STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       oraclenode1              STABLE
      2        ONLINE  ONLINE       oraclenode2              STABLE
      3        ONLINE  OFFLINE                               STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       oraclenode1              STABLE
      2        ONLINE  ONLINE       oraclenode2              STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       oraclenode2              STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       oraclenode1              STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       oraclenode1              STABLE
ora.RECO.dg(ora.asmgroup)
      1        ONLINE  ONLINE       oraclenode1              STABLE
      2        ONLINE  ONLINE       oraclenode2              STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       oraclenode1              Started,STABLE
      2        ONLINE  ONLINE       oraclenode2              Started,STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       oraclenode1              STABLE
      2        ONLINE  ONLINE       oraclenode2              STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       oraclenode2              STABLE
ora.oraclenode1.vip
      1        ONLINE  OFFLINE                               STABLE
ora.oraclenode2.vip
      1        ONLINE  ONLINE       oraclenode2              STABLE
ora.qosmserver
      1        ONLINE  ONLINE       oraclenode2              STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       oraclenode2              STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       oraclenode1              STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       oraclenode1              STABLE
--------------------------------------------------------------------------------
[root@oraclenode1 named]#

Regards,
Mallik

No comments:

Post a Comment

Automation Script | Archivelog Generation Hourly Monitoring

1. List out all the running databases and pic one database where we want to monitore the archive log generation from last 1 month. [oracle@o...