에러 코드: ORA-12514
에러 메시지: "TNS:listener does not currently know of service requested in connect descriptor" (TNS: 리스너가 연결 설명자에서 요청된 서비스를 현재 인식하지 못함)
발생 원인
ORA-12514 에러는 클라이언트가 데이터베이스에 연결을 시도할 때 Oracle Net 리스너(listener)가 요청된 서비스 이름(service name)을 인식하지 못할 때 발생합니다. 이는 주로 서비스 이름이 리스너 구성에 올바르게 등록되지 않았거나, 리스너가 아직 데이터베이스 인스턴스의 등록을 인지하지 못했을 때 발생합니다.
예제
다음은 클라이언트가 데이터베이스에 연결을 시도하는 상황에서 ORA-12514 에러가 발생할 수 있는 예입니다
-- 연결 시도
sqlplus user/password@dbname
여기서 dbname은 데이터베이스 서비스 이름입니다. 만약 리스너가 dbname 서비스를 인식하지 못한다면, 위 명령을 실행할 때 ORA-12514 에러가 발생할 수 있습니다.
해결 방법
이 에러를 해결하기 위해서는 다음과 같은 조치를 취할 수 있습니다:
- 리스너 구성 확인: listener.ora 파일을 확인하여 요청된 서비스 이름이 올바르게 등록되어 있는지 확인합니다.
- 서비스 등록 확인: 데이터베이스 인스턴스가 리스너에 올바르게 등록되어 있는지 확인합니다. 등록되지 않았다면, 데이터베이스를 재시작하여 자동 등록을 시도할 수 있습니다.
- tnsnames.ora 파일 검토: 클라이언트의 tnsnames.ora 파일 설정이 정확한지 확인합니다.
- 방화벽과 DB 접근 제어 해제 확인
대부분 3번, 4번에 의한 문제로 발생됩니다. 그렇기 때문에 DB에 문제가 있는 것으로 파악하기 보다는, 본인의 tnsnames.ora 파일, 방화벽, DB 접근 제어 해제가 정상적으로 되었는지 선 확인하는 것이 필요합니다.
※ 요약
"ORA-12514: TNS:listener does not currently know of service requested in connect descriptor" 에러는 데이터베이스 서비스 이름이 리스너에 의해 인식되지 못할 때 발생합니다. 이 문제는 주로 리스너 구성 파일이나 데이터베이스 서비스 등록과 관련된 설정 오류 때문에 발생하며, 설정을 확인하고 필요한 조정을 함으로써 해결할 수 있습니다. 이러한 문제를 해결하기 위해서는 리스너와 데이터베이스의 서비스 이름 등록을 정확하게 관리해야 합니다.
'ORACLE > ERROR CODE' 카테고리의 다른 글
ORA-01843: not a valid month (0) | 2024.04.19 |
---|---|
ORA-04030 : out of process memory when trying to allocate bytes (area, object) (1) | 2024.04.19 |
ORA-02292 : integrity constraint violation - child record found (0) | 2024.04.19 |
ORA-00942 : table or view does not exist (2) | 2024.04.19 |
ORA-01555 : snapshot too old (0) | 2024.04.19 |