Oracle11gからはデフォルトでユーザパスワードの有効期限が180日に設定されるとのこと。
その有効期限が切れてしまった場合の復旧方法
(1)プロファイルのPASSWORD_LIFE_TIME(パスワード有効期限)を無期限に変更
これを変更すると変更対象のプロファイルが設定されているユーザのEXPIRY_DATEも追従して変更される。
(UNLIMITEDに変更すればユーザのEXPIRY_DATEはNULLになり
特定の日数に変更すれば、最後にパスワードを変更した日から設定した日数後の日付に変更される)
alter profile プロファイル名 limit password_life_time unlimited;
(2)パスワードを変更
パスワードを変更することによりパスワードの有効期限(EXPIRY_DATE)をリセットできる。
他のパスワード制限がかかっていなければ前回と同じパスワードに変更することも可能。
alter user ユーザ名 identified by 新パスワード;
(3)ユーザのロックを解除
alter user ユーザ名 account unlock;
以下、情報確認
・プロファイルの確認
select user, profile from dba_users;
・パスワード有効期限の確認
select username, expiry_date from dba_users;
・プロファイルの有効期限設定の確認
select * from dba_profiles
where resource_name = 'PASSWORD_LIFE_TIME';
・パスワード変更日の確認
select user#, name, ptime from user$;
PR