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

sg3maiej  于 2022-12-22  发布在  Oracle
关注(0)|答案(7)|浏览(1461)

前几天我遇到了一个奇怪的Oracle问题。我已经在tnsnames.ora中定义了数据库。Oracle客户端已经安装,客户端和客户端/bin已经添加到PATH中。
Ping工作正常,tnsping工作正常,我可以用telnet通过数据库端口连接到主机。
当我尝试运行试图连接到数据库的应用程序时,我得到
ORA-12543:TNS:无法访问目标主机
当我尝试通过sqlplus进行连接时,情况也是如此
sqlplus用户名/密码@TNSNAME
这种情况仅发生在一个工作站上,这意味着它通常应该工作。
WS是Windows 7 64位。
数据库:
Oracle数据库10g企业版发行版10.2.0.5.0 - 64位生产

oalqel3c

oalqel3c1#

在通过终端连接时,对密码中的特殊字符使用URL编码**,而不是原始特殊字符**。

    • 示例:-**

如果您连接字符串是:-sqlplus系统/密码@12345@oracle作为sysdba;

    • 那么**

可接受的连接URL为:-sqlplus系统/密码%4012345@oracle as sysdba; * .此处%40@URL编码*,因此请将所有特殊字符替换为它们各自的URL编码,并在终端中执行连接命令。

egdjgwm8

egdjgwm82#

我也遇到了同样的问题,我通过修改密码和删除“@”字符解决了这个问题。
@是告诉SQL plus我们要连接哪个连接标识符(服务名/sid),简而言之,避免在密码中使用这个字符。

5ktev3wc

5ktev3wc3#

我也遇到了相同的问题ORA-12543:TNS:无法访问目标主机
我是这样解决的
开放式SQL语言
连接
输入用户名:系统输入密码:2014年时
则出现以下错误
问题是我密码包含@符号
通过将我的密码输入“HHHHHH@2014”解决了此问题

huwehgph

huwehgph4#

我也得到了ORA-12543:TNS:目标主机不可达。但对我来说,问题出在密码上。
分辨率:需要从现有密码中删除"@",因为@定义了用于在sqlPlus中进行连接的连接标识符。
要更新密码,请执行以下步骤:登录到窗口cmd,然后键入"sqlplus/nolog",然后键入"connect/as sysdba"。连接后,将SYS密码更改为不带@的密码:"更改由new_password标识的用户系统; "

mwg9r5ms

mwg9r5ms5#

(log按系统计dba)
sql〉连接器/ as系统数据库
(then更改用户)
sql〉更改由newuserName标识的用户名
sql〉提交
(now再次尝试使用相同密码的新用户登录,它将正常工作)单击1查看屏幕截图--[][1]](https://i.stack.imgur.com/7fkRN.png)

ktca8awb

ktca8awb6#

最近,我安装了Oracle 11g用于测试,安装完成后,Database 11g Express Edition在浏览器上使用系统和Pravin@01密码启动,连接成功。我尝试使用SQL Developer工具后,它也运行正常,但当我尝试使用***SQL PLUS命令行工具连接时,***突然出现错误,
ORA-12543:TNS:无法访问目标主机
然后经过一个小时的研究,我得到了一个解决方案,Oracle将密码中的@字符视为'
第一个月
因此,此问题的解决方案是使用以下命令从密码中删除@字符

    • ALTER USER system IDENTIFIED BY '这是您的新密码,它应该包含字符和数字,但尽量排除特殊字符';**

我想这篇文章可能对你有帮助。

fwzugrvs

fwzugrvs7#

我已经在Windows 2016环境中使用Oracle 18 c 64位进行了测试
尝试在密码中使用“@”登录时,请使用以下转义字符序列。
用户名:scott密码:斯科特试验

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

为了避免这种麻烦,请在登录sqlplus后使用以下命令更改不带@字符的口令。

alter user scott identified by "newpassword"

相关问题