奇怪的等待事件“enq: ss - contention”
数据库有时会遇到大量的进程发生'enq: ss - contention'等待,持续5到10分钟,然后自动消失。从字面上看,'SS'是Sort Segment:
select * from v$lock_type where type='SS'
TYPE NAME ID1_TAG ID2_TAG IS_USER DESCRIPTION
--------------------------- ---------------------------------- -------------------------- --------------------
SS Sort Segment tablespace # dba NO Ensures that sort segments created during parallel DML operations aren't prematurely cleaned up
为何大量的进程需要等待Sort Segment enqueue呢?
从ASH的信息看,Sort Segment enqueue的持有者1581也是一个用户进程,他在等待'DFS lock handle'
5931 1 WAITING 1581 2 JDBC Thin Client dfcdxr0v3hn6n DFS lock handle 1128857605 14 2 26522266 147 1370406 N N
1674 1 WAITING 5931 1 JDBC Thin Client dfcdxr0v3hn6n enq: SS - contention 1397948422 6 2 142364 25 147677 N N
1772 1 WAITING 5931 1 JDBC Thin Client dfcdxr0v3hn6n enq: SS - contention 1397948422 6 2 140883 131 3809055 N N
1852 1 WAITING 5931 1 JDBC Thin Client dfcdxr0v3hn6n enq: SS - contention 1397948422 6 2 19434636 102 1265728 N N
<=========session 5931 是阻塞者,在等 'DFS lock handle','DFS lock handle'的持有者是节点2上的session 1581 .
从DFS lock handle的P1和P2可以看出他为何申请DFS lock handle,
<========DFS lock handle P1=1128857605 P2=14 P3=2
P1 DEC1128857605 =>HEX 43490005 <======CI enqueue
P2=14 <===========Release unused space of the sort segments. Handled by SMON
这是一个Cross Instance(CI)请求,请求的目的是释放未使用的sort segments,也就是清理TEMP表空间。
节点2上的session 1581 是DBW0:
2016-12-07 16:27:27 db file parallel write 1581 2 WAITING oracle@gx-db02-p780 (DBW0)
所以,节点1上的应用进程在等节点2上的DBW0清理TEMP表空间。
wait a minute,为何节点1的进程要等节点2的DBW0,他们为什么不请求本地的DBW0?
在RAC中,TEMP表空间是在各个节点间共享的(当然,其他所有的表空间都一样),但是TEMP表空间会在各个节点有缓存,可以通过以下视图查询到TEMP在各个节点的使用情况:
select inst_id, tablespace_name, blocks_cached, blocks_used from gv$temp_extent_pool;
如果一个节点缓存的TEMP blocks耗尽,会请求另一个节点释放一些未使用的TEMP给他用,释放的过程中会较长时间等待enq: ss - contention,这是一个正常的行为。
为了避免申请临时空间时较长的等待,可以通过手工方式释放各个节点的cached block。
ALTER SESSION SET events 'immediate trace name drop_segments level tablespace_number+1';
转载于:https://www.cnblogs.com/DataArt/p/10018851.html
奇怪的等待事件“enq: ss - contention”相关推荐
- [20161208]等待事件enq: HW - contention
[20161208]等待事件enq HW - contention.txt --别人的系统遭遇enq: HW - contention,自己诊断遇到一点点小误区,实际上我看看我原来的帖子就知道问题在那 ...
- 事务上的等待事件 —— enq: TM - contention
执行DML期间,为防止对与DML相关的对象进行修改,执行DML的进程必须对该表获得TM锁.若在获得TM锁的过程中发生争用,则等待enq: HW - contention 事件. SQL> sel ...
- 等待事件 enq:TX - row lock contention分析与解决
6月30日,数据库发生了大量锁表.大概持续1小时,并且越锁越多.后来通过业务人员停掉程序,并kill掉会话后解决. 几天后再EM上查看CPU占用: CPU发生了明显等待. 主要是由于enq:TX - ...
- 等待事件enq TX row lock contention分析
在Oracle数据库性能报告AWRRPT分析时,发现top 5等待事件第一位的是enq: TX - row lock contention.这个等待事件消耗了绝大多数的CPU资源,导致系统整理性能下降 ...
- 【故障处理】队列等待之enq IV - contention案例
[故障处理]队列等待之enq IV - contention案例 1.1 BLOG文档结构图 1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也 ...
- oracle job enq tx,【学习笔记】Oracle等待事件 enq:TX–allocate ITL entry产生原因和解决办法...
天萃荷净 运维DBA反映Oracle数据库出现enq:TX–allocate ITL entry等待事件,结合案例分析该等待事件产生原因和解决办法 今天在分析一份awr中发现了较为明显的enq: TX ...
- 一则事件enq: IV - contention
环境:exadata 双节点,oracle版本12.1.0.2 数据库服务器上多个实例出现enq: IV - contention等待事件,发现存在相关bug In this Document S ...
- 等待事件之enq: HW - contention
等待事件之enq: HW - contention SELECT * FROM V$EVENT_NAME WHERE NAME IN ('enq: HW - contention ...
- oracle cf enqueue,oracle等待事件之enq: CF – contention
Enqueue 是一种保护共享资源的锁定机制,避免因并发操作而损坏数据,Enqueue 采用排队机制,即 FIFO(先进先出)来控制资源的使用.在任何需要读取控制文件的动作时,就会发生等待事件enq: ...
- 【故障解决】enq: PS - contention
[故障解决]enq: PS - contention [故障解决]enq: PS - contention 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读和注意事项 各位技术爱好 ...
最新文章
- Redis 笔记(15)— 管道 pipeline(客户端将批量命令打包发送用来节省网络开销)
- JavaWeb学习笔记——DOM4J
- nagios使用check_mysql监控mysql
- 程序员第一次相亲,因请女方吃肯德基而被怒删!
- CSP认证201312-5 I’m stuck![C++题解]:dfs、两次dfs
- 目标检测之RCNN,SPP-NET,Fast-RCNN,Faster-RCNN
- jqGrid如何设置jqGrid第一次初始化时不加载任何数据?实现方法!
- javascript异步_JavaScript异步并在循环中等待
- 牛客网SQL篇刷题篇(3-10)
- Android 滑动菜单框架--SwipeMenuListView框架完全解析
- war压缩命令_BetterZip mac版(超强解压缩软件)
- 三星Galaxy S22系列曝光:首批搭载高通骁龙895!
- 【数据结构笔记19】File Transfer的C语言实现,集合的简化表示,按秩归并,路径压缩
- css常用鼠标指针形状代码
- 十款大名鼎鼎的开源软件
- atitit opencv apiattilax总结 约500个函数 .xlsx
- 小白学测试入门之测试分析方法
- 社交礼仪之握手礼仪(转)
- OpenGL中glRotatef()函数究竟对矩阵做了什么
- 南怀瑾:如何静坐(附视频)
热门文章
- 【渝粤教育】广东开放大学 java程序设计基础 形成性考核 (39)
- 基于频繁增长树(FP-树)的频繁项集挖掘算法实现
- Maxent Source code reading experience
- Python进阶(四)Python中的异常
- PyCharm 配置 Git 教程
- 451 Sort Characters By Frequency 根据字符出现频率排序
- MySQL查询当天、本周,本月,上一个月的数据
- [转]VS2005中的代码视图显示行数
- [转]phpmyadmin安装使用
- 如何深入浅出地讲解麦克斯韦方程组