**数据库错误场景:当使用sqlplus进行登录时报错:ORA-28000 账号被锁定。
错误原因:由于oracle 11g 在默认在default概要文件中设置了密码最大错误次数为10,“FAILED_LOGIN_ATTEMPTS=10”,密码错误的次数超过10次,账号就会被锁定。
查询数据库 : 概要文件中设置的密码错误后限制的登录次数**
SQL> select * from dba_profiles where profile='DEFAULT' and resource_name='FAILED_LOGIN_ATTEMPTS';
检查已经被锁定的用户:
SQL> select username,account_status from dba_users;
账号的状态大致被分为:OPEN(正常),LOCKED(通过SQL语句进行的锁定),LOCKED(TIMED)(超过最大错误登录次数被动锁定),EXPIRED或者EXPIRED(GRACE)(密码过期状态),EXPIRED & LOCKED(TIMED)(密码过期并超过了限制次数被锁定)等
解决数据库账号锁定情况:
方法一:解除所有账号锁定限制:
SQL> alter profile default limit failed_login_attempts unlimited; (所有账号)
方法二:只解除被锁定的账号
解锁被锁定的账户sql:
SQL> alter user user_name account unlock; (user_name:为账号名称)
SQL> alter user ymuser account unlock; (user_name:为账号名称)