【发布时间】:2011-06-15 12:38:31
【问题描述】:
在尝试建立从我的工作站(实际上,在 WinXP32 和 Win764 工作站上看到相同的行为)到 Oracle 服务器的连接时,我总是尝试的第一件事是 tnsping.当我这样做时,这就是我得到的:
> C:\>tnsping MYDBNAME
>
> TNS Ping Utility for 32-bit Windows:
> Version 10.2.0.1.0 - Production on
> 25-JAN-2 011 15:03:35
>
> Copyright (c) 1997, 2005, Oracle. All
> rights reserved.
>
> Message 3511 not found; No message
> file for product=NETWORK,
> facility=TNSMessage 3512 not found;
> No message file for product=NETWORK,
> facility=TNSAttempting to contact
> (DESCRIPTION = (ADDRESS_LIST =
> (ADDRESS = (PROTOCOL = TCP) (HOST =
> thisismyservername.com)(PORT = 1577)))
> (CONNECT_DATA = (SID = MYDBNAME)))
> Message 3509 not found; No message
> file for product=NETWORK, facility=TNS
所以,如您所见,它正确地检测了我的 tnsnames 文件,并为指定的数据库选择了正确的服务器地址和端口,但是 tnsping 失败并出现 3511 和 3509 错误。
奇怪的是,使用 sqlplus 或 Toad,从同一个工作站,我可以成功连接到同一个数据库。
谁能解释这里发生了什么?
FWIW:
ORACLE_HOME 系统环境变量(以及任何其他 oracle 环境变量)未设置。
更新
ORACLE_HOME 环境变量不一定要设置,它似乎以某种方式依赖于每台机器。我的特殊问题是:Oracle 10g 有一个已知缺陷,即 tnsping.exe 根本不起作用。有补丁
【问题讨论】:
标签: windows oracle windows-7 windows-xp