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

Registering The Database to RMAN catalog database:

Registering The Database to RMAN catalog database: Need to start RMAN as follows: RMAN target=sys/password@database_to_backup rcvcat=sys/password@recovery_catalog_database Another variation on the command, if the recovery catalog and the database were on the same server, might be as shown: oraenv ORACLE_SID = [KKUY] ? KKUY RMAN rcvcat=sys/password@recovery_catalog_database RMAN> connect target Recovery Manager: Release 8.0.5.1.0 - Production RMAN-06005: connected to target database: KKUY RMAN-06008: connected to recovery catalog database Use the below command to register the database. RMAN>register database; Want to verify if a database is registered in the recovery catalog. To do this, connect to RMAN and issue the command LIST INCARNATION OF DATABASE. RMAN> list incarnation of database; RMAN-03022: compiling command: list RMAN-06240: List of Database Incarnations RMAN-06241: DB Key Inc Key DB Name DB ID      CUR Reset SCN   Reset Time RMAN

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