If the account status already “expired” or “exired(grace)”, updating profile will not change account_status and expiry date.
If the account status is open (means not expired), updating profile will change the expiry date for users as well.
After user changing password, it will use new profile.
The difference between expired and expired(grace) is expired(grace) allow user to change the password after login.
SQL> alter session set nls_date_format='YYYY-MON-DD HH24:MI:SS';
Session altered.
SQL> create profile passwd_life_5_min limit password_life_time 5/1440; <- Create a profile to expire password in 5 minutes
Profile created.
SQL> create user donghua identified by donghua profile passwd_life_5_min; <- user Donghua has this profile
User created.
SQL> select created,expiry_date,account_status from dba_users where username='DONGHUA';
CREATED EXPIRY_DATE ACCOUNT_STATUS
-------------------- -------------------- --------------------------------
2011-MAR-30 18:49:54 2011-MAR-30 18:54:54 OPEN
SQL> create user donghua1 identified by donghua profile passwd_life_5_min;
User created.
SQL> select created,expiry_date,account_status from dba_users where username='DONGHUA1';
CREATED EXPIRY_DATE ACCOUNT_STATUS
-------------------- -------------------- --------------------------------
2011-MAR-30 18:52:49 2011-MAR-30 18:57:49 OPEN
SQL> select sysdate from dual;
SYSDATE
--------------------
2011-MAR-30 18:52:59
SQL> select sysdate from dual;
SYSDATE
--------------------
2011-MAR-30 18:56:02
SQL> select created,expiry_date,account_status from dba_users where username='DONGHUA';
CREATED EXPIRY_DATE ACCOUNT_STATUS
-------------------- -------------------- --------------------------------
2011-MAR-30 18:49:54 2011-APR-06 18:56:18 EXPIRED(GRACE)
SQL> alter profile passwd_life_5_min limit password_life_time 180; <- change password policy to 180 days
Profile altered.
SQL> select created,expiry_date,account_status from dba_users where username='DONGHUA';
CREATED EXPIRY_DATE ACCOUNT_STATUS
-------------------- -------------------- --------------------------------
2011-MAR-30 18:49:54 2011-APR-06 18:56:18 EXPIRED(GRACE) <- Since it’s already expired(grace), the expiry date not updated.
SQL> select created,expiry_date,account_status from dba_users where username='DONGHUA1';
CREATED EXPIRY_DATE ACCOUNT_STATUS
-------------------- -------------------- --------------------------------
2011-MAR-30 18:52:49 2011-SEP-26 18:52:49 OPEN <- because this account ‘DONGHUA1’ still open, so the new profile changes apply.
Only Donghua’s password change, it will use the new profile:
SQL> alter user donghua identified by newpassword; <- change password here
User altered.
SQL> select created,expiry_date,account_status from dba_users where username='DONGHUA';
CREATED EXPIRY_DATE ACCOUNT_STATUS
-------------------- -------------------- --------------------------------
2011-MAR-30 18:49:54 2011-SEP-26 19:02:54 OPEN
Thanks, good example!
ReplyDeleteYou made your every effort to recover the password but none is doing its bid. Now you have to do it on your own.reset windows 10 password
ReplyDeleteThanks a lot...! I really admire to visit your amazing post and I wish to you different types of post.
ReplyDeleteTableau Training in Chennai
Tableau Course in Chennai
Advanced Excel Training in Chennai
Corporate Training in Chennai
Pega Training in Chennai
Linux Training in Chennai
Unix Training in Chennai
Oracle DBA Training in Chennai
Power BI Training in Chennai
Graphic Design Courses in Chennai
Tableau Training in T Nagar
Big data training in chennai
ReplyDeleteBig Data Course in Chennai
Happy to read the informative blog. Thanks for sharing
ReplyDeletepython coaching centre in chennai
python coaching centre in chennai
This post is so interactive and informative.keep update more information...
ReplyDeleteEthical Hacking Course in Velachery
Ethical Hacking Course in Chennai
Great post. keep sharing such a worthy information.
ReplyDeleteGraphic Design courses in Chennai
Online Graphic Design Course
Graphic Design Courses In Bangalore