Oracle使用者密碼被鎖定導致的故障

kuqlan發表於2011-09-18

曾經一次發生的過的系統故障,雖然問題解決起來很簡單,但是確實值得記錄。

當時接到電話說業務系統無法登入,導致整個業務無法辦理。

之前是因為好多後臺操作人員雖然給他們已經分配了屬於自己的使用者名稱和密碼,但是部分人還是喜歡透過應用系統連線資料庫時所用的使用者進行登入,因此修改了該使用者的密碼。當我登入到資料庫伺服器檢查後發現應用系統所用的sm使用者被鎖定了,具體處理過程如下:

[@more@]

SQL>sqlplus 使用者/密碼@資料庫服務 as sysdba;

SQL> select * from v$version;

BANNER

----------------------------------------------------------------

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

SQL>select username,profile from dba_users;

SQL> select * from dba_profiles where resource_type='PASSWORD';

PROFILE RESOURCE_NAME RESOURCE LIMIT

------------------------------ -------------------------------- -------- ----------------------------------------

DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10

DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED

DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED

DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED

DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL

DEFAULT PASSWORD_LOCK_TIME PASSWORD UNLIMITED

DEFAULT PASSWORD_GRACE_TIME PASSWORD UNLIMITED

預設情況下,如果使用者登入嘗試10次以上並連續失敗,則會改用被鎖定。鎖定後就無法該用進行連線資料庫,因此導致這次故障。透過如下SQL改變使用者鎖定狀態即可:

SQL> alter user 使用者 identified by 密碼 account unlock;

另外password_life_time也值得關注:

SQL>select * from dba_profiles s where s.profile='default' and resource_name='password_life_time';

SQL>alter profile default limit password_life_time unlimited;

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

相關文章