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

时间:2014-05-27 14:32:57

标签: oracle sqlplus telnet tnsnames

最后几天,我与一个奇怪的神谕问题面对面。 我在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位生产

6 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:3)

我也遇到了同样的问题ORA-12543:TNS:目标主机无法访问

我以这种方式解决了它

打开sqlplus

连接

输入用户名:system 输入密码:HHHHH @ 2014

然后出现以下错误

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

通过将我的密码输入“HHHHHH @ 2014”

解决了这个问题

答案 2 :(得分:2)

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

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

要更新密码,请按照以下步骤操作: 登录到Windows cmd,然后键入“ sqlplus / nolog” 然后“连接/作为sysdba”。 连接后,将SYS密码更改为不带@的密码: “通过new_password识别ALTER USER SYS;”

答案 3 :(得分:1)

最近,我已安装Oracle 11g进行测试,并在安装完成后 Database 11g Express Edition 在浏览器上使用系统和Pravin @ 01密码成功连接。在尝试使用SQL Developer工具后,它也可以正常工作,但是当我尝试使用 SQL PLUS命令行工具 进行连接时,突然给我一个错误,因为


  

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


然后经过一个小时的研究,我得到了一个解决方案,Oracle将密码中的@字符视为`

  

service name or sid

因此解决此问题的方法是使用

从密码中删除@字符
  

ALTER USER系统IDENTIFIED BY'这是您的新密码,其中应包含字符    并且数字只能尝试消除特殊字符”;

我认为这篇文章可能对您有所帮助。

答案 4 :(得分:0)

(以sys dba登录)

  

sql> conn / as sysdba

(然后更改用户)

  

sql>由newuserName标识的更改用户名

     

sql>提交

(现在再次尝试使用可以使用的相同密码登录新用户) 点击1查看屏幕截图-][1]

答案 5 :(得分:0)

我已经在Windows 2016环境中使用Oracle 18c 64位进行了测试

尝试在密码中使用“ @”登录时,请使用以下转义字符序列。

用户:scott 密码:scott @ test

sqlplus scott/\”scott@test\”@TEST_DB

为了避免这种麻烦,登录到sqlplus后,请使用以下命令更改密码,而不使用@字符。

alter user scott identified by "newpassword"