ORA-28002 密碼過期解決方案
錯誤場景:當使用sqlplus進行登錄時報錯:ORA-28002 密碼過期。
錯誤原因:由於oracle 11g 在默認在default概要文件中設置了密碼過期天數,“PASSWORD_LIFE_TIME=180”,密碼過期后就會報此提示。
解決方案:
1、查看用戶的概要文件名,一般為default
sql> SELECT username,PROFILE FROM dba_users;
2、查看指定概要文件(如default)的密碼有效期設置
sql> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
3、將密碼有效期由默認的180天修改成“無限制”,立即生效,修改后沒有提示過期的用戶將不會再提示
sql> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
4.檢查已經密碼過期的用戶
賬號的狀態大致被分為:OPEN(正常),LOCKED(通過SQL語句進行的鎖定),LOCKED(TIMED)(超過最大錯誤登錄次數被動鎖定),EXPIRED或者EXPIRED(GRACE)(密碼過期狀態),EXPIRED & LOCKED(TIMED)(密碼過期並超過了限制次數被鎖定)等。
sql> SELECT username,account_status FROM dba_users;
5.修改后,還沒有被提示ORA-28002警告的帳戶不會再有同樣的提示,已經被提示的帳戶必須修改密碼
sql> ALTER user 用戶名 identified BY <密碼>
ORA-28000 賬戶鎖定的解決方案參考:https://www.cnblogs.com/holmes-cat/p/10365614.html