晚上收到服务器报错信息:
2015-10-31 19:47:33 CST AMWAY_EXPRESS.deliverWaybill_RP.adapter:updatePpcklst [ADA.1.316] Cannot execute the SQL statement "UPDATE EDI.PPCKLST SET FEEWGHT=1.0 where SHPNUM='SIE00028OK' ". "
(42000/2049) ORA-02049: timeout: distributed transaction waiting for lock
ORA-02049主要是由TX锁引起,我们看看TX锁发生的时段。
Select min(Sample_Time),max(Sample_Time), C From dba_hist_active_sess_history
Where Sample_Time Between To_Timestamp ('2015-10-31 8:01:00', 'YYYY-MM-DD HH24:MI:SS') And To_Timestamp ('2015-10-31 23:10:00', 'YYYY-MM-DD HH24:MI:SS')
where event='enq: TX - row lock contention';
MIN(SAMPLE_TIME) MAX(SAMPLE_TIME)
------------------------------ --------------------------
31-OCT-15 01.21.24.638 PM 31-OCT-15 07.55.14.018 PM
时间发生在 13:21 到 19:55
抓取前5分钟的AWR数据 13:15~13:30 发现enq: TX - row lock contention 确实比较严重,平均耗时达到