广告
返回顶部
首页 > 资讯 > 数据库 >常见的library cache lock产生的原因是什么
  • 568
分享到

常见的library cache lock产生的原因是什么

2024-04-02 19:04:59 568人浏览 薄情痞子
摘要

常见的library cache lock产生的原因是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。常见的library cache lo

常见的library cache lock产生的原因是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

常见的library cache lock产生的原因

Troubleshooting Library Cache: Lock, Pin and Load Lock (Doc ID 444560.1) 

一般可以理解的是alter table或者alter package/procedure会以X模式持有library cache lock,造成阻塞。
但是常见的问题还有以下几种原因:

1)错误的用户名密码:

一般需要通过ASH或者SSD/hang analyze去获取p3进行namespace分析。

             1.       event: 'library cache lock'
                time waited: 43 min 12 sec
                    wait id: 9               p1: 'handle address'=0x7000003117dfca0
                                             p2: 'lock address'=0x700000310866c80
                                             p3: '100*mode+namespace'=0x4f0003
             * time between wait #1 and #2: 0.000164 sec

<=================p3: '100*mode+namespace'=0x4f0003 

mode=3
namespace=4f

HEX: 4f =>DEC: 79

select * FROM V$DB_OBJECT_CACHE;

sql> select distinct KGLHDNSP,KGLHDNSD from x$kglob;

  KGLHDNSP KGLHDNSD
---------- ----------------------------------------------------------------
         0 SQL AREA
         4 INDEX
         1 TABLE/PROCEDURE
         3 TRIGGER
        52 SCHEDULER EARLIEST START TIME
        64 EDITioN
        69 DBLINK
         2 BODY
        10 QUEUE
        79 ACCOUNT_STATUS
        23 RULESET
        24 RESOURCE MANAGER
        73 SCHEMA
        74 DBINSTANCE
        51 SCHEDULER GLOBAL ATTRIBUTE
        38 RULE EVAluaTION CONTEXT
        82 SQL AREA BUILD
        75 SQL AREA STATS
         5 CLUSTER
        18 PUB SUB INTERNAL INFORMATION

<======79 ACCOUNT_STATUS

ACCOUNT_STATUS说明library cache lock是在account上,可能是用错误的用户名密码登录,或者是当时正有人alter user(这种几率极低)。

可以通过以下SQL去确认错误的用户名密码登录:
select username,
os_username,
userhost,
client_id,
trunc(timestamp),
count(*) failed_logins
from dba_audit_trail
where returncode=1017 and --1017 is invalid username/passWord
timestamp < sysdate -7
group by username,os_username,userhost, client_id,trunc(timestamp); 

Or run following sql:
SELECT "USERNAME", "OS_USERNAME", "USERHOST", "EXTENDED_TIMESTAMP",returncode  FROM "SYS"."DBA_AUDIT_SESSION" WHERE returncode != 0;

当然必须确保audit 打开,并且有audit CREATE SESSION动作

To turn on audit:
Alter system set audit_trail=DB scope=spfile;
restart DB

audit CREATE SESSION;
audit ALTER USER;

检查:
show parameter audit_trail
select * from DBA_STMT_AUDIT_OPTS;

2)正在执行搜集统计信息,这是大家往往会忽略的,一般会看last_ddl_time,却忽略了last_analyzed,
检查脚本如下:

比如EMP是遇到library cache lock中的表名:
select owner,object_name,object_type,to_char(last_ddl_time,'yyyy-mm-dd hh34:mi:ss') from dba_objects where object_name='EMP';

select table_name,to_char(last_analyzed,'yyyy-mm-dd hh34:mi:ss') from dba_tables where table_name='EMP';

也需要检查所有dependency的对象,因为oracle对象是相互关联的,一个对象失效会导致一串失效。
select owner,object_name,object_type,to_char(last_ddl_time,'yyyy-mm-dd hh34:mi:ss') ddl_time from dba_objects where object_name in
(
select p.name
from sys.obj$ d, sys.dependency$ dep, sys.obj$ p
where d.obj# = dep.d_obj# and p.obj# = dep.p_obj#
start with d.name='EMP'
connect by prior dep.p_obj#=dep.d_obj#)
order by ddl_time desc;

select table_name,to_char(last_analyzed,'yyyy-mm-dd hh34:mi:ss') from dba_tables where table_name in
(
select p.name
from sys.obj$ d, sys.dependency$ dep, sys.obj$ p
where d.obj# = dep.d_obj# and p.obj# = dep.p_obj#
start with d.name='EMP'
connect by prior dep.p_obj#=dep.d_obj#)
order by last_analyzed desc;

比较典型的一个用户实例:
select to_char(last_analyzed,'yyyy-mm-dd hh34:mi:ss') from dba_tables where table_name='XXXXX';
--2014-11-25 16:52:50
<=============gathering statistics in the issue time 

2014-11-25 16:52:52 16620 c34q5c8gf6kum library cache lock
2014-11-25 16:52:52 16643 c34q5c8gf6kum library cache lock
<======The issue starts from 16:52:52 while statistics was gathered at 16:52:50

3)错误的语句解析(failed parse)
这是通常很难注意到的一个问题,因为被解析的语句往往在AWR中找不到(因为没有通过parse),要注意查看AWR中的“failed parse elapsed time”

Event Waits Time(s) Avg wait (ms) % DB time Wait Class
library cache lock 6,714,208 363,093 54 67.14 Concurrency
library cache: mutex X 11,977,886 99,050 8 18.31 Concurrency
DB CPU   38,971   7.21  
db file sequential read 350,069 2,465 7 0.46 User I/O
log file sync 217,673 1,969 9 0.36 Commit


Statistic Name Time (s) % of DB Time
sql execute elapsed time 537,418.09 99.37
parse time elapsed 467,101.99 86.37
failed parse elapsed time 460,663.79 85.18 <===============failed parse elapsed time was high. That means the issue was caused by parse failed. 

看完上述内容,你们掌握常见的library cache lock产生的原因是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网数据库频道,感谢各位的阅读!

您可能感兴趣的文档:

--结束END--

本文标题: 常见的library cache lock产生的原因是什么

本文链接: https://www.lsjlt.com/news/65964.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 常见的library cache lock产生的原因是什么
    常见的library cache lock产生的原因是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。常见的library cache lo...
    99+
    2022-10-19
  • sga中library cache的内部原理是什么
    本篇文章给大家分享的是有关sga中library cache的内部原理是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 一、概述libr...
    99+
    2022-10-19
  • mysql query error产生的原因是什么
    MySQL查询错误可能有多种原因,包括但不限于以下几种:1. 语法错误:查询语句的语法错误是最常见的错误之一。例如,缺少关键字、拼写...
    99+
    2023-08-31
    mysql
  • windows电流麦产生的原因是什么
    今天小编给大家分享一下windows电流麦产生的原因是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先就可能是因为音量...
    99+
    2023-07-02
  • linux中产生死锁的原因是什么
    这篇“linux中产生死锁的原因是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux中产生死锁的原因是什么”文章吧...
    99+
    2023-06-29
  • Python中死锁产生的原因是什么
    这篇文章给大家介绍Python中死锁产生的原因是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5...
    99+
    2023-06-14
  • 导致SELinux警告产生的原因是什么
    本篇内容主要讲解“导致SELinux警告产生的原因是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“导致SELinux警告产生的原因是什么”吧!原因一:出现标注错误 SELinux 的核心概念...
    99+
    2023-06-13
  • java线程之死锁产生的原因是什么
    这篇文章主要讲解了“java线程之死锁产生的原因是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java线程之死锁产生的原因是什么”吧!一、什么是死锁死锁是指两个或两个以上的进程在执行过...
    99+
    2023-06-30
  • java线程池产生死锁的原因是什么
    本篇文章为大家展示了java线程池产生死锁的原因是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面向...
    99+
    2023-06-14
  • Win7常见启动故障产生的原因及解决方法整理
      相信绝大多数朋友都用上了Win7系统了吧,Win7系统虽然比以前其他版本的Windows系统都稳定得多,但是由于安装某些特殊软件或误操作,系统还是会出现各种启动故障。接下来,笔者就来给大家分析一下Win7常见启动故障...
    99+
    2023-06-02
    win7 启动故障 解决 原因 故障 整理 方法
  • App崩溃的6个常见原因是什么
    这篇文章主要为大家分析了App崩溃的6个常见原因是什么的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“App崩溃的6个常见原因是什么”的知识吧。人们讨厌应用程...
    99+
    2023-06-04
  • php产生500错误的原因和解决方法是什么
    这篇文章主要介绍“php产生500错误的原因和解决方法是什么”,在日常操作中,相信很多人在php产生500错误的原因和解决方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php产生500错误的原因和解...
    99+
    2023-07-05
  • PHP符号乱码产生的原因及解决方法是什么
    这篇文章主要介绍“PHP符号乱码产生的原因及解决方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PHP符号乱码产生的原因及解决方法是什么”文章能帮助大家解决问题。一、原因编码问题:PHP编程...
    99+
    2023-07-05
  • 网站被封的常见原因有什么
    网站被封的常见原因主要有以下几种:1. 违反法律法规:网站涉及违法违规内容,如色情、赌博、暴力、恐怖主义等,被相关部门依法封禁。2....
    99+
    2023-09-09
    网站
  • 常见的Maven报错原因是什么及怎么解决
    这篇文章主要介绍“常见的Maven报错原因是什么及怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“常见的Maven报错原因是什么及怎么解决”文章能帮助大家解决问题。报错:No compiler...
    99+
    2023-06-29
  • MySQL出现“Lock wait timeout exceeded”错误的原因是什么?
    1. 概述 在本教程中,我们将讨论MySQL中的“Lock wait timeout exceeded(锁等待超时)”错误。我们将讨论导致这个错误的原因以及MySQL锁的一些细微差别。 为了简单起见,...
    99+
    2023-09-02
    mysql 数据库
  • php 404错误的常见原因和处理方法是什么
    这篇文章主要介绍了php 404错误的常见原因和处理方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php 404错误的常见原因和处理方法是什么文章都会有所收获,下面我们一起来看看吧。一、常见原因文件或...
    99+
    2023-07-05
  • Java中提供synchronized后还要提供Lock的原因是什么
    这篇文章主要介绍“Java中提供synchronized后还要提供Lock的原因是什么”,在日常操作中,相信很多人在Java中提供synchronized后还要提供Lock的原因是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作...
    99+
    2023-06-29
  • 免安装原生产环境的MySQL是什么
    这篇文章主要介绍“免安装原生产环境的MySQL是什么”,在日常操作中,相信很多人在免安装原生产环境的MySQL是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”免安装原生产...
    99+
    2022-10-18
  • css样式不生效的原因是什么
    这篇文章主要介绍“css样式不生效的原因是什么”,在日常操作中,相信很多人在css样式不生效的原因是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css样式不生效的原因是...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作