ORA-12543:TNS:目标主机无法访问,但telnet和tnsping工作

Mar*_*us_ 1 oracle tnsnames sqlplus telnet

最后几天,我与一个奇怪的甲骨文问题面对面.我在tnsnames.ora中定义了数据库.安装了Oracle客户端,客户端和客户端/ bin已添加到PATH.

Ping工作,tnsping工作,我可以通过数据库端口与telnet连接到主机.

当我尝试运行尝试连接到db的应用程序时,我得到了

ORA-12543:TNS:目标主机无法访问

当我尝试通过sqlplus连接时,情况也是如此

sqlplus用户名/密码@ TNSNAME

情况只发生在一个工作站上,它的共同点应该是有效的.

WS是Windows 7 64位.
数据库:

Oracle数据库10g企业版10.2.0.5.0版 - 64位生产

小智 10

我也遇到了同样的问题 ORA-12543: TNS:destination host unreachable

我是这样解决的

打开sqlplus

连接

输入用户名:系统输入密码:HHHHH@2014

然后出现以下错误

问题是我的密码包含@符号

通过将我的密码输入“HHHHHH@2014”来解决它


Est*_*hin 7

我遇到了同样的问题,我通过更改密码和删除"@"字符解决了这个问题.它对我有用.

@是告诉SQL plus我们要连接的连接标识符(服务名称/ sid).简而言之,避免在密码中使用此字符.

  • @idiotduffer:您可以参考下面的博客了解如何转义“@”字符。示例:sqlplus scott/\”scott@test\”@TEST_DB http://nadvi.blogspot.my/2011/02/oracle-password-with-or-special.html。希望能帮助到你。 (2认同)

小智 5

我也遇到了 ORA-12543:TNS:目标主机无法访问。但对我来说,问题出在密码上。

解决方案:需要从现有密码中删除“@”,因为 @ 定义了用于在 sqlPlus 中进行连接的连接标识符。

要更新密码,请按照以下步骤操作:登录到 cmd 窗口,然后键入“sqlplus /nolog”,然后键入“connect / as sysdba”。连接后,将 SYS 密码更改为不带@的密码:“ALTER USER sys IDENTIFIED BY new_password;”