轉載自:https://blog.csdn.net/zdw_wym/article/details/38066745
Oracle提示錯誤消息 ORA-28001: the password has expired,是由於Oracle11G的新特性所致,Oracle11G創建用戶時缺省密碼過期限制是180天(即6個月),如果超過180天用戶密碼未做修改則該用戶無法登錄。
解決方法可通過如下SQL語句
查詢密碼的有效期,LIMIT字段是密碼有效天數:
SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
修改密碼:
ALTER USER 用戶名 IDENTIFIED BY 密碼;
修改密碼后,會發現該賬戶會被鎖定,解鎖用戶:
alter user 用戶名 account unlock;
關閉180天的密碼生存周期的限制:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
如上SQL語句將口令有效期默認值180天修改成了“無限制”。但是出於數據庫安全性考慮,不建議將PASSWORD_LIFE_TIME值設置成UNLIMITED,建議大家定期修改數據庫用戶口令。