Oracle用户频繁被锁原因排查与解决

问题描述:

项目小组同事说最近一段时间内,Oracle用户总是频繁被锁,导致应用及客户端均无法登录操作数据库。

现象跟踪:

通过查看监听日志listener.log,发现很多从10.1.3.107应用服务器过来的访问记录,并伴有警告信息出现,部分内容如下:

... ...

05-AUG-2015 03:49:57 * (CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=weblogic))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.3.107)(PORT=15143)) * establish * ORCL * 0
05-AUG-2015 03:50:02 * (CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=weblogic))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.3.107)(PORT=15146)) * establish * ORCL * 0
05-AUG-2015 03:50:04 * ping * 0
WARNING: Subscription for node down event still pending

service_update * orcl * 0

... ...

排查解决:

tail -f listener.log 查看Oracle数据库监听日志
select * from dba_propties; 查看登陆失败、密码过期时间参数设置
alter user dbuser account unlock; 用户解锁

原来是应安全部门要求对数据库进行安全检查,数据库密码设置复杂度不符合安全要求,所以Oracle用户曾改过密码。而应用系统服务器采用Weblogic部署,weblogic配置的数据源并未更改数据库密码,数据库默认限定登陆失败次数为10次,因此当业务层大量请求访问数据库超过权限失败次数后,从而导致用户频繁被锁。

后续注意:

当数据库用户密码更改后,应及时检查应用系统数据库连接参数、DBlink是否更新,避免因登陆密码失败导致用户被锁。

你可能感兴趣的:(Oracle)