oracle高水位线竞争,Enq : HW-contention高水位线的扩展竞争

Enq : HW-contention等待事件,是由于大量征用segment的高水位线引起的队列竞争。

SQL> select user_id,sql_id,p1,p2,p3,current_obj#,current_block# from

v$active_session_history where event='enq: HW - contention' and rownum<2;

USER_ID SQL_ID

P1 P2 P3 CURRENT_OBJ# CURRENT_BLOCK#

------- ------------- ------- --- --- ------------ ------------

--------------

56 4btv9g407b2x2 1213661190 1 8397177

51555 196029

SQL> col parameter1 for a20

SQL> col parameter3 for a20

SQL> col parameter2 for a20

SQL> select parameter1,parameter2,parameter3 from v$event_name where

name='enq: HW - contention'

2 ;

PARAMETER1

PARAMETER2 PARAMETER3

-------------------- -------------------- --------------------

name|mode table space

# block

可以利用p3来找到file_Id和segment来找到产生hw竞争的对象,进而采取相应的办法来处理。

SQL> select dbms_utility.data_block_address_file(8397177)

file_id,dbms_utility.data_block_address_block(8397177) block_id from dual;

FILE_ID BLOCK_ID

---------- ----------

28569

进而利用dba_extents来找到相应的segment来诊断问题

select/*+rule*/*fromdba_extentswhererelative_fno=2andfile_id=2and8569betweenblock_idandblock_id+blocks

一般系统出现大量session并发insert导致对象的hwm竞争,可以采取增加大的extent或者做hash分区来解决热点快,hw竞争,看来和上次的碰见一个index contention分裂差不多,会话中出现大量的索引分裂引起的队列等待,采取hash global index顺利解决了。

热点对象分区依然是解决问题的实用方法![@more@]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值