工作流表T_WFR_PROFILE高水位enq: HW – contention处理方法

问题描述:
工作流出现流程卡、流程走不下去、工作流操作慢。
解决方案:
原因分析:
1. 收集数据库awr报告,发现Top 10 Foreground Events by Total Wait Time中enq: HW - contention的等待事件平均等待时间很长(10几毫秒以上),主要是因出性能问题时并发工作流业务较大,存在对工作流表数据进行UPDATE更新操作,导致工作流的表处于热表状态,产生对表插入数据达到HW高水位,工作流的表扩大空间来不及。

收集数据库ASH报告,发现往T_WFR_PROFILE表中插入数据出现了高水位(enq:HW-contention),如下所示:

解决方法:
减少高水位HW锁争用。
1、停止EAS集群或服务后对T_WFR_PROFILE表进行高水位处理 (大对象字段FMESSAGE),执行语句:
alter table T_WFR_PROFILE move lob(FMESSAGE) store as securefile(compress) ;
2、执行后,如果T_WFR_PROFILE表上有索引,索引会失效,需重建失效的索引:
查找失效的索引:
select OWNER,INDEX_NAME,INDEX_TYPE,STATUS,TABLE_OWNER, TABLE_NAME from dba_indexes where status not in('VALID','N/A');
如有发现失效索引,执行以下语句重建索引:
alter index 索引名称 rebuild;
附:其它工作流表出现高水位处理方法
T_WFR_PROCINSTDATA和T_WFR_RUNTIME这两个表中有存在LOB或CLOB大字段,频繁的更新会造成高水位。
停
工作流表T_WFR_PROFILE高水位enq: HW – contention处理方法
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



