晚上收到服务器报错信息:
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

这篇博客介绍了在数据库中遇到的一个问题,即由于DELETE操作频繁执行,引发了ORA-02049错误,该错误通常与TX锁相关。作者分析了故障发生的时间段,并探讨了enq TX - row lock co冲突和BLOCKING_SESSION的影响。通过故障排查,帮助理解分布式事务锁等待锁的现象。
最低0.47元/天 解锁文章
872

被折叠的 条评论
为什么被折叠?



