2016-07-27 30 views
1

在Debian机器上,我可以使用tnsping来识别tnsname。哪里可以找到tnsname.ora - Debian

但我在这台机器上找不到任何tnsnames.ora。 (没有在$ ORACLE_HOME/network/admin /中)

那么,如何才能找到tnsping命令使用的tns名称配置文件? 是否有任何命令(类似于tnsping)来查找tnsnames文件?

UPDATE:用tnsping命令结果:

enter image description here 预先感谢

+0

你应该包括你得到的堆栈跟踪/错误 – HungPV

回答

0

没有共同的地点和不同的应用程序/驱动程序适用不同的顺序和优先级不同的搜索路径。

检查以下位置:

  • $ORACLE_HOME/network/admin/
  • 当前应用程序的目录
  • $TNS_ADMIN(其中TNS_ADMIN是环境变量的设置)

只需在Windows检查还

的情况下,完整性
  • 注册表键HKLM\SOFTWARE\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN(对于64位)
  • 注册表键HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN(对于32位)
  • .NET配置文件(即machine.config和/或web.config

在理想的情况下,所有的人都应该指向同一个位置,考虑是否需要创建符号链接。

注意,也许文件tnsnames.ora根本不存在。在上述位置创建这样的文件。

+0

感谢您的回答。但在这台机器上$ TNS_ADMIN不是配置。我必须配置$ ORACLE_HOME和$ PATH; $ LD_LIBRARY_PATH运行tnsping。 –

+0

参考这个问题,你应该尝试创建该文件:http://dba.stackexchange.com/questions/28326/how-do-i-generate-a-tnsnames-ora-file-to-connect-to- an-oracle-database – HungPV

0

你告诉我们tnsping正在工作......在我的地方,tnsping工具提供了它正在使用的sqlnet.ora的确切位置.... tnsnames.ora应该在同一个目录中。

当您的环境配置正确时,tnsnames应位于提及的目录中。当它不存在时,您可以尝试运行netca命令并配置“命名方法配置”并添加一个包含“区域网络服务名称配置”的目标。该实用程序将在默认位置创建sqlnet.ora en tnsnames.ora。

[[email protected]]$ tnsping test                                  

TNS Ping Utility for Linux: Version 11.2.0.3.0 - Production on 27-JUL-2016 22:00:24                      

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

Used parameter files:                                      
/home/oracle/app/oracle/product/11.2.3/dbhome_1/network/admin/sqlnet.ora                         


Used TNSNAMES adapter to resolve the alias                                 
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TEST)))    
OK (0 msec)                                        
+0

我的tnsping命令不显示使用的参数文件值。我更新我的问题添加结果图像。 –