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に設定することはお勧めしません。データベースのユーザーパスワードを定期的に変更することをお勧めします。