解决Oracle19c数据库报错:ORA-28000 账号被锁定
问题:使用DBeaver连接Oracle19c数据库时,报错:ORA-28000 账号被锁定。
错误原因
经排查发现,Oracle19c数据库中设置了密码最大错误次数为10次,超过10次后导致账号被锁定。
解决方法
- 查看用户使用的概要文件名,一般为DEFAULT
select username,profile from dba_users;
- 查看概要文件中设置的密码错误后限制的登录次数
select * from dba_profiles where profile='DEFAULT' and resource_name='FAILED_LOGIN_ATTEMPTS';
- 将10次(默认)改为不受限制,改动后立即生效
alter profile default limit failed_login_attempts unlimited;
- 检查已经被锁定的用户
select username,account_status from dba_users;
账号的状态大致被分为:OPEN(正常),LOCKED(通过SQL语句进行的锁定),LOCKED(TIMED)(超过最大错误登录次数被动锁定),EXPIRED或者EXPIRED(GRACE)(密码过期状态),EXPIRED & LOCKED(TIMED)(密码过期并超过了限制次数被锁定)等。
- 解锁被锁定的账户
alter user c##zhra6 account unlock;
此时使用该账号可以正常连接数据库了!