더보기

그림으로 공부하는 오라클 구조-오다 케이지

시간나면 읽어볼 것!

 

Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor 

얼마전까지 oracle사의 sql developer를 잘 사용했었는데 위의 창이 뜨면서 접속이 되지 않았다.

해석을 해보면 리스너가 제대로 작동되지 않는다는 것을 알 수 있다. 

 

cmd에 위의 명령어를 입력해서

 

 

OracleServiceXE를 실행상태로 만들어준다.

 


 

Why?

 

리스너란 네트워크를 통해 클라이언트와 서버(오라클)의 연결을 담당하는 프로그램이다. 

 

리스너는 listener.ora 라는 내용에 의해 실행된다

이 서비스는 SID를 가지고 실행되는데, 

-호스트 시스템 이름이 변경된 경우

-IP가 변경된 경우(유동IP사용)

-사용하지 않아서 자동적으로 리스너가 꺼진 경우

에 'SID를 찾지 못한다'는 메시지가 출력이 된다.

 

SID가 변경됐다면 위의 설정파일을 수정해주면 되는데, 나처럼 잘되다가 갑자기 안되는 경우는 리스너가 꺼졌을 가능성이 높다. 그래서 cmd에서 명령어로 실행중인 서비스를 확인한 것이고, OracleListener가 아니라 OracleService가 꺼진 것을 발견했다.

 

오라클DB를 쓸 때, 오라클 서비스 인스턴스와 오라클 리스너가 따로 시작하여 동작한다. 오라클 서비스(OracleServiceXE)는 기본 서비스이며 오라클 사용 시 가장 먼저 시작되어야한다. 그래서 켜줬다. 실행이 된다.

(MySQL은 인스턴스와 리스너가 mysqld 하나로 되어 있어서, mysqld만 시작하면 즉시 서비스 가능하다)

 

 

 

+ Recent posts