当您使用 tnsping 时,它将获取一些 Oracle .ora 文件以确定它知道哪些 DB。您应该会看到如下内容:
$ 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,它们将测试相同的功能。