Oracle密码延迟验证导致的系统HANG住

database

问题现象:
更改密码后,每次连接异常慢,就算用正确的密码连接,验证延时也非常大,导致应用程序连接反复出现超时现象;

问题分析:
经查实,这是由于11G的延迟密码特性引起,特别在一些自动连接特性的应用来说,如果密码认证错误,会一直累积密码验证时间,导致后面的正确验证也异常超时,这种问题一般发生在修改应用账户密码后,应用服务器没有及时更新数据库连接信息导致。

解决方案:
如果需要修改应用账户密码,需要提前确定好那些应用服务器需要更改连接信息,需提前准备好相应的脚本,如应用太多,需要在更改后作出相应的监控措施,如:

检查数据库登录日志dba_audit_session,可以查出登录失败的主机和应用,通知架构负责人及时调整:

Select *

From Dba_Audit_Session

Where User_Name = ’mbs7_Oms’

And Action_Name = ’logon’

And Timestamp Between

To_Date("2013-12-03 1:00:00", "yyyy-mm-dd hh24:mi:ss") And

To_Date("2013-12-03 2:10:00", "yyyy-mm-dd hh24:mi:ss")

Order By Sample_Time Desc

如处理不及时,导致用户被延迟认证特性阻塞,可用以下脚本在异常节点批量查杀远程连接进程的办法解决,脚本如下:

ps -ef | grep LOCAL=NO | awk "{print $2}" | xargs kill -9

这里注意的是:
查杀的同时要通知架构人员尽快清理连接缓存,另外注意查杀后,对于一些正常的连接进程要手工重新启动, 如审计库的远程连接进程等。

当然这个特性也可以设置屏蔽,通过设置EVENTS 28401可以屏蔽密码延迟验证:

SQL> ALTER SYSTEM SET EVENT = ‘28401 TRACE NAME CONTEXT FOREVER, LEVEL 1’ SCOPE = SPFILE;

设置该事件后重启数据库即可。

©版权声明:本文为天凯DBS的原创文章,转载请附上原文出处链接及本声明,否则将追究法律责任。

更多DBA实战案例请关注访问天凯DBS!

以上是 Oracle密码延迟验证导致的系统HANG住 的全部内容, 来源链接: utcz.com/z/531541.html

回到顶部