In Oracle Database, A remote DBA face this because password have reached 180 Default limit for Password life time.
The life of a password is defined as 180 days by default.
To check which user got Expired password:
select username, account_status from dba_users where ACCOUNT_STATUS LIKE '%EXPIRED%';
First connect as DBA:
$ sqlplus / as sysdba
To unlock an user:
SQL> alter user [user_name] ACCOUNT UNLOCK;
To reset the password:
SQL> alter user [user_name] identified by [password];
To Keep same Password:
SQL> select 'alter user "'||d.username||'" identified by values '''||u.password||''';' c
from dba_users d, sys.user$ u
where d.username = upper('&&username')
and u.user# = d.user_id;
Enter value for username: scott
old 3: where d.username = upper('&&username')
new 3: where d.username = upper('scott')
C
--------------------------------------------------------------------------------
alter user "SCOTT" identified by values 'F894844C34402B67';
SQL> alter user "SCOTT" identified by values 'F894844C34402B67';
On a production system, has to change this limit to unlimited to solve this and to avid this in future.
ALTER PROFILE DEFAULT LIMIT password_life_time UNLIMITED;
Oracle ORA-28001: the password has expired | Million Dollar Server
ReplyDeleteThanks for sharing your thoughts on kzn a ru. Regards
ReplyDelete