前言
最近正式环境的系统经常出现数据库连接错误,前面检查几个数据源配置信息无误!最后查出原因为:该数据库账户被锁住了,之前觉得和纳闷,谁会无聊把我们账户给锁住了呢!第一次出现这样的问题,我只能使用管理管账号给该系统的数据库账户解锁了。但第二次发现被锁后,这时就得找出原因了,最后查出还有一配置文件存在用户和密码错误的,因为是在进行中的项目,需要变化比较频繁,难免会出现此种问题。
本次Oracle被锁被锁原因:数据库连接时用户名密码错误10次则账户被锁住;数据库参数文件中设置了输错密码的次数,登录时当输错密码的次数超过所设置的次数时,则锁住该用户。默认一般为10次。
解决方法:
1、这时候只能用管理员身份登录将其账户解锁了,首先以管理员身份登录,并查看具体被锁的时间及状态:
select username,lock_date,account_status from dba_users where username='SJSJZX';
2、解锁:
alter user sjsjzx account unlock;
1、查看Failed_LOGIN_ATTEMPTS的值:
select * from dba_profiles where RESOURCE_NAME='Failed_LOGIN_ATTEMPTS';
2、修改为无限次尝试:
alter profile default limit Failed_login_attempts unlimited;
为了安全考虑,以上修改为无限次不建议使用。一下修改为默认的10次:
alter profile default limit Failed_LOGIN_ATTEMPTS 10;