How to Solve ORA-28001: The password has Expired Error?

1. Introduction

In this article, we’ll discuss root cause and solution for ORA-28001: the password has expired error in oracle.

2. ORA-28001 Cause

The error normally occurs when the password for your oracle database is expired and it must be changed.

Expiry happens when the password has reached the limit set in the PASSWORD_LIFE_TIME parameter of your Oracle user profile.

3. ORA-28001 Solution

The password of the user account must be reset for solving this error. To reset the account password the following query can be used.

ALTER USER oraclesoy IDENTIFIED by '<New password>';

If you are trying to access the database using SQL developer, then it will prompt you to enter a new password in order to change the expired password.

In case if the user account is also locked, it can be unlocked by following the steps here.

To prevent the password expiry of the Oracle user account, set the password life time to unlimited using the following query. (Requires DBA privilege)

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

4. Conclusion

To summarize, we’ve discussed about the root cause and the solution for solving ORA-28001: The password has Expired Error.

Feel free to comment if you have any clarifications.

FAQs

How to set Password lifetime to unlimited in Oracle?

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

How to check password lifetime in Oracle?

SELECT resource_name, limit FROM dba_profiles WHERE profile = ‘DEFAULT’ AND resource_type = ‘PASSWORD’;

How to change password in oracle database?

ALTER USER username IDENTIFIED by ‘<New Password>’;