1

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

4

2 回答 2

2

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

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 ... 的限制是什么,如果您能分享,我将不胜感激。

于 2013-02-08T18:39:03.217 回答
0

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

试试这个 :

set ORACLE_SID=mysid
export ORACLE_SID
tnsping mysid

看看它会带来什么。

于 2013-01-31T16:37:55.833 回答