oracle提示錯誤消息ORA-28001: the password has expired

提示錯誤消息ORA-28001: the password has expired

經調查是由於Oracle 11G的新特性所致, Oracle 11G創建用戶時缺省密碼過期限制是180天, 如果超過180天用戶密碼未做修改則該用戶無法登錄。

可通過如下語句查詢。

SQL> SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

PROFILE
--------------------------------------------------------------------------------
RESOURCE_NAME
--------------------------------------------------------------------------------
RESOURCE_TYPE
------------------------
LIMIT
--------------------------------------------------------------------------------
DEFAULT
PASSWORD_LIFE_TIME
PASSWORD
180

語句查詢密碼的有效期設置,
LIMIT字段是密碼有效天數。在密碼將要過期或已經過期時可通過。

長久對應可通過

SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

SQL> SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

PROFILE
--------------------------------------------------------------------------------
RESOURCE_NAME
--------------------------------------------------------------------------------
RESOURCE_TYPE
------------------------
LIMIT
--------------------------------------------------------------------------------
DEFAULT
PASSWORD_LIFE_TIME
PASSWORD
UNLIMITED

語句將口令有效期默認值180天修改成“無限制”。出於數據庫安全性考慮,不建議將PASSWORD_LIFE_TIME值設置成UNLIMITED,
建議客戶定期修改數據庫用戶口令。

給密碼過期的用戶修改密碼如下:

ALTER USER 用戶名 IDENTIFIED BY 密碼 ;

該語句進行修改密碼,密碼修改後該用戶可正常連接數據庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章