當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
SQL>
似乎都是支持的,只是在sqlplus中創建用戶時不能使用單純的數字或字母或字符。
大小寫字母,數字,下劃線都支持,其余的符號是不支持的