프린트 하기

OS환경 : Oracle Linux 8.1 (64bit)


DB 환경 : Oracle Database 19.3.0.0


에러 : WARNING: Subscription for node down event still pending

19c Oracle Database 엔진 설치 후 netca 로 리스너 생성 후 db 인스턴스는 생성하지 않은 상태에서

lsnrctl start 로 리스너 시작 시 리스너 로그에 떨어지는 경고 메세지


현재 리스너 파일

1
2
3
4
5
6
7
8
$ cat /ORA19/app/oracle/product/19.0.0/db_1/network/admin/listener.ora 
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oel8)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )



리스너 시작

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
$ lsnrctl start
 
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 07-JAN-2020 00:01:40
 
Copyright (c) 19912019, Oracle.  All rights reserved.
 
Starting /ORA19/app/oracle/product/19.0.0/db_1/bin/tnslsnr: please wait...
 
TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is /ORA19/app/oracle/product/19.0.0/db_1/network/admin/listener.ora
Log messages written to /ORA19/app/oracle/diag/tnslsnr/oel8/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel8)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
 
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oel8)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                07-JAN-2020 00:01:40
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /ORA19/app/oracle/product/19.0.0/db_1/network/admin/listener.ora
Listener Log File         /ORA19/app/oracle/diag/tnslsnr/oel8/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel8)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully

리스너 정상기동됨



리스너 시작 시 리스너 로그

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ tail -300f /ORA19/app/oracle/diag/tnslsnr/oel8/listener/trace/listener.log
2020-01-07T00:01:40.444135+09:00
 
LISTENER for Linux: Version 19.0.0.0.0 - Production 
Version 19.3.0.0.0
 
System parameter file is /ORA19/app/oracle/product/19.0.0/db_1/network/admin/listener.ora
Log messages written to /ORA19/app/oracle/diag/tnslsnr/oel8/listener/alert/log.xml
Trace information written to /ORA19/app/oracle/diag/tnslsnr/oel8/listener/trace/ora_2869_139745761115200.trc
Trace level is currently 0
 
Started with pid=2869
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel8)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Listener completed notification to CRS on start
 
TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
WARNING: Subscription for node down event still pending
07-JAN-2020 00:01:40 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=oel8)(USER=oracle))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=318767104)) * status * 0

18번째 줄에서 WARNING 메시지 발생



해결 방법 : 리스너 파일에 파라미터 추가(SUBSCRIBE_FOR_NODE_DOWN_EVENT_<listener.ora>=OFF)

리스너 정지

1
2
3
4
5
6
7
8
$ lsnrctl stop
 
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 07-JAN-2020 00:02:48
 
Copyright (c) 19912019, Oracle.  All rights reserved.
 
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oel8)(PORT=1521)))
The command completed successfull



리스너 정지 시 리스너 로그

1
2
3
4
5
6
$ tail -300f /ORA19/app/oracle/diag/tnslsnr/oel8/listener/trace/listener.log
2020-01-07T00:02:48.059780+09:00
No longer listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel8)(PORT=1521)))
No longer listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Listener completed notification to CRS on stop
07-JAN-2020 00:02:48 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=oel8)(USER=oracle))(COMMAND=stop)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=318767104)(CRS=ON)) * stop * 0



리스너 파일에 파라미터 추가

1
2
3
4
5
6
7
8
9
$ cat /ORA19/app/oracle/product/19.0.0/db_1/network/admin/listener.ora 
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oel8)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF



리스너 시작

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
$ lsnrctl start
 
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 07-JAN-2020 00:03:43
 
Copyright (c) 19912019, Oracle.  All rights reserved.
 
Starting /ORA19/app/oracle/product/19.0.0/db_1/bin/tnslsnr: please wait...
 
TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is /ORA19/app/oracle/product/19.0.0/db_1/network/admin/listener.ora
Log messages written to /ORA19/app/oracle/diag/tnslsnr/oel8/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel8)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
 
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oel8)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                07-JAN-2020 00:03:43
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /ORA19/app/oracle/product/19.0.0/db_1/network/admin/listener.ora
Listener Log File         /ORA19/app/oracle/diag/tnslsnr/oel8/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel8)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully



리스너 시작 시 로그

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ tail -300f /ORA19/app/oracle/diag/tnslsnr/oel8/listener/trace/listener.log
2020-01-07T00:03:43.651573+09:00
 
LISTENER for Linux: Version 19.0.0.0.0 - Production 
Version 19.3.0.0.0
 
System parameter file is /ORA19/app/oracle/product/19.0.0/db_1/network/admin/listener.ora
Log messages written to /ORA19/app/oracle/diag/tnslsnr/oel8/listener/alert/log.xml
Trace information written to /ORA19/app/oracle/diag/tnslsnr/oel8/listener/trace/ora_2897_139960672922688.trc
Trace level is currently 0
 
Started with pid=2897
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel8)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Listener completed notification to CRS on start
 
TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
07-JAN-2020 00:03:43 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=oel8)(USER=oracle))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=318767104)) * status * 0

WARNING 메시지가 발생하지 않음



원인 : Oracle Notification Service subscription 문제

Oracle TNS Listener가 Oracle Notification Service(ONS)에 기본적으로 subscription하는 것과 관련이 있다고함
RAC가 아닌 환경에서는 ONS를 사용하지 않도록 설정하는 것이 좋음

이 기능은 Oracle 10g에서 나온 기능이라 10g 이후 버전 비 RAC(single) DB 일 경우

발생 할 수 있다고함



참조 : Docs ID 372959.1