本篇文章给大家分享的是有关如何理解enq: TX - index contention等待的探讨与测试,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一
一、今天在查看awr报告中,发现Top 5 Timed Foreground Events发现enq: HW - contention的等待事件; 二、enq: HW
当一个事务对一个索引块做DML时,由于该索引块没有空闲空间导致索引块分裂,这时其他事务正在向这个索引块做DML时就会产生等待,直到这个索引块分裂完成。 以下是发生索引分裂竞争的几种场景:
11g之前,通常我们数据库hang住了之后,我们会对数据库做hang analyze来进行分析,在11g之后,我们可以通过一个新的视图v$wait_chains来诊断数据库hang和content
参考:http://www.killdb.com/2015/07/13/%E5%85%B3%E4%BA%8Eenq-tx-row-lock-contention%E7%9A%84%E6%B5%8B%E
enq: HW - contention 说明: 硬件队列用于序列化段的高水位线以外的空间分配。 可以用手动分配范围即可解决问题。 V$SESSION_WAIT,P2 / V$L
SQL> select name, parameter1, parameter2, parameter3 from v$event_name where name like '&even
执行DML 期间,为防止对与DML 相关的对象进行修改,执行DML 的进程必须对该表获得TM 锁。 P1 = name|mode P2 = object # P3 = table/partition
oracle为了管理Sequence使用了以下三种锁:row cache lock :在调用Sequnece.nextval过程中.将数据字典信息进行物理修改时获取.赋予NOCACHE属性的Seque