1. 程式人生 > 其它 >oracle資料庫使用者密碼過期

oracle資料庫使用者密碼過期

oracle資料庫使用者設定密碼有效期後,如果密碼過期,使用程式呼叫該使用者時會報錯:ORA-28001:the password has expired

可以將相關使用者所屬profile更改為永不過期,也可以為已過期使用者更改密碼

使用oracle使用者以sysdba身份登入sqlplus
sqlplus / as sysdba

將使用者user11的密碼修改為NewPasswd
SQL> 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;

設定密碼永不過期後,未過期的使用者會立即生效變為永久,但那些已經過期的使用者需要修改一次密碼才可以正常使用
以上內容修改之後,不需要重啟服務,會立即生效