为防止多个进程同时修改HWM而提供的锁称为HW锁。想要移动HWM的进程必须获得HW锁。若在获取HW锁过程中发生争用,则等待enq: HW - contention事件。HW锁争用大部分是因大量执行insert所引发的,偶尔也会因大量执行update在回滚段中发生HW锁争用现象。若是update,表中段的扩展的大小虽然不多,但在创建回滚数据的过程中,需要回滚段的急速扩张。HW锁争用是在急速空间扩张时普遍出现的等待现象,有时也会引发严重的性能下降。

SQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name = 'enq: HW - contention';EVENT# NAME                                     PARAMETER1           PARAMETER2           PARAMETER3
---------- ---------------------------------------- -------------------- -------------------- --------------------250 enq: HW - contention                     name|mode            table space #        block

众所周知,Oracle高水位线标志着该线以下的block均被Oracle格式过,通俗一点讲就是该高水位线以下的block都被Oracle使用过。 通常在执行insert操作时,当高水位线以下block不够用时,Oracle将会推进高水位线。更进一步讲,当有多个进程在同时进行insert操作时,比较容易引起高水位线争用,主要表现为enq: HW - contention。

如何找到事件:'enq: HW - contention' 热点对象:

SQL> select p1, p2, p3 from v$session_wait where event = 'enq: HW - contention';  P1         P2         P3
---------- ---------- ----------
1213661190          7  140003563
1213661190          7  140003563
1213661190          7  140003563
1213661190          7  140003563
1213661190          7  140003563
1213661190          7  140003563
1213661190          7  140003563  

通过P3进行DBMS_UTILITY转换可以获知发生争用的文件和block:

SQL> select dbms_utility.data_block_address_block(140003563),dbms_utility.data_block_address_file(140003563) from dual;  DBMS_UTILITY.DATA_BLOCK_ADDRESS_BLOCK(140003563) DBMS_UTILITY.DATA_BLOCK_ADDRESS_FILE(140003563)
------------------------------------------------ -----------------------------------------------  1591531                                              33

进而通过file#和block#定位对象:

SQL> select owner, segment_type, segment_name   2  from dba_extents   3  where file_id = 33   4  and 1591531 between block_id and block_id + blocks - 1;

段上的等待事件 —— enq: HW - contention(oracle)相关推荐

  1. [20161208]等待事件enq: HW - contention

    [20161208]等待事件enq HW - contention.txt --别人的系统遭遇enq: HW - contention,自己诊断遇到一点点小误区,实际上我看看我原来的帖子就知道问题在那 ...

  2. 事务上的等待事件 —— enq: TM - contention

    执行DML期间,为防止对与DML相关的对象进行修改,执行DML的进程必须对该表获得TM锁.若在获得TM锁的过程中发生争用,则等待enq: HW - contention 事件. SQL> sel ...

  3. 等待事件之enq: HW - contention

    等待事件之enq: HW - contention SELECT *   FROM V$EVENT_NAME  WHERE NAME  IN        ('enq: HW - contention ...

  4. 等待事件 enq:TX - row lock contention分析与解决

    6月30日,数据库发生了大量锁表.大概持续1小时,并且越锁越多.后来通过业务人员停掉程序,并kill掉会话后解决. 几天后再EM上查看CPU占用: CPU发生了明显等待. 主要是由于enq:TX - ...

  5. 等待事件enq TX row lock contention分析

    在Oracle数据库性能报告AWRRPT分析时,发现top 5等待事件第一位的是enq: TX - row lock contention.这个等待事件消耗了绝大多数的CPU资源,导致系统整理性能下降 ...

  6. 【故障处理】队列等待之enq IV - contention案例

    [故障处理]队列等待之enq IV -  contention案例 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也 ...

  7. enq: HW - contention

    1.今天发生一起enq: HW - contention引起的性能问题,记录一下: 2.查看enq: HW - contention有关的信息 select SAMPLE_TIME,MACHINE,S ...

  8. oracle job enq tx,【学习笔记】Oracle等待事件 enq:TX–allocate ITL entry产生原因和解决办法...

    天萃荷净 运维DBA反映Oracle数据库出现enq:TX–allocate ITL entry等待事件,结合案例分析该等待事件产生原因和解决办法 今天在分析一份awr中发现了较为明显的enq: TX ...

  9. oracle 导出secquence,oracle等待事件7——事務上的等待事件

    1.enq:TM-contention 執行DML期間,為防止對DML相關的對象進行修改,執行DML的進程必須對該表獲得TM鎖,若獲得TM鎖的過程發生爭用,則等待enq:TM-contention事件 ...

  10. 一则事件enq: IV - contention

    环境:exadata 双节点,oracle版本12.1.0.2 数据库服务器上多个实例出现enq: IV - contention等待事件,发现存在相关bug In this Document   S ...

最新文章

  1. 虚拟与现实的距离——VR的2016正如移动互联网的2009【下篇】
  2. Maven报错“未结束的字符串字面值”
  3. 电脑上怎么配置mysql数据库服务器_Mysql数据库服务器安装与配置详解教程
  4. 代码段编辑器SnippetEditor 2.1
  5. Java网络编程 — Netty入门
  6. 做 局域网聊天 的人越来越多了
  7. ArcGIS API For Javascript :如何动态生成 token 加载权限分配的地图服务?
  8. mongoose的用法(注:连接数据库)
  9. 几种常见的 Kafka 集群监控工具
  10. Java开源框架 iBase4J 搭建笔记
  11. 打码兔官网 验证码识别 远程答题服务 代答平台 验证码识别软件下载
  12. arcgis中的重分类
  13. c语言实现生成随机数
  14. 基于Python的西瓜数据集 3.0α的SVM实现
  15. 广东再增一项重大跨海工程 黄茅海跨海通道将开建
  16. python去除图片复杂背景_用Python去除图像的黑色或白色背景实例
  17. diy 单片机 自动浇花_基于单片机的自动浇花系统
  18. DDK2000与VC6
  19. (Java面试)Java面试越来越难,不加油卷起来,怎么拿到大厂offer!!
  20. 浏览器主页被2345劫持简单处理方法

热门文章

  1. Spring Boot 2.0 从入门到精通 From Zero to Hero with Spring Boot - Brian Clozel
  2. 易筋SpringBoot 2.1 | 第十八篇:SpringBoot的JDBC异常
  3. 语义分割Swin Transformer
  4. 462.最少移动次数使数组元素相等II
  5. 440.字典序中的第K小数字
  6. linux离线安装docx包
  7. eclipse mysql tomcat,java+eclipse+tomcat+mysql+jdbc
  8. 频谱感知4:CCS硬合并中m-out-of-K准则下m与K的联合优化问题
  9. 2020牛客多校训练1 H Minimum-cost Flow(最小费用流)
  10. 三个点在同一个半圆的概率_圆形水池中的四只小鸭子出现在同一个半圆中的概率是?...