Oracle用户密码含有特殊字符导致无法登陆解决方法

我的system/sys用户的密码中都包含一个@字符,比如我的密码是123@456,那使用sqlplus登录的时候就理解成sqlplus system/123@456@webdata,这样sqlplus就理解成123后面的就是数据库的连接字符串,这样自然就报错并提示TNS: 无法解析指定的连接标识符或no listener 

创新互联建站为企业级客户提高一站式互联网+设计服务,主要包括网站设计、做网站app开发定制小程序定制开发、宣传片制作、LOGO设计等,帮助客户快速提升营销能力和企业形象,创新互联各部门都有经验丰富的经验,可以确保每一个作品的质量和创作周期,同时每年都有很多新员工加入,为我们带来大量新的创意。 

之后在服务器上用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用户密码含有特殊字符导致无法登陆解决方法
当前URL:http://azwzsj.com/article/gedpcp.html