かきスタンプ

福岡でフリーランスの物流系のエンジニアやってます。

Oracle:デフォルト設定のパスワード有効期限切れ対策

Oracle11g以降は、パスワードの有効期限がデフォルトで180日となっています。 そのままにしておくと、180日経過後に突然ログインできなくなるので、パスワードの有効期限を延ばす(もしくは無期限に設定する)必要があります。

以下、SYSDBAで実行。

パスワード有効期限確認方法

select * from dba_profiles where resource_name = 'PASSWORD_LIFE_TIME'

パスワード有効期限を無期限に変更

alter profile default limit password_life_time unlimited

既に有効期限が過ぎていた場合、アカウントロックがかかっているので、その場合は一度パスワードを変更した後、ロックを解除する。

パスワード変更

alter user <user_name> identified by <new_password> 

アカウントロック解除

alter user <user_name> account unlock

ちなみにMySQLにも同様の機能が搭載されたが、「(管理者の意図に反して、ある日突然接続ができなくなるなんて)バグじゃねえか!」 という意見があり、廃止される見込みらしいです。(Oracle社で開催されたMySQL勉強会で聞いたネタ)

だよね。俺もそっちが正しいと思う。