问题现象:
应用环境下Oracle数据库用户频繁被锁,无法正常登录数据库;PL/SQL登录一段时间后,经常不能执行数据库事务操作。
原因分析过程:
1、查看Oracle数据库设置的相应参数
select * from dba_propties; --查看登陆失败、密码过期时间参数设置
alter user weblogic account unlock; -- 用户解锁
2、查看Oracle数据库监听日志
tail -f listener.log
通过对Oracle数据库监听日志分析listener.log,发现很多从10.0.3.197应用服务器过来的访问记录,并伴有警告信息出现。日志内容如下:
经过询问项目组人员,原来由于对数据库方面进行安全加固,Oracle用户曾改过密码,但应用系统服务weblogic配置的数据源并未更改,而数据库默认限定登陆失败次数为10次,因此当业务层大量请求访问数据库权限失败,结果导致频繁被锁。
总结:
当用户密码更改后,应检查应用系统、DBlink是否更新,避免因登陆密码失败导致用户被锁。