ITPub博客

首页 > 数据库 > Oracle > 记一次Oracle Library cache lock性能卡顿案例分析

记一次Oracle Library cache lock性能卡顿案例分析

原创 Oracle 作者:龙山游龙 时间:2025-03-06 11:03:21 0 删除 编辑

1 、故障描述

某次某用户数据库从 AIX异构迁移至Linux后,连续2天晚上22点05分左右数据库出现不能访问,等待事件为 library cache lock ,手动 kill相关会话后恢复正常

2 、根因分析

问题时间段 oracle的自动任务正在执行,怀疑自动任务导致 library cache lock 等待,建议先关闭 auto space advisor 、 sql tuning advisor 自动任务,再做进一步分析。

但接着,第二天晚上数据库再次因为 library cache lock 不能访问,保留会话信息后再杀掉会话后解决问题。此时,我们再来分析下数据库卡顿时的会话阻塞关系,如下:

会话信息显示 14520会话阻塞了14398会话,14398会话正在进行统计信息收集

 

同时数据库 diag trace日志也显示了上面相关会话之间的阻塞关系,如下:

3 、解决方案

检查并确认迁移前数据库环境的自动任务明确为关闭状态,客户要求关闭统计信息收集,建议业务单独对核心表定期收集统计信息,处理手段如下:

-- 数据库默认的自动任务

auto optimizer stats collection

auto space advisor

sql tuning advisor

 

-- 关闭统计信息自动收集任务

BEGIN

   dbms_auto_task_admin.disable(

    client_name => 'auto optimizer stats collection',

    operation => NULL,

    window_name => NULL);

  END;

/

O RACLE 自动任务查询历史执行情况如下:

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

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

注册时间:2015-06-28

  • 博文量
    178
  • 访问量
    334784