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 명령으로 정리 해줘야함
참조 :
'ORACLE > Rac' 카테고리의 다른 글
| 오라클 19c rac 인스턴스 이름 변경 (0) | 2025.12.20 |
|---|---|
| 오라클 19c RAC 제거한 노드 다시 추가 시 발생한 에러들 (0) | 2025.12.07 |
| 오라클 19c RAC 롤링 패치 가능여부 확인 (2) | 2025.09.18 |
| 오라클 19c vote 디스크 위치 변경 방법 (17) | 2025.07.19 |
| 오라클 19c RAC 노드 제거 방법(gui) (0) | 2025.07.13 |