Mark Harrison
그는 물었다 12년 전
51

Tns 이름을 사용하여 파일 내가 oralce - 뭐?

저도 가끔 oralce 연결 문제 때문에 내가 사용하고 있는 can& # 39, 데이터베이스 파일 내 클라이언트입니다 tnsnames. ora 알아낼 수 없다.

39 의 what& 분명 이 문제를 가장 좋은 방법은? 다양한 플랫폼 ++happy 솔루션뀉뀉뀉뀉.

답변 11 개

Oracle 은 유틸리티에는 호출됨 'tn스핑':

R:\>tnsping someconnection

TNS Ping Utility for 32-bit Windows: Version 9.0.1.3.1 - Production on 27-AUG-20
08 10:38:07

Copyright (c) 1997 Oracle Corporation.  All rights reserved.

Used parameter files:
C:\Oracle92\network\ADMIN\sqlnet.ora
C:\Oracle92\network\ADMIN\tnsnames.ora

TNS-03505: Failed to resolve name

R:\>

R:\>tnsping entpr01

TNS Ping Utility for 32-bit Windows: Version 9.0.1.3.1 - Production on 27-AUG-20
08 10:39:22

Copyright (c) 1997 Oracle Corporation.  All rights reserved.

Used parameter files:
C:\Oracle92\network\ADMIN\sqlnet.ora
C:\Oracle92\network\ADMIN\tnsnames.ora

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (COMMUNITY = **)
 (PROTOCOL = TCP) (Host = ****) (Port = 1521))) (CONNECT_DATA = (SID = ENTPR0
1)))
OK (40 msec)

R:\>

39 이 파일을 사용하여, re you& 어떤 자세를 가져야 한다. Oracle 이 유틸리티에는 앉아 '빈' 디렉터리입니다.

Linux*용:

$ strace sqlplus -L scott/[email protected] 2>&1| grep -i 'open.*tnsnames.ora'

이 같은 일이 있습니다.

open("/opt/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora",O_RDONLY)=7

변경

$ strace sqlplus -L scott/[email protected] 2>&1| grep -i 'tnsnames.ora'

보일 수 있는 모든 파일 경로를 벗어나지 못하고 있다.

Mark Harrison
Avindra Goolcharan
그는 5년 전 댓글을 달았습니다
1

고마워, 이를 바탕으로 글로벌 /etc/tnsnames.ora 이름, 위치 tns 는 신뢰할 수 있는 것 같습니다.

Mark Harrison
그는 5년 전 댓글을 달았습니다
0

@AvindraGoolcharan 내 결론, 즉 잘 알려져 있다. # 39 의 것이 있고 우리가 어디서 that& 전혀 문제가 없는 상황이었다.

Tns 위치에 저장되어 있는 곳이 또 있다. # 39, Windows 를 사용하는 경우, re open &lt you& code&gt regedit&lt /code>;; ,, 지역 내 하키 Machine/Software/ORACLE/KEY_OraClient10_home1&lt /code&gt code&gt &lt 및 찾습니다 여기서 &lt code&gt KEY_OraClient10_home1&lt /code>;;; oracle 은 오고있대 문자열으로 경우, 그 후, /code&gt TNS_ADMIN&lt code&gt &lt 불렀으매 엔트리여야, 가치, Oracle 을 사용하고 있는 컴퓨터의 파일을 항목은 가리키십시오 TNS.

나는 내 개발 시스템) 의 3 가지 버전의 oracle 클라이언트 소프트웨어이다. 내가 그 희망이었네 tnsnames. ora '파일을 관리할 수 있는' 나는 또 다른 두 개의 입력된 tnsnames. ora ',' file:

ifile=path_to_tnsnames.ora_file/tnsnames.ora

이렇게 몇 가지 이유로 'tnsnames. ora' 파일을 사용할 경우 잘못된 것이라고 클라이언트에서 항상 다니엘을 dell. 최신 버전.

Windows*용): [필레먼] (http://technet.microsoft.com/en-us/sysinternals/bb896642.aspx) 에서 어떤 파일은 액세스되는 시스인터널스 표시됩니다.

그래서 반드시 설정 파일 시스템에 의해 트래픽으로부터 수다스러운 필터링합니다 엄습하 없습니다.

! 거르개 대화

  • Added:* 필레먼 를 사용할 수 없으며, 새로운 윈도우 버전을 사용 할 수 있도록 프로세스 모니터.

39, t, 정보기술 (it), $ oracle_ 고데슬라브 &quot 묻는 shouldn& 항상 &quot home/network/admin/tnsnames.ora&quot,? 아니, 그건 isn& # 39, 이에 대한 대답은 없다. 이 두 호출 같은 컴퓨터에 tn스핑 고려해보십시오 있다.

C:\Documents and Settings\me>D:\Oracle\10.2.0_DB\BIN\tnsping orcl

TNS Ping Utility for 32-bit Windows: Version 10.2.0.4.0 - Production on 09-OCT-2
008 14:30:12

Copyright (c) 1997,  2007, Oracle.  All rights reserved.

Used parameter files:
D:\Oracle\10.2.0_DB\network\admin\sqlnet.ora

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = xxxx
)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL)))

OK (40 msec)

C:\Documents and Settings\me>tnsping orcl

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 09-OCT-2
008 14:30:21

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

Used parameter files:
D:\oracle\10.2.0_Client\network\admin\sqlnet.ora

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = XXXX)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ORCL)))
OK (20 msec)

C:\Documents and Settings\me>

참고 있는 두 개의 다른 매개변수입니다 종속된 tn스핑 실행가능파일 you& 실행 파일 위치, # 39, re (그리고 아마도 여기서 it& # 39 에서 실행되고, s). Oracle 네트워크, name. domain. TNS_ADMIN 가변입니다 tn스나미스 기반 위한 유일한 방법은 you& # 39, re 얻을 수 있도록 일관된 tnsnames. ora 절실해졌습니다. (참고: 창 중심 답)

stjohnroe
그는 12년 전 댓글을 달았습니다
3

39, t don& 방금 사랑이었냐고요 여러 oracle 집?

기본적으로 tnsnames. ora 는 또한 유닉스 계열 운영 체제들은 있는 $ ORACLE_HOME/network/admin 디렉토에 ORACLE_HOME\network\admin 디렉토에 윈도우 운영 체제에서. 다음 격지에서 tnsnames. ora 저장할 수 있다.

지정한 디렉토리를 TNS_ADMIN 환경 변수 (또는 레지스트리 값)

유닉스 운영 체제에서, 글로벌 구성 디렉터리입니다. 예를 들어, Solaris 운영 체제에서 이 디렉토리는 /var/opt/oracle

주의해야 할 경우, 여러 ORACLE_HOMES 어느쪽이야 사용하고, 그 다음 한 ORACLE_HOME tnsnames. ora 파일 위치 다를 수 있습니다.

사람에 대한 환경 변수를 설정하는 데 사용되는 기본 서비스 이름을 거론한 TWO_TASK 접속하십시오 데이터베이스 (db 를 될 수 있는 다른 서버). 그런 다음 tnsnames. ora 파일에 대한 조회 서비스 명칭을 설정한 TWO_TASK 연결할 때.

'파일을 찾을 수 있는' strace sqlplus 뻦 scott/[email protected] 스트너스 암스트로라 / home / oracle '' '에' 대신 '' $ ORACLE_HOME/network/admin/tnsnames.ora 걸리는 파일을 찾을 수 없습니다. 글이 주셔서 감사합니다.

39, t, $ ORACLE_ HOME/network/admin/tnsnames.ora&quot 항상 &quot shouldn& 정보기술 (it),?

그런 다음, echo $ oracle_ just do &quot home&quot. 또는 * nix 같습니다.

@Pete 홀버턴 완전히 수정하십시오 있습니다. 그러고 보니 어느 날, there& # 39 에 있는 다른 작업을 작동됨 TWO_ 불렀으매 몽키렌치

이에 따라 http://www.orafaq.com/wiki/TNS_ADMIN 환경 변수 tns_admin 백업이었습니다 가리키는 QLNe 디렉터리입니다 * 구성 파일 (그것을비유하사 스크라네지오라 및 tnsnames. ora) 이 위치해 있다.

BIBD
DCookie
그는 12년 전 댓글을 달았습니다
2

사실 이 위치에 아니요인 가질 수 없습니다. # 39 의 there& 에이전트에는 가정 및 클라이언트 홈, 그냥 이름을 가진 2, 자체 네트워크 / 관리 디렉터리입니다. # 39, re 실행가능파일 you& 따라 답을 얻을 수 있습니다.

아닌 게 아니라 자기 자신을 직접 질문을 하고 답을 I& # 39, ve been 모든 tn스나미스 oracle 설치 및 업데이트 파일 등 여러 찾을 수 있었습니다. 클라이언트, BI 툴, 각각 자체 oralce 오고있대 로브 등이 있었다. 내가 하는 모든 tn스나미스 tn스나미시 놀스 됐지 생성하기에 유틸리티에는 업데이트할 oracle 모든 사람들이 집을 잃었다. # 39 의 it& 무료로 사용할 수 있는 MIT 라이선스를, 여기 https://github.com/artybug/TNSNamesSync/releases

이 문서 이 자리에 있다. https://github.com/artchik/TNSNamesSync/blob/master/README.md

이 는 Windows 전용, 어쨌든요

아마도 가장 쉬운 방법은 경로를 확인하기 위해 프로세스 환경 변수를 연결하는 데이터베이스. 최초로 oralce bin 디렉토리에 path.\network\admin * tnsnames. ora 파일은 가능성이 크다. 환경 변수 또는 tns_admin 레지스트리로 (현재 Oracle 홈) 이 값을 무시할 수도 있습니다.

필레먼 사용하여 같은 또 다른 제안한 것이 됩니다.