ERROR:ORA-12154:TNS:couldnot resolve service name
oracle 10g에서 tnsping은 되지만 sqlplus에 접속이 되지 않을때..
10g 사용중 클라이언트를 깔고 서버 접속시 분명히 tnsping은 되는데 sqlplus를 비롯한 application들이 접속이 안되는 거였다.
에러 내용은
ORA-12154: TNS:could not resolve ..
ORA-12154 . 원래 이 에러는 client 에서 DB 접근시 tnsnames.ora 에 db_alias 나 tnsnames.ora 설정이 잘못되어 있을 경우 나타난다. 따라서 대부분 이때 살펴보아야 할 network 설정 파일은 sqlnet.ora 와 tnsnames.ora 두개의 파일이다.
일반적으로 tnsnames.ora의 설정부분을 잘못 설정한 경우 발생하기 때문에 확인하면 된다.(머 카피해서 이름이랑 아이피정도만 변경?ㅋ)
하지만 설정부분에 큰 이상이 없는데 접속이 되지 않을때 두번째로 의심해볼만한 것은 sqlnet.ora 파일이다
sqlnet.ora파일에서 해당IP의 접근을 허용해주면 된다.
# tcp.invited_nodes=(DB로컬 아이피와 접속을 허용할 ip)
tcp.invited_nodes=(192.168.3.211)
# tcp.excluded_nodes=(접속을 차단할 ip)
내 경우는 방화벽 때문이었기 때문에 alias를 읽지 못해 발생한 문제.. 방화벽에서 막혀 있는 부분을 허용해주면 된다.
http://forums.oracle.com/forums/thread.jspa?threadID=267600&start=45&tstart=0
에 의하면 환경설정변수를 읽지 못해 그럴수도 있다고 한다.
이 경우는 시스템 환경변수에 ORACLE_HOME을 등록하고 값으로 Home패스를 등록하면 정상적으로 동작이 가능하다.
(변경후 부팅이 필요함) 내컴퓨터 -> 속성 -> 시스템등록정보 -> 고급 -> 환경변수 -> 시스템 변수에 등록하면 된다.
변수이름 : ORACLE_HOME
변수 값 : E:\oracle\product\10.2.0\client_1
( 실제 설치된 경로는 E:\oracle\product\10.2.0\client_1\network\admin\sqlnet.ora )
경우에 따라서 재부팅이 필요할 수 있다.
'오라클' 카테고리의 다른 글
Oracle의 메모리 구조 - SGA(DataBase Buffer Cache) (0) | 2008.09.25 |
---|---|
[Oracle DataBase 10g] 오라클 데이타베이스 구조 (0) | 2008.09.25 |
[본문스크랩] PL/SQL (16) - 대용량 오브젝트 타입 - BFILE (0) | 2007.12.21 |
[본문스크랩] PL/SQL (15) - 대용량 오브젝트 타입 - CLOB, BLOB (0) | 2007.12.21 |
[본문스크랩] PL/SQL (14) - 커서(cursor) FOR UPDATE 절 (0) | 2007.12.21 |