今天在使用ORACLE時報出如下錯誤:ORA-28002: the password will expire within 7 days
===============================================
ERROR:
ORA-28002: the password will expire within 7 days
===============================================
提示密碼快過期了,由於需要連接的測試數據庫,所以決定將密碼設置成永不過期。
1.查看用戶的profile設置:
SELECT username,profile FROM dba_users;
一般用戶的profile設置都為DEFAULT。
2.查看系統profiles中PASSWORD_LIFE_TIME設置。
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- ------------------------------------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD 180dys
==============================================================
3.修改DBA_PROFILES中PASSWORD_LIFE_TIM的設置,改為ULIMITED。
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改后設置立即生效,不需要重啟數據庫,此時密碼永遠不會過期。
4.已經被報告了密碼快要過期的賬戶必須再改一次密碼(需要DBA權限)
以system用戶為例
sqlplus / as sysdba
alter user system identified by root;
再連接數據再也不會出現密碼過期的事情了。
如果是其他用戶的話,那么就使用其他用戶名。
alter user scott identified by tiger;