ITPub博客

首页 > 数据库 > Oracle > Oracle library cache lock 严重等待案例分析

Oracle library cache lock 严重等待案例分析

原创 Oracle 作者:龙山游龙 时间:2026-09-03 15:55:16 0 删除 编辑

1、故障描述

某日03:30分左右,某核心数据库产生大量library cache lock等待,严重影响业务正常运行。随后该故障在4:10分左右自动恢复,以下内容为本次故障原因排查之明细。

2、根因分析

查询dba_hist_active_sess_history历史会话信息,3:30分DBMS_SCHEDULER统计信息收集任务进行CW_XXX.CW_XXXX表收集时,被9082会话阻塞。导致后续与CW_XXXX表相关的查询会话均被library cache lock阻塞。可定位9082为阻塞的源头。

9082会话当时的语句记录如下

检查对应时间的alert日志,可看到提示信息有超出library cache object 51200K大小限制的对象被加载到SGA中。过程涉及PinMode=X锁的对象包含CW_XXX.CW_XXXX表

从统计信息历史记录中可发现CW_XXX.CW_XXXX表的统计信息均为3:30。与上述问题相关触发条件均匹配。

3、解决方案

合理控制sql语句长度和逻辑复杂度,避免超大对象加载入SGA时发生library cache lock等异常等待。

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

请登录后发表评论 登录
全部评论
传统商业、开源和国产据库领域十从业经验,TB级高并发数据库的管理经验。对于数据库内部原理、体系结构,数据页/块结构原理有着深刻认识;对于数据库新特性、分布式高可用架构和性能调优有着丰富的的实战经验。擅长故障诊断以及数据库异常打开及数据灾难挽救。

注册时间:2015-06-28

  • 博文量
    178
  • 访问量
    334694