ORA-28001: The Password Has Expired
I am writing this post to aware my readers and newbie oracle administrators about this feature and how to change the password limit of Oracle 11g Database.
Oracle code with detail description:
Error: ORA-28001: the password has expired
Cause: The user’s account has expired and the password needs to be changed
Action: Change the password or contact the DBA
Understand default profiles of Oracle Database:
When you create a user in an instance, a default profile is assigned to that user. There are some differences between the default profiles for Oracle 10g and Oracle 11g Database.
Before Oracle 11g, the password limit (PASSWORD_LIFE_TIME) is not defined. In that case the password never expires for that particular user.
For Oracle 11g, the default password limit (PASSWORD_LIFE_TIME) has 180 days. PASSWORD_LOCK_TIME and PASSWORD_GRACE_TIME also have limits.
|Oracle Database Version||Default Profile Values|
|Oracle 10g||PASSWORD_LIFE_TIME: UNLIMITEDPASSWORD_LOCK_TIME: UNLIMITEDPASSWORD_GRACE_TIME: UNLIMITED|
|Oracle 11g||PASSWORD_LIFE_TIME: 180PASSWORD_LOCK_TIME: 1PASSWORD_GRACE_TIME: 7|
How to set the PASSWORD_LIFE_TIME to Unlimited?
If you want to set PASSWORD_LIFE_TIME limit to UNLIMITED, run the following command to alter profile and set limit to UNLIMITED in Oracle 11g.
C:\ sqlplus sys/sys@xe as sysdba Or
C:\sqlplus system/system@xe as sysdba
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
How to set new password if password expires?
If password expires then run following command on SYS or SYSTEM user.
Open command prompt and run following command.
C:\ sqlplus sys/sys@xe as sysdba Or C:\sqlplus system/system@xe as sysdba
SQL> ALTER USER TEST IDENTIFIED BY TEST;
I hope you understood the article. If you have any query, write on comment section.