본문 바로가기

Error Log

[오라클 오류] 리스너가.. 없으신가요? TNS:프로토콜 어댑터 오류 (TNS-12560)

일단 시작에 앞서...

해결했다는 고양감에 모든 cmd 창, sqlplus 창을 닫아버렸습니다.

그래서 캡쳐본이 남아있지 않으니... 양해 부탁드립니다^^...


[ 오류 및 상황 ] 

 1. (상태 : 침착함)

    이클립스에서 오라클 접속하려고 하자 다음의 오류 뜸

Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1521:xe", "system", "1234");
// localhost 대신 IP 입력
// IP : cmd - ipconfig -  IPv4 주소 복사
javax.servlet.ServletException: java.sql.SQLRecoverableException: IO 오류: The Network Adapter could not establish the connection

 

2. (상태 : 당황)

   윈도우+r 'services.msc' 검색 시 oracle xe 리스너 없음 + 있는 리스너 실행해도 안 됨.

구글링 했을 때 다들 바꾸라는 '그' XE 리스너가 없음

 

3. (상태 : 분노)

   CMD 에서 'lsnrctl status' 입력하면 다음의 오류가 뜸

   (lsnrctl 뭔데? 리스너 컨트롤 아닐까 싶습니다...)

TNS-12541: TNS:리스너가 없습니다.
TNS-12560: TNS:프로토콜 어댑터 오류
TNS-00511: 리스너가 없습니다

+) status에서 Host가 Desktop 이름으로 나옴 (=> 뭔가 잘못됨을 깨닫다...)

 

[ 해결 ]

https://codedragon.tistory.com/3973 <- 이 분의 글을 보고 해결했습니다... 감사합니다......

* 천천히, 차분히, 진정하고 하나씩 따라하기*

 

1. listener.ora, tnsnames.ora 위치 찾기

-> 폴더 검색 이용. 본인 Oracle xe 폴더에서 검색하십쇼

 

2. listener.ora, tnsnames.ora 수정

tnsnames.ora 

호스트 부분에 냅다 IP 넣어주기

listener.ora

역시나 호스트 부분에 IP 넣어주기

그리고 노란 네모는 추가한 부분입니다

본인 리스너 이름에 맞는 값을 넣어주면 됨                        

3. 오라클 서비스 재시작

(관리자 권한으로 CMD 실행)

'lsnrctl stop' -> 'lsnrctl start' -> 'lsnrctl status'


오라클 삭제 및 재설치를 넘어

우리 엘지그램의 생명을 삭제하고 싶었다...

고통의 시간 😇 벗 이겨냈다 ! !