ここではOracleのエラー「ORA-28002: パスワードは、n日以内に期限切れになります」の対処法について紹介します。

エラー現象と原因

SQL*Plus で Oracle 11g に接続したら「ORA-28002: the password will expier within 7days」というエラーが発生しました。
「パスワードは、7日以内に期限切れになります。」というエラーメッセージで接続は成功しています。

C:>sqlplus system/sample

SQL*Plus: Release 11.2.0.2.0 Production on 月 3月 23 11:10:11 2020

Copyright (c) 1982, 2014, Oracle. All rights reserved.

ERROR:
ORA-28002: the password will expire within 7 days


Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
に接続されました。
SQL>

Oracle 11g ではデフォルトでパスワードの有効期限が 180日に設定されているのが原因のようです。


エラーの対処法

パスワードを無期限にする

パスワードの有効期限を無期限に変更する場合は、以下のコマンドを実行します。

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

ALTER USER {ユーザー名} IDENTIFIED BY {パスワード};


以下はsampleユーザーのパスワードの有効期限を無期限にする例です。

SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

プロファイルが変更されました。

SQL> ALTER USER SYSTEM IDENTIFIED BY sample;

ユーザーが変更されました。


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

パスワードの有効期限を任意の日数に変更する場合は、以下のコマンドを実行します。

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME {日数};

ALTER USER {ユーザー名} IDENTIFIED BY {パスワード};


パスワードを変更する

パスワードを変更する場合は、以下のコマンドを実行します。

ALTER USER {ユーザー名} IDENTIFIED BY {変更後パスワード};


以上、ORA-28002 エラーの対処法について解説しました。