Doc ID 1476663.1) To Bottom

In this Document

  Purpose
  Troubleshooting Steps
  Brief Definition:
  Problem Confirmation:
  Library Cache Pin
  Cursor Pin S wait on X
  Improving Performance of Library cache pin or Pin S wait on X
  Measuring Success
  Known Issues
  References

APPLIES TO:

Oracle Database - Enterprise Edition - Version 7.0.16.0 and later
Oracle Database - Standard Edition - Version 7.0.16.0 and later
Oracle Database - Personal Edition - Version 7.1.4.0 and later
Information in this document applies to any platform.

PURPOSE

Disclaimer: This note is written in the context that the Performance Guided Resolution tool was used and recommended this article. It may not make as much sense if read standalone or by other audiences.

TROUBLESHOOTING STEPS

Brief Definition:

This note covers issues where the Guided Resolution Tool indicates contention as a result "library cache pins" or "Cursor Pin S wait on X".

In 10g and later, library cache pins are replaced by mutexes. So library cache pins and Pin S wait on X are similar waits but different names for different versions.

在这里 官方明确指出  library cache pin 被 cursor pin S wait on X  替换 。

Problem Confirmation:

  • Library cache pin for pre 10g may be significant
  • Cursor: Pin S wait on X may be significant on 10g and later
  • High CPU with per above waits

Library Cache Pin

Library cache pin deals with concurrent wait for library cache.

When a pin is acquired, it causes the object’s heap to be loaded into memory if it is not already there.

A wait for a "library cache pin" implies some other session holds that PIN in an incompatible mode.

(比方说 2 shared与3 exclusive 模式不兼容,导致互相排斥,引起此等待事件)

For example, if an object structure is changed such as dropping a column, it will cause library cache pin wait and implies it is held in exclusive mode.

So be careful when changing the structure of an object and try to do it during slow time of the day.

For more information on scenarios of library cache pin, review the following note:

Note:115656.1 WAIT SCENARIOS REGARDING LIBRARY CACHE PIN AND LIBRARY CACHE LOAD LOCK

Cursor Pin S wait on X

Mutex wait is similar to library cache pin wait but was introduced for 11g.  A session waits for "cursor: pin S wait on X" when it wants a mutex in S (share) mode on a specific cursor but some other session holds that same mutex in X (exclusive) mode. Hence the current session has to wait for the X mode holder to release the mutex.

Improving Performance of Library cache pin or Pin S wait on X

The library cache pin wait often happens when you are compiling or parsing a PL/SQL object or a view.  Recompilation may be due to invalidations.  Invalidations are usually due to ddls.  So check for ddls at the time of the issue.  For further information, review following note:

Note:444560.1 Troubleshooting Library Cache: Load,Lock, and Pin Lock

Pin S wait on X is usually due to high parses.  So check for high parsing sqls or tune application to share cursors.  For further diagnosis, please review following note:

Note:1349387.1  Troubleshooting 'Cursor: Pin S wait on X' wait

Measuring Success

Once you have applied the changes to resolve the issues you have found, compare the latest AWR to the AWR that led you here via Guided Resolution (that AWR becomes your baseline). Look at the percentage decrease total wait time for this event. If there are still issues, re- evaluate those and address them according to the specific symptom.

Known Issues

Document 6011045.8 DBMS_STATS causes deadlock between ‘cursor:pin S wait on X’ and ‘library cache lock’

Document 9694101.8 Hang / deadlock between "cursor: pin S wait on X" and "library cache lock" involving dictionary objects

Document 2127483.1 Database Hang on 12c with 'Cursor: Pin S wait on X', 'Row Cache Lock' and 'Library Cache Load Lock'

Document 1949691.1 High Wait Time for 'cursor: pin S wait on X' Event After Upgrade

Resolving Issues of "Library Cache Pin" or "Cursor Pin S wait on X" (Doc ID 1476663.1)的更多相关文章

  1. 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点 ...

  2. 关于library cache lock和row cache lock产生的常见原因

    这两个等待事件其实很少出现在top5列表中,一般都没什么印象,在此整理记录以便以后查阅. 常见的library cache lock产生的原因在<高级OWI与Oracle性能调查>这本书和 ...

  3. 如何使用event 10049分析定位library cache lock and library cache pin

    Oracle Library Cache 的 lock 与 pin 说明 一. 相关的基本概念 之前整理了一篇blog,讲了Library Cache 的机制,参考: Oracle Library c ...

  4. cursor pin S wait on X

    cursor pin S wait on X: 这是10.2版本提出的mutex(互斥)机制用来解决library cache bin latch争夺问题引入的新事件,是否使用这种机制受到隐含参数_k ...

  5. Library cache lock/pin详解

    Library cache lock/pin 一.概述 ---本文是网络资料加metalink 等整理得来一个实例中的library cache包括了不同类型对象的描述,如:游标,索引,表,视图,过程 ...

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

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

  7. 外键约束列并没有导致大量建筑指数library cache pin/library cache lock

    外键约束列并没有导致大量建筑指数library cache pin/library cache lock 清除一个100大数据表超过一百万线,发现已经运行了几个小时: delete B001.T_B1 ...

  8. Library Cache: Lock, Pin and Load Lock

    What is "Library cache lock" ? This event controls the concurrency between clients of the ...

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

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

随机推荐

  1. Chapter 4 Invitations——26

    "I wanted to ask you something, but you sidetracked me," he chuckled. He seemed to have re ...

  2. 【Java基础】【09面向对象_多态&抽象类&接口】

    09.01_面向对象(多态的概述及其代码体现) A:多态(polymorphic)概述 事物存在的多种形态 B:多态前提 a:要有继承关系. b:要有方法重写. c:要有父类引用指向子类对象. C:案 ...

  3. Redis Windows 64位下安装Redis详细教程

    Windows Redis 下载地址:点击打开链接https://github.com/MicrosoftArchive/redis/releases 点击打开链接 文件介绍 redis-benchm ...

  4. mac用pecl安装swoole可能出现的报错及解决办法

    一.用pecl安装swoole 2018年4月,由于homebrew的变动,导致无法使用brew install的方式安装php的扩展,现在改为用pecl安装,pecl安装swoole的方法为: pe ...

  5. Python3+Selenium2完整的自动化测试实现之旅(五):自动化测试框架、Python面向对象以及POM设计模型简介

    前言 之前的系列博客,陆续学习整理了自动化测试环境的搭建.IE和Chrome浏览器驱动的配置.selenium-webdriver模块封装的元素定位以及控制浏览器.处理警示框.鼠标键盘等方法的使用,这 ...

  6. 【转】C#中判断网址是否有效

    本文内容来源网络,如涉及版权,请联系作者删除. 思路:C#语言判断网址是否正确,思路是向网址发起连接,根据状态判断网址是否有效. 代码如下: //仅检测链接头,不会获取链接的结果.所以速度很快,超时的 ...

  7. Java开发笔记(十五)短路逻辑运算的优势

    前面提到逻辑运算只能操作布尔变量,这其实是不严谨的,因为经过Java编程实现,会发现“&”.“|”.“^”这几个逻辑符号竟然可以对数字进行运算.譬如下面的代码就直接对数字分别开展了“与”.“或 ...

  8. 【Java】List遍历时删除元素的正确方式

    当要删除ArrayList里面的某个元素,一不注意就容易出bug.今天就给大家说一下在ArrayList循环遍历并删除元素的问题.首先请看下面的例子: import java.util.ArrayLi ...

  9. HTML之body标签中的相关标签

    一 字体标签   字体标签包含:h1~h6.<font>.<u>.<b>.<strong><em>.<sup>.<sub& ...

  10. AEAI HR薪资汇总功能介绍

    1 概述 人力资源系统是一个公司重要的管理工具,而薪资管理是人力资源管理系统中最为核心的功能模块,它包括不同员工的薪资标准.薪资的组成部分,例如:对奖惩管理.保险和年假等员工必备的福利待遇进行统一管理 ...