티스토리 뷰

■ 에러

ORA-12514: TNS:리스너가 현재 접속 기술자에 요청된 서비스를 알지 못함

 

리스너가 클라이언트에서 접속하려는 요청을 받았을 때, 접속처가 되는 서비스를 인식하지 못할 때 발생하는 에러이다.

 

■ 원인

- 리스너에 서비스가 등록되지 않음

- 클라이언트의 접속 정의가 잘못됨

 

■ 대응방법1. 리스너에 서비스가 등록되어 있지 않음

cmd(명령 프롬프트)에서 Isnrctl services 명령으로 리스너에 등록된 서비스를 확인한다.

c:\>lsnrctl SERVICES [listener_name]

 

 

서비스가 리스너에 등록되지 않은 일반적인 원인으로는

- 인스턴스가 시작되지 않음

: 인스턴스가 시작되지 않은 경우, 인스턴스를 실행시키면 된다.

 

- 리스너 실행 직후

: 리스너 실행 후 서비스가 등록되는 것까지는 최대 1분이 걸린다.

이 경우 잠시 기다리거나 alter sysme register; 명령어를 실행하면 됨.

 

■ 대응방법2. 클라이언트의 접속 정의가 잘못됨

리스너가 실행되는 노드에 클라이언트의 접속처가 되는 서비스(인스턴스)가 존재하지 않고,

클라이언트의 접속 정의가 잘못된 경우가 있다.

 

SERVICE_NAME 구에서 지정되어 있는 값이 리스너에 등록되어 있는 서비스명과 일치하고 있는지를 확인하기 위해 $ORACLE_HOME/network/admin/tnsnames.ora를 참조하여 접속 정의를 확인한다.

oraSrv =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
    (SERVICE_NAME = oraSrv.C10203477)
    )
  )

※ tnsnames.ora

: 오라클 Client에서 오라클 서버로 접속할 때 필요한 프로토콜 및 포트번호, 서버주소, 인스턴스 등을 설정해 주는 파일로서 클라이언트에 위치

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
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 31
글 보관함