ここではOracleのエラー「ORA-28001: パスワードが期限切れです」の対処法について紹介します。

エラー現象と原因

SQL*Plus で Oracle 11g に接続したら「ORA-28001: the password has expired」というエラーが発生しました。
「パスワードが期限切れです。」というエラーメッセージでパスワードの変更を要求されました。

新規パスワードを再入力してください:
パスワードが変更されました。


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

Oracle 11g ではデフォルトでパスワードの有効期限は 180日に設定されています。
有効期限が近づくと ORA-28001 の警告メッセージが表示されますが、有効期限が切れているようです。


エラーの対処法

パスワードを変更する

対処として、以下のコマンドでユーザーのパスワードを変更します。

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


以下はログイン後、パスワードを変更してみました。

sampleに対するパスワードを変更しています。
新規パスワード:
新規パスワードを再入力してください:
パスワードが変更されました。


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


ロックを解除する

または、sysdbaでログインして以下のコマンドでロックを解除します。

ALTER USER {ユーザー名} ACCOUNT UNLOCK;


以下はユーザーのロックを解除してみました。

C:\>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on 木 5月 27 21:54:20 2021

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




Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
に接続されました。
SQL> ALTER USER sample ACCOUNT UNLOCK;

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

SQL>

 


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