一:硬解析造成的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. [Javascript] Proper use of console.assert in JavaScript

    Learn about console.assert, which is syntactic sugar for logging an error the console when a given c ...

  2. Swift 算法实战之路:基本语法与技巧

    Swift是苹果新推出的编程语言,也是苹果首个开源语言.相比于原来的Objective-C,Swift要更轻便和灵活.笔者最近使用Swift实践了大量的算法(绝大部分是硅谷各大公司的面试题),将心得体 ...

  3. iOS仿喜马拉雅FM做的毕业设计及总结(含新手福利源码)

    其实仿喜马拉雅FM很早就开始了,从我刚接触iOS开始,就开始仿做了一部分,眼尖的人都从我的github找到了那个项目.随着找到实习iOS工作,仿写就落下了,但唯一的收获就是给过去打了一个响亮的耳光,因 ...

  4. 构建可比较的对象(IComparable)

    IComparable接口 System.IComparable接口指定了一种允许一个对象可基于某些特定键值进行排序的行为. namespace System { [ComVisible(true)] ...

  5. UWP app HelloWorld 的创建

    步骤 1:在 Visual Studio 中创建新项目 启动 Visual Studio 2015 RC.将出现 Visual Studio 2015 RC 起始页. (从现在开始,我们将 Visua ...

  6. Jquery分步学习一

    <script type="text/javascript" src="../js/jquery-1.11.0.js"></script> ...

  7. MeasureSpec

    在自定义View和ViewGroup的时候,我们经常会遇到int型的MeasureSpec来表示一个组件的大小,这个变量里面不仅有组件的尺寸大小,还有大小的模式. 这个大小的模式,有点难以理解.在系统 ...

  8. Android permission访问权限大全

    1.android.permission.WRITE_USER_DICTIONARY 允许应用程序向用户词典中写入新词 2.android.permission.WRITE_SYNC_SETTINGS ...

  9. 第十二章作业 MemoryBugs-master项目优化笔记

    作业要求: 下载bug项目:https://github.com/lzyzsd/MemoryBugs,请注意配合使用MemoryMonitor, AllocationTracker以及HeapDump ...

  10. Swift - 18 - 数组的基础操作

    //: Playground - noun: a place where people can play import UIKit var str = "Hello, playground& ...