一:硬解析造成的shared pool latch 争用:

每一个sql被执行之前,先要到library cache中根据hash_value查找parent cursor,这就需要先获得library cache latch;

也就是说硬解析和软解析都有可能造成latch 争用

查看这些非常相似的语句:

select orguser0_.ID as ID359_, orguser0_.NAME as NAME359_, orguser0_.EMAIL as EMAIL359_, orguser0_.TEL as TEL359_, orguser0_.MOBILE as MOBILE359_, orguser0_.ATTR1 as ATTR6_359_, orguser0_.ATTR2 as ATTR7_359_, orguser0_.ATTR3 as ATTR8_359_, orguser0_.ATTR4
as ATTR9_359_, orguser0_.ATTR5 as ATTR10_359_, orguser0_.PASSWORD as PASSWORD359_, orguser0_.SECURITY_LEVEL as SECURITY12_359_ from ORG_USER orguser0_, ORG_GROUPUSER orggroupus1_ where (orguser0_.ID=orggroupus1_.USERID )and(orguser0_.ATTR2='0' )and((orguser0_.ATTR4
is null )or(orguser0_.ATTR4!='1' ))and(orggroupus1_.GROUPTYPEID='dept' )and(orggroupus1_.GROUPID
in('300' , '300017' , '300010' , '300001' , '300013' , '300002' , '300014' , '300003' , '300012' , '300020')) order by orggroupus1_.GROUPID asc , orggroupus1_.SORTINDEX asc

select orguser0_.ID as ID359_, orguser0_.NAME as NAME359_, orguser0_.EMAIL as EMAIL359_, orguser0_.TEL as TEL359_, orguser0_.MOBILE as MOBILE359_, orguser0_.ATTR1 as ATTR6_359_, orguser0_.ATTR2 as ATTR7_359_, orguser0_.ATTR3 as ATTR8_359_, orguser0_.ATTR4
as ATTR9_359_, orguser0_.ATTR5 as ATTR10_359_, orguser0_.PASSWORD as PASSWORD359_, orguser0_.SECURITY_LEVEL as SECURITY12_359_ from ORG_USER orguser0_, ORG_GROUPUSER orggroupus1_ where (orguser0_.ID=orggroupus1_.USERID )and(orguser0_.ATTR2='0' )and((orguser0_.ATTR4
is null )or(orguser0_.ATTR4!='1' ))and(orggroupus1_.GROUPTYPEID='dept' )and(orggroupus1_.GROUPID
in('300300017' , '300300013' , '300300015' , '300300045' , '300300021' , '300300022' , '300300046' , '300300023' , '300300024' , '300300025')) order by orggroupus1_.GROUPID asc , orggroupus1_.SORTINDEX asc

只要In的地方不一样,其他的地方都一样,这就是硬解析造成的Latch 争用

这种情况是属于没有使用绑定变量的情况。

latch:library cache的更多相关文章

  1. 共享池之六:shared pool latch/ library cache latch /lock pin 简介

    latch:library cache --desc v$librarycache; latch:library cache用于保护hash bucket.library cache lock保护HA ...

  2. [转载】——故障排除:Shared Pool优化和Library Cache Latch冲突优化 (文档 ID 1523934.1)

    原文链接:https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrlstate=23w4l35u5_4&id=152393 ...

  3. [20190319]shared pool latch与library cache latch的简单探究.txt

    [20190319]shared pool latch与library cache latch的简单探究.txt --//昨天看Oracle DBA手记3:数据库性能优化与内部原理解析.pdf 电子书 ...

  4. 共享池之八:软解析、硬解析、软软解析 详解一条SQL在library cache中解析涉及的锁

    先来张大图: 结合上图来说明一下解析的各个步骤涉及的锁. 软解析.硬解析.软软解析区别的简单说明: 为了将用户写的sql文本转化为oracle认识的且可执行的语句,这个过程就叫做解析过程. 解析分为硬 ...

  5. library cache lock和cursor: pin S wait on X等待

    1.现象: 客户10.2.0.4 RAC环境,出现大量的library cache lock和cursor: pin S wait on X等待,经分析是由于统计信息收集僵死导致的.数据库在8点到9点 ...

  6. 深入理解shared pool共享池之library cache的library cache pin系列三

    关于library cache相关的LATCH非常多,名称差不多,我相信一些人对这些概念还是有些晕,我之前也有些晕,希望此文可以对这些概念有个更为清晰的理解,本文主要学习library cache p ...

  7. 产生library cache latch原因

    产生library cache latch原因The library cache latches protect the cached SQL statements and objects' defi ...

  8. 【每日一摩斯】-Shared Pool优化和Library Cache Latch冲突优化 (1523934.1)-系列3

    减轻Shared Pool负载 Parse一次并执行多次        在OLTP类型的应用中,最好的方法是只让一个语句被解析一次,然后保持这个cursor的打开状态,在需要的时候重复执行它.这样做的 ...

  9. Oracle数据库大量library cache: mutex X及latch: shared pool问题排查一例

    业务系统数据库夯住,数据库内大量的library cache: mutex X及latch: shared pool等待,alert日志信息如下 Tue Sep :: WARNING: inbound ...

随机推荐

  1. 页游AS客户端架构设计历程记录

    以下是一个只用JAVA做过服务器架构的程序员做的AS客户端架构,希望大家能推荐好的框架和意见,也求AS高程们的引导,等到基本功能成形后,低调开源,框架可以支持一个中度型页游的开发,本文不断更新中... ...

  2. 小胖学PHP总结1-----PHP的数据类型

    PHP一共支持8种原始类型.包含4中标量类型,即:boolean(布尔型).integer(整形).float/double(浮点型)和string(字符串型):两种复合类型,即:array(数组)和 ...

  3. C#中MessageBox使用方法大全(附效果图)

    我们在程序中常常会用到MessageBox. MessageBox.Show()共同拥有21中重载方法.现将其常见使用方法总结例如以下: 1.MessageBox.Show("Hello~~ ...

  4. XML的四种解析方式

    本文描述了构建良好的XML需要遵循的规则.作者详细介绍了构建XML需要考虑的元素,如何命名约定.正确的标记嵌套.属性规则.声明和实体,以及DTD和schema的验证,十分便于新手开始学习了解XML. ...

  5. 在Linux上怎么安装和配置Apache Samza

    samza是一个分布式的流式数据处理框架(streaming processing),它是基于Kafka消息队列来实现类实时的流式数据处理的.(准确的说,samza是通过模块化的形式来使用kafka的 ...

  6. Python中利用函数装饰器实现备忘功能

    Python中利用函数装饰器实现备忘功能 这篇文章主要介绍了Python中利用函数装饰器实现备忘功能,同时还降到了利用装饰器来检查函数的递归.确保参数传递的正确,需要的朋友可以参考下   " ...

  7. 解决CSS中float:left后需要clear:both清空的繁琐步骤(转)

      之前,因为公司专门有CSS+DIV的切片设计师,所以我一直都是注重程序的设计与开发.现在,因为接了一些Web网站的项目需要制作,就在空闲时间学习起了CSS.Jquery. 现在,大部分的横排导航都 ...

  8. 苹果新政,禁止开发者在App中加入检查更新功能

    今天妥妥的被拒了,苹果更新了新政策,不能在应用中出现检测更新的功能.AppStore会自动提醒用户更新. 去掉更新按钮,之后再尝试下看能通过不能

  9. PHP MySQL 创建数据库

    PHP MySQL 创建数据库 数据库存有一个或多个表. 你需要 CREATE 权限来创建或删除 MySQL 数据库. 使用 MySQLi 和 PDO 创建 MySQL 数据库 CREATE DATA ...

  10. HTTP 状态响应码 意思详解/大全

    HTTP 状态响应码 意思详解/大全 转:http://blog.csdn.net/helin916012530/article/details/29842595 HTTP状态码(HTTP Statu ...