enq:HW–contention故障处理-创新互联

enq: HW - contention 说明: 

创新互联公司专注于天水企业网站建设,自适应网站建设,商城网站建设。天水网站建设公司,为天水等地区提供建站服务。全流程按需网站策划,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务

硬件队列用于序列化段的高水位线以外的空间分配。

可以用手动分配范围即可解决问题。

V$SESSION_WAIT,P2 / V$LOCK.ID1 is the tablespace number.

V$SESSION_WAIT.P3 / V$LOCK.ID2 is the relative data block address (dba) 

of segment header of the object for which space is being allocated.

巡检发现问题:

select event,count(*) from gv$session_wait 
where wait_class <> 'Idle'
group by event;

1 enq: HW - contention 274

识别发生问题的会话:

select sid,event,P2,P3 from gv$session_wait where event like '%HW%';

通过DBMS_UTILITY包,来定位发生HW争用的对象。

SELECT DBMS_UTILITY.data_block_address_file(ID2)    FILE#,
     DBMS_UTILITY.data_block_address_block(ID2)  BLOCK#
FROM  GV$LOCK WHERE TYPE = 'HW';

通过上面查到的 文件号 和 块ID 定位到等待的对象。

SELECT  OWNER ,
      SEGMENT_TYPE,
      SEGMENT_NAME
FROM  DBA_EXTENTS
WHERE FILE_ID = 111
AND  126423 BETWEEN  BLOCK_ID AND BLOCK_ID + BLOCKS -1 ;

根据lob字段 查到相对应的表。

SELECT OWNER ,
     TABLE_NAME ,
    SEGMENT_NAME 
FROM  DBA_LOBS 
WHERE SEGMENT_NAME = 'SYS_LOB0000080646C00004$$';

现在,已经查到是哪个LOB段造成的HW等待。应该向段中手动添加一个新的扩展区来解决问题。

添加一个该段中大扩展区大小相同的扩展区。

查询对象大扩展区的大小。

SELECT  DISTINCT BYTES    
FROM DBA_EXTENTS 
WHERE SEGMENT_NAME = 'SYS_LOB0000080646C00004$$'
AND  OWNER ='USER'

向lob字段添加扩展区。

alter table USER.TAB modify lob ('COL_NAME') (allocate extents (size 64M));

名称栏目:enq:HW–contention故障处理-创新互联
当前路径:http://pwwzsj.com/article/jigdh.html