加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – tnsping ping失败,即使我可以成功连接到数据库

发布时间:2020-12-14 02:26:10 所属栏目:Windows 来源:网络整理
导读:在尝试从我的工作站建立连接(实际上,我在WinXP32和Win764工作站上看到相同的行为)到Oracle服务器时,我总是尝试的第一件事是tnsping.当我这样做时,这就是我得到的: C:tnsping MYDBNAME TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Producti
在尝试从我的工作站建立连接(实际上,我在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根本无效.有补丁

解决方法

我相信当您的ORACLE_HOME环境变量设置不正确时会发生这种情况.仍然可以从PATH获取tnsping,但它无法找到其消息文件. echo%ORACLE_HOME%显示什么,以及Oracle客户端实际安装在哪里?

这不一定会对Toad的访问产生任何影响,因为它不需要直接访问ORACLE_HOME;您可能已经提供了完整的连接字符串,或者如果设置了TNS_ADMIN,它可能能够获取服务名称.

编辑您可能还有几个相互干扰的Oracle产品.如果是这样,请尝试开始 – >所有程序 – > Oracle安装产品 – >主页选择器并选择与您正在执行的tnsping相关的那个. (实际上这是针对9i客户端的;我认为对于10g,您可能需要使用通用安装程序,通过Installed Products-> Environment进行更改,但无法检查).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读