cursor pin s和cursor pin s wait on x
1.cursor pin s是一个共享锁,一般情况下是因为发生在SQL短时间内大量执行
案例:在生产库中,突然出现大量的cursor pin s的等待,询问是否有动作后,同事说有编译存储过程(被误导了,如果是因为存储过程编译失效,大量调用,应该是library cache pin)
最后的原因是同时修了存储过程,里面有BUG,导致某个SQL短时间内大量执行导致的(每秒上万次),后来修改了一下存储过程,重新编译后,问题解决。
SELECT SQL_ID,EXECUTIONS,SYSDATE FROM V$SQLAREA WHERE SQL_ID='';
将发生等待的SQL带入上面的SQL,执行两次,即可大概估算出每秒执行的次数
2.cursor pin s wait on x是一个排他锁,一般情况下,是因为硬解析造成的(share pool的抖动,造成执行计划被踢出,多时间内大量硬解析)
案例:生产库突然出现大量的cursor pin s on x等待,这个等待一般是发生硬解析是产生,即SQL首先获取排他锁后,才可以在对应SQL HASH的bucket后面添加父节点和子节点(执行计划)
这时候如果出现大量的硬解析,就会出现这个等待。最终的原因是因为一个全表扫描导致oracle的SGA自动管理把share pool缩小来增大DB CACHE,踢出去了一部分的执行计划,最终导致硬解析增加,最后设置一个share pool的最小值,并增大SGA的大小解决。
cursor pin s和cursor pin s wait on x的更多相关文章
- ANSI X9.8标准 PIN xor PAN获取PIN BlOCK
ANSI X9.8标准 PIN xor PAN获取PIN BlOCK 之前看到几篇介绍,把ANSI说成16个字节,真心扯淡,各种误人子弟,真正的ANSI算法其实是8个字节,具体格式如下: (1) AN ...
- 问题:PyCharm调试方法Force run to cursor与run to cursor的区别
Force run to cursor与run to cursor的差别是,后者在执行到光标的代码行前,如果有代码中设置了断点,会在该断点处暂停,等待进一步调试指令,而Force run to cur ...
- LPC43xx MCU PIN Name and GPIO PIN Name Table
//--------------------------------------------------------------------------------+ // LPC43xx Pin N ...
- Oracle PLSQL Demo - 08.定义显式游标[Define CURSOR, Open, Fetch, Close CURSOR]
declare v_empno scott.emp.empno%type; v_sal scott.emp.sal%type; cursor cur_emp is select t.empno, t. ...
- PLSQL中显示Cursor、隐示Cursor、动态Ref Cursor差别
一.显式cursor 显式是相对与隐式cursor而言的,就是有一个明白的声明的cursor.显式游标的声明类似例如以下(具体的语法參加plsql ref doc ): cursor cursor_n ...
- Cursor: Pin S Wait On X In The Top 5 Wait Events
Wait Events , Posted in: Technical Track Tags: Group Blog Posts, Oracle, Technical Blog Lately, wait ...
- cursor: pin S产生原理及解决方法
转自:http://www.dbafree.net/?p=778 今天晚上在一个比较重要的库上,CPU严重的冲了一下,导致DB响应变慢,大量应用连接timeout,紧接着LISTENER就挂了,连接数 ...
- Library cache lock/pin详解
Library cache lock/pin 一.概述 ---本文是网络资料加metalink 等整理得来一个实例中的library cache包括了不同类型对象的描述,如:游标,索引,表,视图,过程 ...
- 深入理解shared pool共享池之library cache的library cache pin系列三
关于library cache相关的LATCH非常多,名称差不多,我相信一些人对这些概念还是有些晕,我之前也有些晕,希望此文可以对这些概念有个更为清晰的理解,本文主要学习library cache p ...
随机推荐
- 2020.12.16 模拟赛x+1
A. 接力比赛 跑两遍背包,再进行一些玄学的剪枝 代码 #include<cstdio> #include<algorithm> #define rg register inl ...
- K8S安装Kubesphere
准备工作 安装Helm curl -L https://git.io/get_helm.sh | bash 创建账户 cat > heml-rbac.yaml << EOF apiV ...
- git 上传 + 分支
Git 上传 创建本地文件夹,更改为项目仓库(test) (1) 新建文件夹 test (2) 打开文件夹 git init 把项目添加到仓库内(test) (1) 复制项目到文件夹内 ( ...
- A-交叉熵的使用
交叉熵刻画了两个概率分布之间的距离 但是神经网络的输出却不是一个概率分布 softmax回归可以把前向传播返回的结果变成一个概率分布的问题 在tf中,softmax回归参数被去掉了,只是一个额外的输出 ...
- C# Wpf 文件保存对话框
C# Wpf库中无文件保存对话框,需引用winform,引用winform后多处提示引用不明确,将winform引用改别名. // 引用winform,改别名 using Forms = System ...
- Spring Boot使用Maven自定义打包方式
前言:本文将告诉你如何将程序Jar与与依赖Jar及配置文件分离打包,以下列举了两种不同Maven打包方式,其打包效果一致! 一.第一种Maven打包方式,将jar及resources下全部配置文件,拷 ...
- java如何实现入职时间到现在 java如何计算知道入职时间, 求工作时长格式为年--月--日。
Date ruZhi = new Date("入职年月bai"); Date now = new Date(); //算出du来时间夸格zhi多长 long shiChang = ...
- 白嫖JetBrains正版全家桶!
使用自己的开源项目,是可以白嫖JetBrains正版全家桶的! 前言 之前在学Go的时候,想着要用什么编辑器,网上的大佬都讲,想省事直接用Goland,用VsCode配置会存在一些未知的使用体验问题, ...
- 任意文件上传——tcp
package chaoba; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; ...
- Cookie和登录注册
1. 什么是Cookie? 服务器通过 Set-Cookie 头给客户端一串字符串 客户端每次访问相同域名的网页时,必须带上这段字符串 客户端要在一段时间内保存这个Cookie Cookie 默认在用 ...