Oracle 11g中的密码延迟功能

前几天帮客户升级数据库,从11.2.0.4 psu6,升级到11.2.0.4 psu161018 Linux64位 RAC

当节点1升级完启动之后,准备升级节点2时,客户说应用访问很慢,甚至会出现登陆报错的问题。检查发现确认存在这种情况,而且数据库的等待事件中存在有大量的 LIBRARY CACHE LOCK,并且一直在增长。

刚开始以为是升级过程中偶尔出现的,就先搁置升级节点2。当升级完节点2之后,发现这个问题依旧存在。而且不管是通过监听,或者不通过监听(即通过sqlplus username/passwd方式,不加连接串的方式)都会出现这种情况。

后来,在数据库中设置了几个event,再重新启动数据库之后问题正常。
之后分析,应该是oracle 11g中的密码延迟功能导致,在设置的几个event其中有一个是'28401 TRACE NAME CONTEXT FOREVER, LEVEL 1'

对应在Oracle 11g中存在一个bug Bug 11742803 : LOTS OF 'LIBRARY CACHE LOCK' DURING USER LOGON AUTHENTICATION


该bug讲当应用会话试图连接oracle 11g数据库时,连接会话会Hang住,数据库中查看到的等待事件为library cache lock

对于这种情况,Oracle提供关闭11g中的密码延迟功能的方法就是设置28401事件。

Oracle的bug说明中说该bug在11.2.0.2版本中已经修复,而从实际我使用的11.2.0.4 psu6,以及升级到psu161018最新补丁中都有该问题出现。说明这个bug可能一直存在,最好的方法还是关闭oracle 11g中的密码延迟功能。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23850820/viewspace-2130423/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23850820/viewspace-2130423/

你可能感兴趣的:(数据库)