ORA-28001:パスワードの有効期限が切れています
Ora 28001 Password Has Expired
OracleはエラーメッセージORA-28001を要求します:Oracle11Gの新機能により、パスワードの有効期限が切れました。ユーザーパスワードが変更されていない場合、Oracle11Gがユーザーを作成するときのデフォルトのパスワード有効期限は180日(つまり6か月)です。 180日を超えるとユーザーはログインできなくなります。オラクルはデフォルトでデータベースセキュリティのためにこのデフォルト機能を11Gに導入しましたが、このデフォルト機能はDBAや開発者には見落とされがちです。パスワードが180日間変更されないと、この問題が発生します。
解決策は、次のSQLステートメントを使用することができます
注:最初に、dbaを使用してログインする必要があります。
SQLPlusコマンドラインツールを実行し、次のように入力します。
sysdbaとして接続する
dbaのユーザー名とパスワードを入力します。
SELECT * FROM dba_profiles WHERE profile = 'DEFAULT' AND resource_name = 'PASSWORD_LIFE_TIME'
パスワードの有効期間が設定され、LIMITフィールドはパスワードが有効な日数です。
パスワードの有効期限が近づいているか、有効期限が切れている場合は、次のステートメントでパスワードを変更できます。パスワードが変更された後、ユーザーは通常どおりデータベースに接続できます。
パスワードで識別されるALTERUSERユーザー名
180日間のパスワードライフサイクル制限を削除する場合は、次のSQLステートメントでオフにできます。
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED
上記のSQLステートメントは、パスワードの有効期間のデフォルト値である180日を「無制限」に変更します。ただし、データベースのセキュリティ上の理由から、PASSWORD_LIFE_TIME値をUNLIMITEDに設定することはお勧めしません。データベースのユーザーパスワードを定期的に変更することをお勧めします。