library cache lock等待事件

问题背景,客户反馈DB服务器cpu异常高数据库

 

1> 查看AWR报告安全

 

大量library cache lock等待服务器

 

大量library cache lock致使登录hang住,时间所有消耗在了 connection management call elapsedsession

先查杀等待会话blog

select 'alter system kill session ''' || a.sid || ',' || serial# || ''';'事件

  from v$session ait

 where a.username='ECOLOGY' io

 AND a.STATUS='ACTIVE'    event

 and event in('library cache lock','library cache: mutex X')登录

 

3> 

对于正常的系统,因为密码的更改,可能存在某些被遗漏的客户端,不断重复尝试使用错误密码登陆数据库,

从而引发数据库内部长时间的”library cache lock”或”row cache lock”的等待,这种情形很是常见。

这种现象在Oracle 10.2和11.1中体现的等待事件为:”row cache lock”,而在Oracle 11.2中体现的等待事件为:”library cache lock”。

 

在 Oracle 11g 中,为了提高安全性,Oracle 引入了『密码延迟验证』的新特性。这个特性的做用是,若是用户输入了错误的密码尝试登陆,

那么随着登陆错误次数的增长,每次登陆前验证的时间也会增长,以此减缓可能对于数据库重复的口令尝试攻击。

(确实有错误的数据库链接)

可是对于正常的系统,因为口令的更改,可能存在某些被遗漏的客户端,不断重复尝试,从而引发数据库内部长时间的 Library Cache Lock的等待,这种情形很是常见。

若是遇到这一类问题,能够经过Event 28401关闭这个特性,从而消除此类影响,如下命令将修改设置在参数文件中:

 

ALTER SYSTEM SET EVENT = '28401 TRACE NAME CONTEXT FOREVER, LEVEL 1' SCOPE = SPFILE;

相关文章
相关标签/搜索