Oracle 11g に 「ORA-28001」 エラーでログインできなくなったので
会社の Oracle 11g にいきなりログインできなくなったと思ったら、
ORA-28001:パスワードが期限切れです。
ですってぇ!?
急いで調べてみたところ、Oracle 11g からはデフォルトでパスワードの有効期限が180日に設定されているそうなんです。知らんかった。
というわけで、パスワードの有効期限を無期限にする方法をメモメモです φ(..)。
まずはデータベースに sysdba 権限で接続し、以下のコマンドを入力します。
alter profile default limit password_life_time unlimited;
alter user [ユーザID] identified by [パスワード];
alter user [ユーザID] account unlock;
1行目では 「default」 という名前のプロファイルのパスワードの期限を無期限にします。特に設定していなければ、各ユーザーにはこのプロファイルが割り当てられているようです。
あとは2行目でユーザーのパスワードを再設定して、3行目でロックを解除します。
2行目のパスワードの再設定は必要ないような気がしましたが、現在パスワード自体に期限が設定されているので、ここで無期限のパスワードとして再度設定する必要があります。
3行目のロックの解除については、状況によっては必要ないかもしれません。実は 1行目>3行目>2行目 の順で実行したので (・・。)ゞ
ついでにユーザーに対してパスワードの期限を設定する方法(alter user で何とか出来ないか)がないか探してみたのですが、見つけられませんでした。残念。
参照リンク
・開発備忘録 ORA-28001:パスワードが期限切れです。
・Oracle11g パスワードの有効期限の変更方法 - エムイズム - つぶやきブログ