Skip to main content

ORA-28007: THE PASSWORD CANNOT NE REUSED

            


- Here will see how to deal with  => ORA-28007: the password cannot be reused - 

  1. I got a request from client user, stating his account has been locked.
  2. When I check the status of the account I found the below.
  3. connect to SYS user & execute the below query of that database.

SQL> select password,username,account_status,profile from dba_users where username='TEST';

PASSWORD               USERNAME   ACCOUNT_STATUS                 PROFILE
------------------             ----------------  -------------------------------           --------------------
AB2Aa8AC9971521e3     TEST       EXPIRED(GRACE)&LOCKED    NONAPP_USERS

So, then I have unlocked the account and checked the same again & I found the below results.

SQL>  select password,username,account_status,profile from dba_users where username='TEST';

PASSWORD               USERNAME   ACCOUNT_STATUS                 PROFILE
------------------             ----------------  -------------------------------           --------------------
AB2Aa8AC9971521e3     TEST          EXPIRED(GRACE)                NONAPP_USERS

When I trying to reset his password same as his old password, using the encrypted password(AB2Aa8AC9971521e3). I'm getting below error.


SQL>  alter user TEST IDENTIFIED BY VALUES 'AB2Aa8AC9971521e3';

alter user TEST  IDENTIFIED BY VALUES 'AB2Aa8AC9971521e3'
*
ERROR at line 1:
ORA-28007: the password cannot be reused

SOLUTION:

Change the profile limit to unlimited like below.

Check the below first and make a note of them.

SQL> select * from dba_profiles where profile='NONAPP_USERS' and  RESOURCE_NAME in ('PASSWORD_REUSE_TIME');


     PROFILE                           RESOURCE_NAME              RESOURCE LIMIT
----------------------------         --------------------------------        --------------------------
NONAPP_USERS     PASSWORD_REUSE_TIME              PASSWORD .0006

SQL> select * from dba_profiles where profile='NONAPP_USERS' and  RESOURCE_NAME in ('PASSWORD_REUSE_MAX');

     PROFILE                           RESOURCE_NAME              RESOURCE LIMIT
----------------------------         --------------------------------        --------------------------
NONAPP_USERS            PASSWORD_REUSE_MAX               PASSWORD 4

Now change these values to unlimited.

SQL> select name from v$database;

NAME
---------
TCPT

SQL> alter profile NONAPP_USERS limit PASSWORD_REUSE_MAX UNLIMITED;

Profile altered.

SQL> alter profile NONAPP_USERS limit PASSWORD_REUSE_TIME UNLIMITED;

Profile altered.

Once the both changed to unlimited. Now try to alter the password. like below

SQL> alter user TEST  IDENTIFIED BY VALUES 'AB2Aa8AC9971521e3 ';

User altered.

Please check account status now.

SQL> select username,account_status from dba_users where username='TEST';

USERNAME                       ACCOUNT_STATUS
------------------------------ --------------------------------
TEST                                             OPEN

Now we are able to ALTER the user password. Once password reset, alter profile limit like as previous. using the below queries.

SQL> alter profile NONAPP_USERS limit PASSWORD_REUSE_TIME 1/1440;

Profile altered.

SQL> alter profile NONAPP_USERS limit PASSWORD_REUSE_MAX 4;

Profile altered.


Here we are done :)

Thank You !





Comments

Popular posts from this blog

ORA-39014: One or more workers have prematurely exited.ORA-00018: maximum number of sessions exceeded

ERROR: I was Performing a full database import and during the import I faced the below error. ORA-39014: One or more workers have prematurely exited. ORA-39029: worker 6 with process name "DW07" prematurely terminated ORA-31672: Worker process DW07 died unexpectedly. Job "SYSTEM"."SYS_IMPORT_FULL_04" stopped due to fatal error at 00:59:40 ORA-39014: One or more workers have prematurely exited. SOLUTION:  Run the import with fewer parallel processes, like PARALLEL=2 instead of 8. I was able to run the import successfully. NOTE 1: This errors occurs when there are less session allocation in the database. check the session,process parameters and increase them accordingly. To avoid such errors again. NOTE 2 : Note: Increasing processes parameter increases the amount of shared memory that needs to be reserved & the OS must be configured to support the larger amount of shared memory. So here we first need to increase the Memory & SG

ORA-01143: cannot disable media recovery - file 1 needs media recovery

I got a request from the client - To flashback the database to the existing restore point & disable flashback and archive log mode for database UATB. Here I came a cross error - ORA-01143. I followed the below steps. 1. SQL> select name from v$database; NAME ------------ UATB 2. SQL> SELECT NAME FROM V$RESTORE_POINT WHERE GUARANTEE_FLASHBACK_DATABASE='YES' ORDER BY TIME; NAME --------- UATB_COPY Here I'm going to restore the database to the above restore point. NOTE: The flashback database restore has to be done in MOUNT stage of the database. SQL> select name from v$database; NAME --------- UATB SQL> shut immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area  612368384 bytes Fixed Size                  1250428 bytes Variable Size             167775108 bytes Database Buffers          436207616 bytes Redo Buffers