oracle資料庫使用者密碼過期
oracle資料庫使用者設定密碼有效期後,如果密碼過期,使用程式呼叫該使用者時會報錯:ORA-28001:the password has expired
可以將相關使用者所屬profile更改為永不過期,也可以為已過期使用者更改密碼
使用oracle使用者以sysdba身份登入sqlplussqlplus / as sysdba
將使用者user11的密碼修改為NewPasswdSQL> alter user user11 identified by NewPasswd
使用新密碼登入oracle以驗證密碼有效性sqlplus user11/NewPasswd@ora_name
如果使用者登入時報錯提示ORA-28000:使用者已被鎖,需要回到sysdba身份解鎖使用者SQL> alter user user11 account unlock;
查詢使用者所屬的profile是哪個SQL> select username,profile from dba_users;
查詢所有使用者,通過CREATED列的時間與當前時間差,推測出密碼已經過期的使用者SQL> select * from all_users;
通過LIMIT列查詢各profile當前設定的密碼有效天數SQL> select * from dba_profiles where resource_name='PASSWORD_LIFE_TIME';
示例,將default的profile密碼有效期修改為180天/永久SQL> alter profile default limit PASSWORD_LIFE_TIME 180;
SQL> alter profile default limit PASSWORD_LIFE_TIME unlimited;
設定密碼永不過期後,未過期的使用者會立即生效變為永久,但那些已經過期的使用者需要修改一次密碼才可以正常使用
以上內容修改之後,不需要重啟服務,會立即生效