티스토리 뷰

Oracle 19c를 설치하고 나서 의기양양하게
SQL Developer를 열었는데,
" 접속이 안되는..."
" 설치만 했는데... 갑자기?? " 😥
"ORA-12541: TNS:no listener" 같은 메시지
가 뜨면 순간 머릿속이 백짓장이 됩니다,
분명 설치는 정상적으로 끝났는데,
도대체 왜 이러는 걸까요?

DBA 경력자도 가끔 당하는 이 listener Issue,
오늘 Oracle 공식 문서 기반으로 하나하나
짚어보겠습니다.
리스너(listener)란, 무엇일까요?
쉽게 말해 listener는 Oracle 데이터베이스의
방범문 역할을 하는 Network Process입니다.
클라이언트가 DB 서버에 접속 요청을 보내면,
listener가 이 요청을 받아서 데이터베이스
인스턴스로 연결해줍니다.
Oracle Net Services 아키텍처에서 리스너는
listener.ora 파일에 정의된 프로토콜 주소로
들어오는 연결 요청을 수신합니다.
이 문이 닫혀 있거나 주소가 잘못되어 있으면,
아무리 내부가 완벽해도 외부에서 들어올 수
없는 것입니다.
리스너(listener)접속 실패 원인은?
Oracle 19c 설치 후 리스너 접속이 실패하는
주요 원인과 증상을 정리하면 다음과 같습니다.
|
증상 및 오류 코드
|
주요 원인
|
|
ORA-12541 :
TNS:no listener |
Listener Process가 기동되지 않음
|
|
ORA-12514 :
TNS:listener does not currently know of service |
Listener에 Service가 등록되지 않음
|
|
ORA-12528 :
TNS : listener : all appropriate instances are blocking new connections |
Instance가 Mount 상태이거나 제한 모드
|
|
TNS-12560 :
TNS : protocol adapter error |
listener.ora 또는 tnsnames.ora 설정 오류
|
자주 묻는 질문 형태로 원인을 좀 더 살펴
보겠습니다.
Q) Listener가 아예 실행되지 않는 이유는
무엇인가요?
A) 설치 과정에서 리스너 구성 단계를 건너
뛰었거나, 환경 변수 ORACLE_HOME이
올바르게 설정되지 않은 경우입니다.
Oracle 19c는 설치 시 netca를 통해 기본
리스너를 자동 생성하지만, silent 모드 설치
시에는 별도 구성이 필요합니다.
Q) Listener는 떠 있는데 서비스를 인식하지
못하는 이유는 무엇인가요?
A) Oracle Database는 PMON Process가
listener에 Service를 동적으로 등록합니다.
이 동적 등록은 기본적으로
LOCAL_LISTENER 파라미터 값을 참조
하며, listener가 기본 포트인 1521이 아닌
다른 포트를 사용할 때 해당 파라미터가
누락되면 등록에 실패합니다.
해결 방법은?
이제 실제 해결 순서를 단계별로 설명합니다.
1. listener 상태 확인
- 명령어 : lsnrctl status
- LISTENER가 running 상태인지, 등록된
서비스 목록에 본인의 DB 서비스명이 있는지
확인합니다.
2. listener가 중지된 경우 시작
- 명령어 : lsnrctl start
- listener.ora 파일이
ORACLE_HOME/network/admin 경로에
존재하는지 반드시 확인합니다.
3. listener.ora 설정 점검
|
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 서버호스트명)(PORT = 1521)) ) )
|
- HOST 값이 실제 서버의 hostname 또는 IP와
일치해야 합니다. localhost로 설정하면 원격
접속이 차단될 수 있습니다.
4. 동적 서비스 등록 확인
- ALTER SYSTEM
SET LOCAL_LISTENER=
'(ADDRESS=(PROTOCOL=TCP)
(HOST=서버호스트명)(PORT=1521))'
SCOPE=BOTH;
- 이후 ALTER SYSTEM REGISTER;
명령으로 메뉴얼하게 등록합니다.
5. 방화벽 및 포트 개방 확인
- Linux 환경이라면 firewall-cmd --list-ports
명령으로 1521 포트가 열려 있는지 점검
합니다.
- OS 레벨 방화벽이 리스너 문제의 가장 흔한
주요 점검 항목입니다.
6. tnsnames.ora 클라이언트 측 설정 점검
- SERVICE_NAME과 SID를 혼동하는 경우가
빈번합니다.
Oracle 19c에서는 SERVICE_NAME 사용을
권장합니다.
알아두면 쓸모있는 유용한 팁
추가로 알아두면 유용한 팁을 몇 가지 더 공유
합니다.
- lsnrctl services 명령은 status보다 상세한
서비스 핸들러 정보를 보여주므로, 등록 상태
를 정밀하게 파악할 때 유용합니다.
- Oracle 19c부터는 Automatic Diagnostic
Repository에 리스너 로그가 기록됩니다.
ORACLE_BASE/diag/tnslsnr/호스트명
/listener/trace 경로 아래의 log 파일입니다.
- 리스너를 여러 개 운용할 때는 각 리스너별로
이름을 다르게 지정하고, lsnrctl start 리스너
이름 형태로 개별 제어해야 합니다.
Listener 문제는 대부분 설정 파일의 오타 하나,
포트 번호 불일치 하나에서 시작됩니다.
복잡해 보여도 위 순서대로 차분히 점검하면
십중팔구 원인을 금방 찾을 수 있습니다.
처음 Oracle을 다루는 분이든 오랜 경력의
DBA든, 네트워크 설정 앞에서는 누구나 한 번
쯤 좌절합니다.
이 글이 여러분의 시행착오 시간을 조금이라도
줄여드렸으면 좋겠습니다. 혹시 다른 오류 코드
나 특수한 환경에서의 문제가 있다면, 댓글로
남겨주세요.
함께 해결 방법을 찾아보면 문제가 쉽게 해결될
수도 있어요~ 😉

#Oracle19c리스너 #오라클리스너오류 #ORA12541해결 #TNS리스너설정 #Oracle19c설치 #listenerora설정 #오라클접속불가 #오라클TNS오류 #DBA트러블슈팅 #오라클네트워크설정
'Oracle' 카테고리의 다른 글
| DBMS_TF 패키지로 구현하는 Polymorphic Table Functions 활용법 (0) | 2026.04.10 |
|---|---|
| Oracle 19c Upgrade 고민 끝, RAC 환경 단계별 체크리스트 (0) | 2026.03.18 |
| Oracle DB 성능 혁명, HugePages 설정으로 느린 쿼리를 날려버리는 비법 (0) | 2026.02.02 |
| Oracle 19c DB Patch Guide (0) | 2025.04.09 |
| Oracle DB 19c에서 DBMS_JOB에서 DBMS_SCHEDULER로 변환 (1) | 2025.04.03 |
- Total
- Today
- Yesterday
- 오라클업그레이드방법
- oracle 19c
- DBMS_TF
- Oracle12cRAC
- GridInfrastructure업그레이드
- Oracle19c전환가이드
- 상용화라이선스
- RAC업그레이드절차
- 테이블함수
- dmu
- 정부기관스파이
- 압축파일보안
- 오라클RAC운영
- csscan
- 소스코드공개의무
- 동남아시아해킹
- Oracle업그레이드스케줄
- OracleUpgrade
- RMAN
- oracle19c
- Oracle19c업그레이드
- AGPLv3차이점
- deepseek
- oracle
- WinRAR취약점
- CVE20258088
- GPLv3특징
- 리눅스HugePages
- MIT라이선스상용화
- AGPL주의사항
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |