当使用tnsping时,我可以指定端口号和SID吗?



我使用Bitvise Tunnelier连接到一系列Oracle数据库使用SQL Developer;连接到localhost和一个特定的端口号,这样可以正常工作。我想通过其他方式连接(例如,. net),我正在使用tnsping进行故障排除。

是否有任何方法可以使用端口号和SID来运行传输?我试过:

tnsping DatabaseSIDName:9001
tnsping DatabaseSIDName;9001
tnsping DatabaseSIDName,9001

返回"TNS-03505: Failed to resolve name".

当您使用tnsping时,它将获取一些Oracle .ora文件,以确定它知道哪些数据库。您应该看到如下内容:

$ tnsping myDB
TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 24-MAY-2007 08:55:13
Copyright (c) 1997, 2005, Oracle.  All rights reserved.
Used parameter files:
/app/oracle/product/10.2.0/db_1/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact...

您可以创建自己的tnsnames。ora文件并将其添加到TNS_ADMIN环境变量中,以添加新的DB、端口、SID等。完整的示例如下:

ORA11 =
 (DESCRIPTION = 
  (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 9001))
  )
 (CONNECT_DATA =
  (SERVICE_NAME = DatabaseSIDName)
 )
)

只是export TNS_ADMIN=<path to folder containing new tnsnames.ora file>,并再次尝试ping。以下是一些参考资料:

http://www.orafaq.com/wiki/Tnsnames.ora

Oracle -我使用什么TNS名称文件?

编辑


根据你最初的例子/后续评论,最简单的可能是:

$ORACLE_HOME/bin/tnsping <hostname>:<port>/<sid>

有大量的其他选项,如EZConnect和sqlplus,将测试相同的功能。

最新更新