53 votes

Oracle - Quel fichier de noms TNS est-ce que j'utilise?

Parfois, je rencontre des problèmes de connexion Oracle parce que je ne sais pas quel fichier tnsnames.ora utilise mon client de base de données.

Quelle est la meilleure façon de comprendre cela? ++ heureux pour diverses solutions de plate-forme.

77voto

stjohnroe Points 1844

Oracle fournit un utilitaire appelé tnsping :

 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:\>
 

Cela devrait montrer quel fichier vous utilisez. L'utilitaire est situé dans le répertoire Oracle bin .

17voto

Mark Harrison Points 77152

Pour linux:

 $ strace sqlplus -L scott/tiger@orcl 2>&1| grep -i 'open.*tnsnames.ora'
 

montre quelque chose comme ça:

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

Passer à

 $ strace sqlplus -L scott/tiger@orcl 2>&1| grep -i 'tnsnames.ora'
 

montrera tous les chemins de fichiers qui échouent.

5voto

Trumpi Points 4190

Il existe un autre emplacement où l’emplacement TNS est stocké: Si vous utilisez Windows, ouvrez regedit et accédez à My HKEY Local Machine/Software/ORACLE/KEY_OraClient10_home1KEY_OraClient10_home1 est votre domicile Oracle. S'il existe une entrée de chaîne appelée TNS_ADMIN , sa valeur pointera vers le fichier TNS utilisé par Oracle sur votre ordinateur.

4voto

Rene Points 4041

Sur ma machine de développement, j'ai trois versions différentes du logiciel client Oracle. Je gère le fichier tnsnames.ora dans l’un d’eux. Dans les deux autres, j'ai entré dans le fichier tnsnames.ora :

 ifile=path_to_tnsnames.ora_file/tnsnames.ora
 

Ainsi, si, pour une raison quelconque, le client utilise le mauvais fichier tnsnames.ora , il se terminera toujours à la version la plus récente.

4voto

Ishmaeel Points 7720

Pour Windows: Filemon de SysInternals va vous montrer quels sont les fichiers en cours d'accès.

N'oubliez pas de régler vos filtres de sorte que vous ne sont pas débordés par le bavard système de fichiers de la circulation.

Filter Dialog

Ajouté: Filemon ne fonctionne pas avec les nouvelles versions de Windows, alors vous pourriez avoir à utiliser le Moniteur de Processus.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X