程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> Oracle用戶密碼含有特殊字符導致無法登陸解決方法

Oracle用戶密碼含有特殊字符導致無法登陸解決方法

編輯:關於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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved