[Problem description]
Recently, using sqlplus login Short Message Oracle (Oracle training) database prompts "ORA-28000: account is locked ".
[Cause/trigger factor]
It is confirmed that "FAILED_LOGIN_ATTEMPTS = 10 times" is set in the default profile in oracle11g by default. This problem occurs when the number of incorrect passwords reaches the set value.
[Impact and risk]
Impact
After the account is locked, the business process has an exception connecting to the database, affecting service usage.
Problem occurrence frequency
After the database account is locked, the connection fails once the business process is restarted.
[Solution]
Follow these steps:
1. Check the user's proifle, which is generally default:
SQL> SELECT username, PROFILE FROM dba_users;
2. view the password validity period settings of the specified profile (such as default:
SQL> SELECT * FROM dba_profiles s WHERE s. profile = 'default' AND resource_name = 'failed _ LOGIN_ATTEMPTS ';
3. Change the number of failed logon attempts from the default 10 to "unlimited ":
SQL> ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;
4. After the modification, the user who has not been prompted the ORA-28000 warning will not encounter the same prompt again;
The locked account must be unlocked, for example:
$ Sqlplus/as sysdba
SQL> alter user smsc identified by oracle account unlock;
5. After modification, the default profile should be as follows:
SQL> select * from dba_profiles WHERE dba_profiles.profile = 'default ';
PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT
-------------------------------------------------------------------------------------------------
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITED
DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED
After modification, the database does not need to be restarted and takes effect immediately.
We hope that the above solution can solve the problem of oracle 11g password expiration.