Oracle

게시글 보기
작성자 유건데이타 등록일 2015-05-20
제목 WINDOWS 용 SQL*NET 사용 시 TNS-12545
WINDOWS 용 SQL*NET 사용 시 TNS-12545
====================================

에러 TNS-12545 "TNS:name lookup failure"는 TCP/IP 프로토콜 어댑터를 가진
SQL*NET V2를 통해 툴에서 연결하려는데 TCP/IP 프로토콜 어댑터가 TNSNAMES.ORA
파일의 ADDRESS 부분에 제공된 호스트 이름을 분석할 수 없을 때 발생합니다.
TNS-12545는 SQL*NET TCP/IP V1에서 발생하는
ORA-6105 "NETTCP:remote host is unknown"과 비슷합니다.

* TNS-12545를 진단하는 단계

1. 호스트 이름을 이용하여 호스트에 대해 TELNET과 PING을 실행해 보십시요. 즉
PING 또는 TELNET 를 실행해 보십시요. 호스트 이름을
사용하여 PING이나 TELNET을 성공적으로 실행할 수 없으면, 먼저 TCP/IP 구성을
점검해야 합니다. PING나 TELNET의 WINDOWS 버전을 사용하여 해 보십시요. 몇몇
DOS 버전이 잘 작동하더라도 WINDOWS 구성에 문제가 있으면 WINDOWS 버전에서
에러가 발생할 수 있습니다.

2. 서버에서 루프백을 수행하여 서버쪽이 정확하게 설정되었는지 확인하십시오.
루프백을 수행하려면 데이타베이스가 있는 MACHINE에서 아무 툴이나 호출하고,
TNSNAMES.ORA에 WINDOWS 클라이언트에 사용한 것과 같은 ADDRESS 매개 변수를
사용하여 SQL*NET V2를 통해 데이타베이스에 연결해 보십시요.


3. 다음에는 사용자의 TCP/IP 소프트웨어가 IP 주소의 이름 분석을 위해 PC에서
DOMAIN NAME SERVICE(DNS)를 사용하는지 아니면 파일 찾아보기를 사용하는지
점검하십시요.

4. DNS를 사용한다면, DNS에 해당하는 모든 드라이버를 올리도록 하십시요. 예를
들어, SUN PC/NFS는 RNMNIS.EXE를 올려야만 Naming Information Service를
사용할 수 있게 됩니다.

5. DNS를 사용하지 않는다면, HOST 파일에 연결해야 할 호스트의 항목이 있는
지 확인하고, 만약 없으면 추가하십시요. WINDOWS용 TCP/IP 어댑터는 원래
TCP/IP 업체가 예상한 디렉토리에 상주하는 HOST 화일을 사용합니다. HOST
파일의 각 항목 뒤에는 반드시 키리지 리턴을 넣어야 합니다. 또한 그러한
서비스에 필요한 드라이버를 모두 점검해야 합니다. 예를 들어, SUN PC/NFS는
그러한 서비스를 올리려면 RNMFILE.EXE가 필요합니다.

6. WINDOWS 호출을 사용하지 않고 open() 호출을 사용했기 때문에 파일 핸들이
초과할 수 있습니다. SQL*NET V1은 여기에 해당하지 않습니다. 이 버그는 버전
2.1.5에 와서 해결되었습니다.

7. 연결을 시도하여 여전히 TNS-12545가 나오면, TNSNAMES.ORA 파일의 ADDRESS
부분 아래에 있는 HOST 매개 변수에 호스트 이름을 지정하지 말고 IP 주소를
지정하는 것도 한 가지 해결책이 될 수 있습니다. 다음 예를 참조하십시요.

HOST=139.141.61.64
Comment
등록된 코멘트가 없습니다.