当使用SQL*Plus登录时,Oracle数据库时提示“ORA-28000:帐号被锁定”。 导致出现改错误的原因是:在oracle database 11g中,默认在default概要文件中设置了“FAILED_LOGIN_ATTEMPTS=10”,当输入密码错误次数达到设置值将导致此问题。
1.确认用户所使用的概要文件:
select
username,profile
from
dba_users;
2.查看概要文件中有关登录次数的限制:select
*
from
dba_profiles
where
profile=
'DEFAULT'
and
resource_name=
'FAILED_LOGIN_ATTEMPTS'
;
3.如果尝试登录次数限制为10次,将尝试登录次数的限制修改为不受限:
alter
profile
default
limit failed_login_attempts unlimited;
修改后不需要重启数据库,修改结果即时生效。
4.检查已经被锁定的用户:
select
username,account_status
from
dba_users;
如图,账号的状态大致被分为:OPEN(正常),LOCKED(通过SQL语句进行的锁定),LOCKED(TIMED)(超过最大错误登录次数被动锁定),EXPIRED或者EXPIRED(GRACE)(密码过期状态),EXPIRED & LOCKED(TIMED)(密码过期并超过了限制次数被锁定)等。
5.解锁被锁定的账户:
alter
user
user_name account unlock;