ORA-28000 账号被锁定的解决办法

当使用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;