프린트 하기

OS 환경 : Oracle Linux 8.7 (64bit)

 

DB 환경 : Oracle Database 19.27.0.0 RAC

 

방법 : 오라클 19c RAC Public IP down 시 증상 관련

오라클 19c RAC 환경에서 Public IP를 down 시키면 어떻게 될지 테스트 해봄

 

 

테스트
현재 hosts 파일 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
 
##Public
192.168.137.161 ora19rac1
192.168.137.162 ora19rac2
 
##Private
10.10.10.110 ora19rac1-priv
10.10.10.120 ora19rac2-priv
 
##Virtual
192.168.137.61 ora19rac1-vip
192.168.137.62 ora19rac2-vip
 
##SCAN
192.168.137.200 ora19rac-scan

현재 192.168.137.n 대역이 Public 대역이고, 10.10.10.n 대역이 Private 대역임

 

 

현재 네트워크 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# ifconfig
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.137.161  netmask 255.255.255.0  broadcast 192.168.137.255
        inet6 fe80::250:56ff:fea8:7c06  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:a8:7c:06  txqueuelen 1000  (Ethernet)
        RX packets 21641  bytes 18404857 (17.5 MiB)
        RX errors 0  dropped 39  overruns 0  frame 0
        TX packets 9084  bytes 3523382 (3.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 
ens192:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.137.61  netmask 255.255.255.0  broadcast 192.168.137.255
        ether 00:50:56:a8:7c:06  txqueuelen 1000  (Ethernet)
 
ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.10.110  netmask 255.255.255.0  broadcast 10.10.10.255
        inet6 fe80::250:56ff:fea8:7bfb  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:a8:7b:fb  txqueuelen 1000  (Ethernet)
        RX packets 104018  bytes 101396625 (96.6 MiB)
        RX errors 0  dropped 38  overruns 0  frame 0
        TX packets 67896  bytes 41751307 (39.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens192가 Public 대역임

 

 

현재 crs 상태 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       ora19rac1                STABLE
               ONLINE  ONLINE       ora19rac2                STABLE
ora.chad
               ONLINE  ONLINE       ora19rac1                STABLE
               ONLINE  ONLINE       ora19rac2                STABLE
ora.net1.network
               ONLINE  ONLINE       ora19rac1                STABLE
               ONLINE  ONLINE       ora19rac2                STABLE
ora.ons
               ONLINE  ONLINE       ora19rac1                STABLE
               ONLINE  ONLINE       ora19rac2                STABLE
ora.proxy_advm
               OFFLINE OFFLINE      ora19rac1                STABLE
               OFFLINE OFFLINE      ora19rac2                STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.DATANEW.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.OCRVOTE.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.RECONEW.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                Started,STABLE
      2        ONLINE  ONLINE       ora19rac2                Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.cvu
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.ora19db.db
      1        ONLINE  ONLINE       ora19rac1                Open,HOME=/oracle/ap
                                                             p/oracle/product/19c
                                                             ,STABLE
      2        ONLINE  ONLINE       ora19rac2                Open,HOME=/oracle/ap
                                                             p/oracle/product/19c
                                                             ,STABLE
ora.ora19rac1.vip
      1        ONLINE  ONLINE       ora19rac1                STABLE
ora.ora19rac2.vip
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.qosmserver
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       ora19rac2                STABLE
--------------------------------------------------------------------------------

db, grid 모두 정상임

 

 

Public 대역인 ens192 인터페이스 down

1
2
3
4
5
6
7
#1번 노드
# ifdown ens192
Connection 'ens192' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
 
#2번 노드
# ifdown ens192
Connection 'ens192' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)

 

 

확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# ifconfig
ens192: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:50:56:a8:7c:06  txqueuelen 1000  (Ethernet)
        RX packets 21641  bytes 18404857 (17.5 MiB)
        RX errors 0  dropped 39  overruns 0  frame 0
        TX packets 9131  bytes 3531794 (3.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 
ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.10.110  netmask 255.255.255.0  broadcast 10.10.10.255
        inet6 fe80::250:56ff:fea8:7bfb  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:a8:7b:fb  txqueuelen 1000  (Ethernet)
        RX packets 118480  bytes 114715428 (109.4 MiB)
        RX errors 0  dropped 38  overruns 0  frame 0
        TX packets 82097  bytes 54181295 (51.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens192 대역의 ip가 없어짐

 

 

crs 상태 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  OFFLINE      ora19rac1                STABLE
               ONLINE  ONLINE       ora19rac2                STABLE
ora.chad
               ONLINE  ONLINE       ora19rac1                STABLE
               ONLINE  ONLINE       ora19rac2                STABLE
ora.net1.network
               ONLINE  OFFLINE      ora19rac1                STABLE
               ONLINE  OFFLINE      ora19rac2                STABLE
ora.ons
               ONLINE  OFFLINE      ora19rac1                STABLE
               ONLINE  OFFLINE      ora19rac2                STABLE
ora.proxy_advm
               OFFLINE OFFLINE      ora19rac1                STABLE
               OFFLINE OFFLINE      ora19rac2                STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.DATANEW.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  OFFLINE                               STABLE
ora.OCRVOTE.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.RECONEW.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                Started,STABLE
      2        ONLINE  ONLINE       ora19rac2                Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.cvu
      1        ONLINE  OFFLINE                               STABLE
ora.ora19db.db
      1        ONLINE  ONLINE       ora19rac1                Open,HOME=/oracle/ap
                                                             p/oracle/product/19c
                                                             ,STABLE
      2        ONLINE  ONLINE       ora19rac2                Open,HOME=/oracle/ap
                                                             p/oracle/product/19c
                                                             ,STABLE
ora.ora19rac1.vip
      1        ONLINE  OFFLINE                               STABLE <<--
ora.ora19rac2.vip
      1        ONLINE  OFFLINE                               STABLE <<--
ora.qosmserver
      1        ONLINE  OFFLINE                               STABLE
ora.scan1.vip
      1        ONLINE  OFFLINE                               STABLE
--------------------------------------------------------------------------------

vip가 내려갔고 그외에는 특이사항이 보이지 않음

 

 

db alert log 확인

1
2
3
$ vi alert.log
2026-02-09T19:16:08.732564+09:00
ALTER SYSTEM SET remote_listener=' ora19rac-scan:1521' SCOPE=MEMORY SID='ORA19DB1';

remote_listener 파라미터가 변경되었다는 메세지 외 특이사항 없음
db는 내려가지 않고 그대로 있음

 

 

리스너 확인

1
2
3
4
5
6
7
8
$ lsnrctl status
 
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 09-FEB-2026 19:20:15
 
Copyright (c) 1991, 2025, Oracle.  All rights reserved.
 
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
(대기)

리스너 조회시 행 걸린 상태로 대기함 리스너에 적혀있는 host ip를 찾지 못해 발생하는 문제임

 

 

참고로 asm 리스너는 Private 대역을 쓰기 때문에 영향받지 않음

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
$ lsnrctl status ASMNET1LSNR_ASM
 
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 09-FEB-2026 19:20:48
 
Copyright (c) 1991, 2025, Oracle.  All rights reserved.
 
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=ASMNET1LSNR_ASM)))
STATUS of the LISTENER
------------------------
Alias                     ASMNET1LSNR_ASM
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                09-FEB-2026 19:10:52
Uptime                    0 days 0 hr. 9 min. 55 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /oracle/app/grid/19c/network/admin/listener.ora
Listener Log File         /oracle/app/oracle/diag/tnslsnr/ora19rac1/asmnet1lsnr_asm/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=ASMNET1LSNR_ASM)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.10.110)(PORT=1525)))
Services Summary...
Service "+ASM" has 2 instance(s).
  Instance "+ASM1", status READY, has 2 handler(s) for this service...
  Instance "+ASM2", status READY, has 1 handler(s) for this service...
Service "+ASM_DATANEW" has 2 instance(s).
  Instance "+ASM1", status READY, has 2 handler(s) for this service...
  Instance "+ASM2", status READY, has 1 handler(s) for this service...
Service "+ASM_OCRVOTE" has 2 instance(s).
  Instance "+ASM1", status READY, has 2 handler(s) for this service...
  Instance "+ASM2", status READY, has 1 handler(s) for this service...
Service "+ASM_RECONEW" has 2 instance(s).
  Instance "+ASM1", status READY, has 2 handler(s) for this service...
  Instance "+ASM2", status READY, has 1 handler(s) for this service...
The command completed successfully

 

 

ens192 대역 정상화

1
2
3
4
5
6
7
#1번 노드
# ifup ens192
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)
 
#2번 노드
# ifup ens192
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)

 

 

잠시 뒤 crs 상태 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       ora19rac1                STABLE
               ONLINE  ONLINE       ora19rac2                STABLE
ora.chad
               ONLINE  ONLINE       ora19rac1                STABLE
               ONLINE  ONLINE       ora19rac2                STABLE
ora.net1.network
               ONLINE  ONLINE       ora19rac1                STABLE
               ONLINE  ONLINE       ora19rac2                STABLE
ora.ons
               ONLINE  ONLINE       ora19rac1                STABLE
               ONLINE  ONLINE       ora19rac2                STABLE
ora.proxy_advm
               OFFLINE OFFLINE      ora19rac1                STABLE
               OFFLINE OFFLINE      ora19rac2                STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.DATANEW.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.OCRVOTE.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.RECONEW.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                Started,STABLE
      2        ONLINE  ONLINE       ora19rac2                Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.cvu
      1        ONLINE  ONLINE       ora19rac1                STABLE
ora.ora19db.db
      1        ONLINE  ONLINE       ora19rac1                Open,HOME=/oracle/ap
                                                             p/oracle/product/19c
                                                             ,STABLE
      2        ONLINE  ONLINE       ora19rac2                Open,HOME=/oracle/ap
                                                             p/oracle/product/19c
                                                             ,STABLE
ora.ora19rac1.vip
      1        ONLINE  ONLINE       ora19rac1                STABLE
ora.ora19rac2.vip
      1        ONLINE  INTERMEDIATE ora19rac1                FAILED OVER,STABLE  <<---
ora.qosmserver
      1        ONLINE  ONLINE       ora19rac1                STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       ora19rac2                STABLE
--------------------------------------------------------------------------------

1번 vip가 바로 정상화 되었지만 2번은 intermediate 상태로 1번 노드에 기동되어 있음

 

 

2번 노드 vip 기동 시도

1
2
$ srvctl start vip -n ora19rac2
PRKO-2420 : VIP ora19rac2-vip is already started on nodes: ora19rac1

1번 노드에서 이미 기동중이라고 나옴

 

 

vip relocate 시도

1
$ srvctl relocate vip -vip ora19rac2-vip -node ora19rac2

 

 

다시 crs 상태 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ crsctl stat res -t
...
ora.ora19db.db
      1        ONLINE  ONLINE       ora19rac1                Open,HOME=/oracle/ap
                                                             p/oracle/product/19c
                                                             ,STABLE
      2        ONLINE  ONLINE       ora19rac2                Open,HOME=/oracle/ap
                                                             p/oracle/product/19c
                                                             ,STABLE
ora.ora19rac1.vip
      1        ONLINE  ONLINE       ora19rac1                STABLE
ora.ora19rac2.vip
      1        ONLINE  ONLINE       ora19rac2                STABLE      <<---
ora.qosmserver
      1        ONLINE  ONLINE       ora19rac1                STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       ora19rac2                STABLE
--------------------------------------------------------------------------------

2번 vip가 정상적으로 2번 노드에서 확인됨

 

 

결론 :
19c RAC 환경에서 Public IP 장애는 클러스터 분리(split-brain)나 인스턴스 다운으로 바로 이어지지는 않지만 외부 접속 경로(VIP, SCAN, Listener)가 끊기면서 신규 접속은 불가능해짐
네트워크 복구 후 VIP가 다른 노드로 failover된 상태로 남을 수 있음
이 경우 srvctl relocate vip 명령으로 정리 해줘야함

 

 

참조 :