由於oracle數據庫服務器在內網,外網不能訪問。故需要先登錄到一台外網能訪問的地址,再從該地址ssh到數據庫服務器地址
操作如下:
ssh -l root -p 22 192.168.1.5;
如果22端口號沒開,測試23端口號是否開啟(我們這里假定23端口開啟了);
1.telnet 192.168.1.5
2.輸入用戶名和密碼(這里我們要知道遠程服務器普通用戶名密碼,例如oracle,test等);
注意:一般情況下telnet到遠程服務器,不能用root帳戶登錄;報錯為 login incorrect
3.su -oracle,輸入oracle用戶密碼,我的是和root相同。
4.sqlplus /nolog;
5.connect/as sysdba;
6.alter user 用戶名 identified by 新密碼; //密碼中含有特殊字符,如@!#,需要將密碼加上雙引號
7.ALTER USER 用戶名 ACCOUNT UNLOCK;
8.commit;
注意:如果沒有7,8的話,你的操作就會導致該用戶名被鎖定。
報錯ORA-28000: the account is locked
如果只有第七步,沒有第八步,在你退出SQLPlUS之前好用,
退出之后就會同樣報錯ORA-28000: the account is locked
只有確認提交之后才能生效。
密碼中含有特殊字符解決方法
當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
