- 클라이언트 pc가 꺼졌을 때 서버에서 작업하고 있던 작업들을 정리해주는 역할
클라이언트 -----------------------------------> 서버
- 아무것고 안하고 놀고 있으면 그 세션을 끊어버리는 역할
※ 오라클 12c 버전부터 리스너에 서비스를 자동으로 등록해주는 기능이
pmon이 아니라 LPEG(Listener Registration) 프로세서가 담당함
- 동적 서비스 등록 : pmon이나 LPEG가 오라클 서비스를 리스너에게 알려주는 방식
- 정적 서비스 등록 : Listener.ora 파일 안에 서비스 이름을 다 셋팅해놓는 방식
[oracle@ora19c ~]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 21-8월 -2025 15:08:45
Copyright (c) 1991, 2019, Oracle. All rights reserved.
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.13.81)(PORT=1521)))에 연결되었습니다
리스너의 상태
------------------------
별칭 LISTENER
버전 TNSLSNR for Linux: Version 19.0.0.0.0 - Production
시작 날짜 21-8월 -2025 13:32:01
업타임 0 일 1 시간. 36 분. 43 초
트레이스 수준 off
보안 ON: Local OS Authentication
SNMP OFF리스너 매개변수 파일 /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
리스너 로그 파일 /u01/app/oracle/diag/tnslsnr/ora19c/listener/alert/log.xml
끝점 요약 청취 중...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.13.81)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=ora19c)(PORT=5500))(Security=(my_wallet_directory=/u01/app/oracle/admin/ORA19/xdb_wallet))(Presentation=HTTP)(Session=RAW))
서비스 요약...
"ORA19" 서비스는 1개의 인스턴스를 가집니다.
"ORA19" 인스턴스(READY 상태)는 이 서비스에 대해 1 처리기를 가집니다.
"ORA19XDB" 서비스는 1개의 인스턴스를 가집니다.
"ORA19" 인스턴스(READY 상태)는 이 서비스에 대해 1 처리기를 가집니다.
명령이 성공적으로 수행되었습니다
[oracle@ora19c ~]$
alias sys='sqlplus / as sysdba'
alias scott='sqlplus scott/tiger'
alias net='cd /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/'
[oracle@ora19c ~]$ source .bash_profile
[oracle@ora19c ~]$
[oracle@ora19c ~]$ net
[oracle@ora19c admin]$
[oracle@ora19c admin]$ pwd
/u01/app/oracle/product/19.3.0/dbhome_1/network/admin
[oracle@ora19c admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.13.81)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
1. ping을 쏴봅니다.
C:\Users\Administrator>ping 192.168.13.65
Ping 192.168.13.65 32바이트 데이터 사용:
192.168.13.65의 응답: 바이트=32 시간=1ms TTL=64
192.168.13.65의 응답: 바이트=32 시간<1ms TTL=64
192.168.13.65의 응답: 바이트=32 시간<1ms TTL=64
192.168.13.65의 응답: 바이트=32 시간<1ms TTL=64
192.168.13.65에 대한 Ping 통계:
패킷: 보냄 = 4, 받음 = 4, 손실 = 0 (0% 손실),
왕복 시간(밀리초):
최소 = 0ms, 최대 = 1ms, 평균 = 0ms
2. tnsping을 날립니다.
C:\Users\Administrator>tnsping 192.168.13.65:1521/ora19
TNS Ping Utility for 64-bit Windows: Version 21.0.0.0.0 - Production on 21-8월 -2025 15:20:05
Copyright (c) 1997, 2021, Oracle. All rights reserved.
사용된 매개변수 파일:
C:\app\Administrator\product\21c\homes\OraDB21Home1\network\admin\sqlnet.ora
별칭 분석을 위해 EZCONNECT 어댑터 사용
(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=ora19))(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.13.65)(PORT=1521)))에 접속하려고 시도하는 중
확인(20밀리초)
3. sqlplus로도 접속되는지 확인
C:\Users\Administrator>sqlplus scott/tiger@192.168.13.65:1521/ora19
SQL*Plus: Release 21.0.0.0.0 - Production on 목 8월 21 15:22:48 2025
Version 21.3.0.0.0
Copyright (c) 1982, 2021, Oracle. All rights reserved.
마지막 성공한 로그인 시간: 목 8월 21 2025 14:57:32 +09:00
다음에 접속됨:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL>
[oracle@ora19c admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.13.81)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER=
(SID_LIST =
(SID_DESC =
(ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1)
(SID_NAME= ORA19)
)
)
vi listener.ora에 위의 코드 붙여넣기
[oracle@ora19c admin]$ lsnrctl stop
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 21-8월 -2025 15:47:25
Copyright (c) 1991, 2019, Oracle. All rights reserved.
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.13.69)(PORT=1521)))에 연결되었습니다
명령이 성공적으로 수행되었습니다
[oracle@ora19c admin]$ lsnrctl start
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 21-8월 -2025 15:47:28
Copyright (c) 1991, 2019, Oracle. All rights reserved.
시작 /u01/app/oracle/product/19.3.0/dbhome_1/bin/tnslsnr: 잠시만 기다리세요...
TNSLSNR for Linux: Version 19.0.0.0.0 - Production
시스템 매개변수 파일은 /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora 입니다
/u01/app/oracle/diag/tnslsnr/ora19c/listener/alert/log.xml (으)로 로그 메시지를 기록했습니다
리스닝이: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.13.69)(PORT=1521)))
리스닝이: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.13.69)(PORT=1521)))에 연결되었습니다
리스너의 상태
------------------------
별칭 LISTENER
버전 TNSLSNR for Linux: Version 19.0.0.0.0 - Production
시작 날짜 21-8월 -2025 15:47:28
업타임 0 일 0 시간. 0 분. 0 초
트레이스 수준 off
보안 ON: Local OS Authentication
SNMP OFF리스너 매개변수 파일 /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
리스너 로그 파일 /u01/app/oracle/diag/tnslsnr/ora19c/listener/alert/log.xml
끝점 요약 청취 중...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.13.69)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
서비스 요약...
"ORA19" 서비스는 1개의 인스턴스를 가집니다.
"ORA19" 인스턴스(UNKNOWN 상태)는 이 서비스에 대해 1 처리기를 가집니다.
명령이 성공적으로 수행되었습니다
[oracle@ora19c admin]$
서비스가 기다리지 않아도 바로 뜸
[oracle@ora19c admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.13.81)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
[oracle@ora19c admin]$