1. 程式人生 > >碰到一怪事ORA-28000: the account is locked。the password has expired

碰到一怪事ORA-28000: the account is locked。the password has expired

ORA-28000: the account is locked

這個使用者已經被鎖住了,一般是用錯誤的密碼嘗試次數太多,得解鎖
用system或sys使用者登陸,
然後我alter user username account unlock;

好了,
可是過了一會兒,我登入的時候又ORA-28000: the account is locked了

暈啊,難道過了一會兒,oracle會自動lock我的使用者?

附:http://www.itpub.net/thread-942308-1-1.html

Oracle提示錯誤訊息ORA-28001: the password has expired,
經調查是由於Oracle11G的新特性所致, Oracle11G建立使用者時預設密碼過期限制是180天, 如果超過180天使用者密碼未做修改則該使用者無法登入。 
可通過

SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'語句查詢密碼的有效期設定,LIMIT欄位是密碼有效天數。在密碼將要過期或已經過期時可通過ALTER USER 使用者名稱 IDENTIFIED BY 密碼 ;語句進行修改密碼,密碼修改後該使用者可正常連線資料庫。長久對應可通過ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED語句將口令有效期預設值180天修改成“無限制”。出於資料庫安全性考慮,不建議將PASSWORD_LIFE_TIME值設定成UNLIMITED,
建議客戶定期修改資料庫使用者口令。