oracle 出現the password has expired這個問題,今天忽然發現項目訪問不了,一查發現用不了,也登不進去,java
這個問題由是Oracle11g密碼過時的緣由致使的sql
調試Web項目的時候出現異常:oracle
java.sql.SQLException: ORA-28001: the password has expired ide
網上查了一下,鏈接Oracle,以Oracle用戶登錄,輸入如下命令spa
select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME'; 調試
結果顯示:it
PROFILE io
------------------------------------------------------------ file
RESOURCE_NAME select
------------------------------------------------------------
RESOURCE_TYPE
----------------
LIMIT
------------------------------------------------------------
DEFAULT
PASSWORD_LIFE_TIME
PASSWORD
180
------------------------------------------------------------
結果顯示密碼有效期是180天
輸入命令:
alter profile default limit password_life_time unlimited;
commit;
再次執行:
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
------------------------------------------------------------
進行以上步驟以後須要改變密碼,不然還會出現password has expired異常
改變密碼的命令
alter user XXXUSER identified by Welcome1;
若是帳號被鎖住,則須要解鎖命令
alter user XXXUSER identified by oracle account unlock;
再次調試,問題解決