ORA-12541 %s에 리스너가 없습니다

WAS·2025년 9월 3일
0

오라클

목록 보기
24/24

✅ 문제점

로컬환경에서 디비버를 연결하려고 하는데 접속할 수 없음

과거에 Oracle Database XE 설치를 저장 공간이 부족하여 D드라이브에 설치했었다
그래서 환경변수 경로도 꼬인 관계로 다시 처음부터 설치하는 방향으로 진행하였다

1 : C 드라이브나 D 드라이브에 설치한 오라클 경로를 삭제하기
EX) C:\app\사용자계정\product\버전
EX) D:\app\사용자계정\product\버전
오라클을 설치하면 디폴트경로로 위 예시처럼 저장이 된다
그래서 \app 폴더를 통째로 삭제한다

2 : 제어판 → 프로그램 및 기능 → Oracle Database 21c XE 제거

3 : cmd 접속 → services.msc 입력 -> Oracle 관련 서비스 모두 제거됐는지 확인

4 : 윈도우 시작 -> regedit (레지스트리 편집기) → HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 삭제

5 : 환경 변수 ORACLE_HOME, TNS_ADMIN, PATH 내 Oracle 관련 항목 제거

이렇게 5가지 과정을 진행하면 남아 있는 오라클이 흔적이 없을것이다


✅ 재설치 후 확인

위 사진처럼 다시 오라클을 설치한다

설치가 다 완료되면 위에서 언급한 C:\app\사용자계정\product\버전 에 설치가 되있을 것이다
그러면 하위폴더로 C:\app\bogdu\product\21c\homes\OraDB21Home1\network\admin 에 가서
lister.ora tnsnames.ora 가 있으면 잘 설치된 것이다

이렇게 하고 디비버에서 다시 연결하려고하는데 동일한 리스너 문제가 발생했다..
CMD에서 lsnrctl status 명령어를 입력하여 리스너 상태를 확인해봤더니

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=220.74.13.47)(PORT=1521))) 
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc))) 
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=127.0.0.1)(PORT=5500))
(Security=(my_wallet_directory=C:\APP\BOGDU\PRODUCT\21C\admin\XE\xdb_wallet))
(Presentation=HTTP)(Session=RAW)) 서비스 요약...

즉 HOST는 220.74.13.47 (공인 IP)로 잡혀 있기 때문이다

이렇게 된 이유는 오라클을 설치할 때, 네트워크 자동 설정 이 활성화 된 상태에서
외부 IP를 자동 감지하여 리스너에 등록된 것 같다

자세하게는 모르겠고 수동으로 해결을 진행해보겠다


✅ 해결 방법

위에서 언급한 listener.oratnsnames.ora 안에 들어가면
HOST 주소가 다른 외부주소로 적혀 있는 경우가 있다
이런 경우 HOST = localhost 또는 HOST = 127.0.0.1 로 바꿔주면 된다

추가로 C:\Windows\System32\drivers\etc\hosts 로 들어가서
127.0.0.1 localhost ::1 localhost 이렇게 2개가 주석되어있으면 풀어준다
💡 참고 : hosts를 그냥 메모장에 연결해서 수정하면 권한이 없기 때문에 수정이 불가능
기본 메모장을 오른쪽 우클릭해서 관리자모드로 실행 -> 상단 파일 클릭 -> 열기 -> hosts 선택
해서 하면 수정이 가능하다

그 후 관리자 모드로 CMD를 들어가서
lsnrctl stop -> lsnrctl start 순으로 입력한 후
컴퓨터를 재시작한 다음 lsnrctl status 를 해서
HOST가 127.0.0.1 또는 localhost 로 바뀌었는지 확인한다

이렇게 진행하니 로컬 환경에서 디비가 잘 붙는다

profile
우측 상단 햇님모양 클릭하셔서 무조건 야간모드로 봐주세요!!

0개의 댓글