【问题标题】:Can not tnsping but can sqlplus connect不能tnsping但可以sqlplus连接
【发布时间】:2017-12-04 04:13:04
【问题描述】:

我有一个问题希望有人可以向我解释。我在服务器上正确安装了 Oracle 11g。在工作站上,我安装了 tnsname.ora 指向 Oracle 数据库的 oracle 客户端。我可以 ping 到安装了 oracle db 的服务器。我可以使用 sqlplus 连接到数据库,甚至可以使用 C# 以编程方式连接到数据库。但是,我不能 tnsping 到它。我在尝试这样做时收到错误消息 3511 未找到。所以我的问题是:在什么情况下使用 tnsping 以及如何使 tnsping 工作?换句话说,如果我的 tnsping 不起作用但我仍然可以使用 C# 以编程方式连接到数据库,那么我应该担心什么?我是 Oracle 的新手。谢谢!

【问题讨论】:

    标签: oracle11g


    【解决方案1】:

    我尝试执行以下操作但没有成功,尽管它们是类似于我的类似场景的最受欢迎的答案。

    1) Set Oracle_Sid to my oracle sid
    2) Set Oracle_Home to my oracle home directory
    

    我做了什么来解决这个问题:

    1) Uninstall oracle client
    2) Reinstall the oracle client with the newest version 11.2.xx. 
    

    我相信,重新安装早期版本的 oracle 客户端也可以。 但是,由于我必须重新安装客户端,我可能想要获得最新版本。 原因可能是第一次安装不正确,因为我们有预装应用程序的磁盘映像来自动准备新计算机。 无法 tnsping 似乎不会妨碍其他 Oracle 操作(至少我不知道)。

    如果有人知道不能tnsping但可以sqlplus连接,ping...的限制是什么,如果您能分享,我将不胜感激。

    【讨论】:

      【解决方案2】:

      您的 $Oracle_Home 值未设置或您的默认 sid 未在 $ORACLE_SID 中设置

      试试这个:

      set ORACLE_SID=mysid
      export ORACLE_SID
      tnsping mysid
      

      看看它会带来什么。

      【讨论】:

      • 谢谢!我正在使用窗户。导出是windows命令吗?我收到错误消息,说在 Windows 7 中导出不被识别为内部或外部命令。
      • export 用于 Linux 安装。对于 Windows 安装,只需使用 set 命令,它只会为您当前的 cmd 会话设置一个变量。如果要使其成为永久设置,则需要将其添加到计算机属性中的变量中
      • 从 Windows 将其添加到变量中不起作用。我仍然有同样的问题。奇怪的是它只发生在某些工作站上。我有 1 个工作站没有 tnsping 问题,而另一个有。不知道在哪里检查了。需要大家检查或提到的地方(Oracle_Home、Oracle_SID)都检查过了,都是一样的。我的 oracle_home 在两个 ws 中,Oracle_SID 不在我的任何 WS 中...
      猜你喜欢
      • 1970-01-01
      • 2013-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-13
      • 1970-01-01
      • 1970-01-01
      • 2017-04-11
      相关资源
      最近更新 更多