Oracle用户密码含有特殊字符导致无法登陆解决方法
今天碰到一个比较奇怪的问题:
在客户端上使用sqlplus用普通用户可以登录,但是system以及sys用户均无法登录,提示ORA-12154: TNS: 无法解析指定的连接标识符
SQL> conn system@webdata
输入口令:
ERROR:
ORA-12154: TNS: 无法解析指定的连接标识符
SQL> conn xgplat@webdata
输入口令:
已连接。
本来以为客户端是32位的缘故,就在oracle服务器上用sqlplus登录,也还是一样
SQL> conn system@webdata
Enter password:
ERROR:
ORA-12541: TNS:no listener
SQL> conn xgplat@webdata
Enter password:
Connected.
问了一些人大家都比较迷糊,搞不清什么问题。偶然看到有人说是不是和密码文件有关,这时我才想到我的system/sys用户的密码中都包含一个@字符。
比如我的密码是123@456,那使用sqlplus登录的时候就理解成sqlplus system/123@456@webdata,这样sqlplus就理解成123后面的就是数据库的连接字符串,这样自然就报错并提示TNS: 无法解析指定的连接标识符或no listener
之后在服务器上用sqlplus / as sysdba登录后修改sys/system的密码,再次尝试就一切正常了
当Oracle数据库用户的密码含特殊字符如 @ 时,直接使用正常的密码输入,由于oracle将@后的字符解析为网络服务名而导致登陆失败
如下演示 用户名为:wang密码为:oracle@1网络服务名为:sun 的情况:
Linux平台:'wang/"oracle@1"'@sun --1个双引号扩密码,1个单引号扩 用户名+密码,即: '用户名/"密码"'@服务名
[11:41:14oracle@dvd adump]$sqlplus wang/oracle@1@sun
SQL*Plus: Release 11.2.0.1.0 Production on Tue Oct 30 11:41:24 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
ERROR:
ORA-12532: TNS:invalid argument
[11:42:24oracle@dvd adump]$sqlplus 'wang/"oracle@1"'@sun --1个双引号扩密码,1个单引号扩 用户名+密码,即: '用户名/"密码"'@服务名
SQL*Plus: Release 11.2.0.1.0 Production on Tue Oct 30 11:42:25 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the OLAP and Data Mining options
wang@SUN>
Windows 平台:wang/"""oracle@1"""@sun--3个双引号扩密码,即: 用户名/"""密码"""@服务名
C:\Users\wanglei.ITADMIN>sqlplus wang/oracle@1@sun
SQL*Plus: Release 11.2.0.1.0 Production on 星期二 10月 30 13:20:00 2012
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS: 无法解析指定的连接标识符
请输入用户名:
C:\Users\wanglei.ITADMIN>sqlplus wang/"""oracle@1"""@sun--3个双引号扩密码,即: 用户名/"""密码"""@服务名
SQL*Plus: Release 11.2.0.1.0 Production on 星期二 10月 30 13:20:30 2012
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the OLAP and Data Mining options
您可能感兴趣的文章:
- Oracle用户密码含有特殊字符导致无法登陆解决方法
- Oracle用户密码含有特殊字符导致无法登陆解决方法
- 因oracle用户密码包含特殊字符导致sqlplus无法正常登录问题
- 【方法】Oracle用户密码含特殊字符时的登陆问题
- 【方法】Oracle用户密码含特殊字符时的登陆问题
- 【方法】Oracle用户密码含特殊字符时的登陆问题
- 动网:关于部分论坛用户发帖、回帖时报错“数据中含有非法字符。您的用户名并不存在,或者您的论坛密码错误,或者您的帐号已被管理员锁定。” 及“您没有发表新主题的权限”解决方法
- 超过AIX单用户最大进程数导致oracle无法登陆的解决
- mysql5.7 root用户密码正确却无法登陆解决方法
- MySQL忘记密码或者因为修改mysql.user导致无法登陆解决方法
- Oracle用户密码含特殊字符时登陆失败问题
- OEM无法登陆原因与ORACLE用户密码过期和锁定的解决办法(附上系统用户默认密码)
- Oracle用户密码含特殊字符时登陆失败问题
- Oracle 用户密码含特殊字符时的登陆问题(转)
- Oracle用户密码含有特殊字符应当如何处理
- Oracle更新表字段时内容中含有特殊字符&的解决方法
- phpcms V9后台密码重试次数太多导致无法登陆的解决方法
- Oracle更新表字段时内容中含有特殊字符&的解决方法
- Oracle用户密码含有特殊字符应当如何处理
- 普通用户无法登陆Windows Server 2008 R2域控的解决方法