SYS使用者遠端登入報錯:ORA-01017: invalid username/password; logon denied

聽海★藍心夢發表於2011-12-01
    今天下午,有同事說有個資料庫sys使用者無法遠端登入,總是報密碼錯誤:
ORA-01017: invalid username/password; logon denied
    連過去發現果然是這樣:
SQL> conn as sysdba
ERROR:
ORA-01017: invalid username/password; logon denied
 
SQL> conn as sysdba
Connected.
 
    懷疑是remote_login_passwordfile引數的問題,檢視資料庫,果然是這個引數的問題,該引數值為none,如果要使sys遠端登入,必須要改為exclusive才可以。於是按照下面的操作讓他修改引數的值:
 
16:37:14 > alter system set REMOTE_LOGIN_PASSWORDFILE=none scope=spfile;
 
System altered.
 
16:37:16 > shutdown immediate

Database closed.
Database dismounted.
ORACLE instance shut down.
 
16:39:43 idle> startup

ORACLE instance started.
Total System Global Area  263049216 bytes
Fixed Size      2212448 bytes
Variable Size    239078816 bytes
Database Buffers    16777216 bytes
Redo Buffers      4980736 bytes
Database mounted.
Database opened.
 
16:39:53 idle> conn as sysdba
ERROR:
ORA-01017: invalid username/password; logon denied

Warning: You are no longer connected to ORACLE.
 
16:40:02 idle> conn / as sysdba
Connected.
 
16:40:43 > alter system set remote_login_passwordfile=exclusive scope=spfile;
 
System altered.
 
16:41:26 > shutdown immediate

Database closed.
Database dismounted.
ORACLE instance shut down.

16:41:37 > startup

ORACLE instance started.
Total System Global Area  263049216 bytes
Fixed Size      2212448 bytes
Variable Size    239078816 bytes
Database Buffers    16777216 bytes
Redo Buffers      4980736 bytes
Database mounted.
Database opened.

16:41:49 > conn as sysdba

Connected.

16:42:02 >
 
    但是,同事一會說他這樣做了之後依然不行。覺得很是奇怪~~最後突然想到,這個庫是很久以前的庫,裝完資料庫之後修改過sys使用者的密碼,所以懷疑之後修改的sys密碼和密碼檔案裡的密碼不一致造成的。
 
    這樣可以透過兩種方法解決:
1、把sys的密碼修改成最初建庫時的密碼。
2、按照現在的sys密碼重建密碼檔案。
 
    這兩種方法都不難,都可以很容易解決問題。於是,我猜了一下當初建庫時可能的密碼:change_on_install ~~~
    當在sqlplus裡把sys密碼改成change_on_install之後,果然成功~~~~
    相信重建密碼檔案也是可以達到這樣的效果。
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/751371/viewspace-712565/,如需轉載,請註明出處,否則將追究法律責任。

相關文章