Oracleのパスワード有効期限を変更する

Oracleのパスワード有効期限

Oracleのパスワードには有効期限がありますが、このパスワード有効期限を無期限にすることができます。

Oracle 12cのパスワードポリシー

そもそもOracle 12cのパスワードポリシーはこのようになっております。

  • パスワードは180日で期限切れとなる
  • パスワードの期限切れの7日後にユーザーがロックされる
  • 10回ログインに失敗すると、ユーザーが1日ロックされる

ますます厳しくなっていくセキュリティですが、パスワードは180日で切れてしまいます。Oracle 11gから厳しくなりました。半年たつとそのユーザーはパスワードを変更しないと使えなくなってしまいます。

参照:ユーザー・パスワードの期限切れ – Oracle Database 2日でデータベース管理者

セキュリティ的にはもちろん好ましい仕様なのですが、実際使う立場だと何とも・・・。

あまりよろしくはないですが、パスワードの有効期限を無期限に変更してみます。

パスワード有効期限を確認する

まずはパスワードの有効期限がどうなっているか確認します。sysdbaでsqlplusへログインします。コマンドプロンプトで実施します。

--sysdbaとしてsqlplusへ接続
sqlplus / as sysdba

Oracleに接続できたら、パスワードの有効期限を確認します。

--パスワードの有効期限を確認
SELECT * FROM DBA_PROFILES
WHERE RESOURCE_NAME = 'PASSWORD_LIFE_TIME';
PROFILE RESOURCE_NAME RESOURCE LIMIT COM
DEFAULT PASSWORD_LIFE_TIME 180 NO

「RESOURCE_LIMIT」をみると「180」となっています。有効期限が180日になっていることが確認できました。

パスワードの有効期限を変更するには、該当のユーザーが使用しているプロファイルを変更します。

今回はプロファイルが「DFAULT」のみなので、この「DFAULT」プロファイルを変更します。

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

次にパスワードの有効期限を無期限にします。

sysdbaでログインしたままで、「DFAULT」プロファイルのパスワード有効期限を無期限に変更します。

--パスワードの有効期限を無期限にする
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

--パスワードの有効期限を500日にする 
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 500;

Oracleのパスワード有効期限を無期限にするには「unlimited」にすればよいです。

日数を設定するには日数を数字で指定します。今回は「500」として有効期限を500日間としました。

これでOracleパスワードの有効期限を無期限にできました。

以上、Oracleのパスワード有効期限を無期限にする手順でした。

コメント