Oracle SQL Developer出現錯誤 【ora-28002:the password will expire within 7 days】的解決辦法


啟動 Oracle SQL Developer的時候,點擊用戶system進行連接並輸入密碼后(下圖左),會出現(下圖右)提示信息:

即:【ora-28002:the password will expire within 7 days】提示密碼快過期了

 

 

以下是解決辦法:

1、查看用戶的profile設置:

select username,profile from dba_users;

 

在 Oracle 中,每個用戶都會對應一種特定類型的 profile 概要設置,其基本描述了這個用戶的一些特征,比如用戶密碼的生命周期 (這個特征就與經驗涉及 的 ORA-28002 錯誤相關)!

 

通常用戶都會采用 DEFAULT 這個默認的 profile 概要設置, 如圖, 所有的用戶均采用的這個 profile 設置!

一般用戶的profile設置都為DEFAULT:

2、查看系統profiles中PASSWORD_LIFE_TIME設置:

select * from dba_profiles s where s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

PASSWORD_LIFE_TIME : 密碼生命周期,用戶密碼什么時候到期,單位是天,如圖,安裝 Oracle 時默認的 PASSWORD_LIFE_TIME 是 180 天, 即 6 個月,其含義就是,我們的用戶密碼每 6 個月就需要更新(注意: 這里的更新不是指密碼需要改變,而是指一個更新動作,可以維持密碼不變,但必須執行這個更新動作

 

3、修改DBA_PROFILES中PASSWORD_LIFE_TIM的設置,改為ULIMITED。即不限制,這樣我們的用戶密碼就永不過期了。

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;  

修改后,我們再次查看DEFAULT profile 中 PASSWORD_LIFE_TIME 設置, 已經變為 UNLIMITED 了。修改后設置立即生效,不需要重啟數據庫,此時密碼永遠不會過期。

 

4、已經被報告了密碼快要過期的賬戶必須再改一次密碼(需要DBA權限)

但為了保險起見,我們一般都將所有經常使用的賬戶都更新一次密碼!

通過 sqlplus / as sysdba 登陸到 Oracle (無需密碼),然后執行如下命令更新一下密碼 :

 

如果是其他用戶的話,那么就使用其他用戶名。

alter user scott identified by tiger;  

 (我這里還修改了crims和root 的密碼,否則之前會報28002的錯誤。)

 

5、確認登陸后,不再出現 ORA-28002 錯誤

重新登陸,確認沒有報 ORA-28002 錯誤。 至此,這個問題就徹底解決了,以后無論多長時間,都不會再遇到這個問題。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM