oracle TNS 접속시 ORA-12514 에러

DB & SQL 2015. 12. 6. 00:05

oracle instant client를 이용하여 TNS 접속 설정하는 것에 삽질 좀 하다가
설정을 어째어째 하고 접속 할려고 하니 ORA-12514 에러로 접속이 안되네... ㅠㅠ
여기저기 돌아다녀보니 tnsnames.ora 설정을 바꾸면 된다고 한다.

tns_name=
  (DESCRIPTION=
    (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=192.***.***.***)
      (PORT=1521)
    )
    (CONNECT_DATA=
      (SERVER=DEDICATED)
      (SERVICE_NAME=orcl)
    )
  )

원래 설정파일의 내용은 위와 같은데 이것을 아래처럼 해주면 잘 접속된다.

tns_name=
  (DESCRIPTION=
    (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=192.***.***.***)
      (PORT=1521)
    )
    (CONNECT_DATA=
      (SERVER=DEDICATED)
      (SID=orcl)
    )
  )

SERVICE_NAME 항목을 SID로 바꿔주었다.

SID로 바꾸지 않고 접속하는 방법으로 오라클 서버의 TNS 설정과 동일하게 하면된다.
일단 서버의 TNS 설정을 보면 아래처럼 호스트명이 SID뒤에 붙어있는 경우이다.

tns_name=
  (DESCRIPTION=
    (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=hostname)
      (PORT=1521)
    )
    (CONNECT_DATA=
      (SERVER=DEDICATED)
      (SERVICE_NAME=orcl.hostname)
    )
  )

이런 경우는 SERVICE_NAME의 값을 hostname까지 동일하게 해 주면 잘 접속이 된다.
아래처럼 설정하면 된다.

tns_name=
  (DESCRIPTION=
    (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=192.***.***.***)
      (PORT=1521)
    )
    (CONNECT_DATA=
      (SERVER=DEDICATED)
      (SERVICE_NAME=orcl.hostname)
    )
  )

'DB & SQL' 카테고리의 다른 글

oracle 데이터베이스 객체  (0) 2016.02.03
oracle SQL과 PL/SQL  (0) 2016.02.03
oracle instant client 리눅스 설정  (1) 2015.12.05
oracle 생성된 테이블의 DDL 스크립트 확인  (0) 2015.10.18
oracle user 생성 삭제  (0) 2015.10.18
: