暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Oracle性能优化之'library cache lock'等待事件

数据与人 2020-12-15
1664

Oracle性能优化之'library cache lock'等待事件

问题背景:

客户反馈DB服务器cpu异常高

 

1> 查看AWR报告

 

 

大量library cache lock导致登陆hang住,

时间全部消耗在了 connection management call elapsed

先查杀等待会话

复制
    select 'alter system kill session ''' || a.sid || ',' || serial# || ''';'
    from v$session a
    where a.username='OWNER'
    AND a.STATUS='ACTIVE'
    and event in('library cache lock','library cache: mutex X')
    复制

    复制

    2> 原理分析

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

    从而引起数据库内部长时间的”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;
      复制

      问题解决






      往期回顾


      Oracle性能优化之基于advisor优化工具的一次sql优化
      Oracle性能优化之advisor调优工具优化sql(基于sql_id)
      Oracle性能优化之'cursor: pin S'等待事件


      客官长按关注

      吾辈自强不息

      文章转载自数据与人,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论