ORA-12154 : TNS:could not resolve the connect identifier specified

에러 코드: ORA-12154

에러 메시지: TNS:could not resolve the connect identifier specified

발생 원인

ORA-12154 에러는 Oracle Net Services의 설정이 올바르지 않을 때 주로 발생합니다. 특히, 데이터베이스 연결 문자열에서 지정한 'connect identifier'를 찾을 수 없을 때 이 에러가 나타납니다. 이는 주로 tnsnames.ora 파일에서 데이터베이스의 주소나 이름이 잘못 입력되었을 때 발생합니다.

예제

예를 들어, 아래와 같이 tnsnames.ora 파일에 데이터베이스 연결 정보를 설정했다고 가정해 봅시다.

ORCL1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

 

이 설정에서 ORCL1은 데이터베이스 연결 식별자입니다. 만약 클라이언트 애플리케이션에서 이 식별자를 사용하여 연결을 시도하는 코드가 아래와 같다면:

sqlplus username/password@ORCL1

 

하지만 tnsnames.ora 파일에 ORCL1 대신에 ORACLEDB로 식별자가 설정되어 있다면, ORA-12154 에러가 발생하게 됩니다. 이 경우, 연결 식별자가 올바르지 않기 때문에 데이터베이스 연결 요청이 제대로 처리되지 않습니다.

해결 방법

이 에러를 해결하기 위해서는 다음과 같은 절차를 따라야 합니다:

  1. tnsnames.ora 파일이 올바른 위치에 있는지 확인합니다.
  2. 파일 내용을 검토하여 올바른 데이터베이스 주소와 서비스 이름이 포함되어 있는지 확인합니다.
  3. 클라이언트 애플리케이션에서 사용하는 연결 식별자가 tnsnames.ora 파일의 설정과 일치하는지 확인합니다.

ORA-12154 에러는 위 외에도 다양한 이유로 많이 발생할 수 있으므로, 네트워크 설정과 파일 설정을 주의 깊게 검토하는 것이 중요합니다.