计算机报名显示事务已被锁死,ORA-01591错误处理: 锁定已被有问题的分配事务处理20.18.156406挂起(转载)...
現(xiàn)象:dms中幾乎所有的入庫出庫都報錯
2005-12-10 09:12:53 [ERROR] com.topup.ent.kroraina.model.sysmgmt.usersqlquery.USqlQueryDAO (USqlQueryDAO.java???????????? :4255) - error=java.sql.SQLException: ORA-01591: 鎖定已被有問題的分配事務(wù)處理20.18.156406掛起
ORA-01591: 鎖定已被有問題的分配事務(wù)處理20.18.156406掛起 ORA-06512: 在"XXDMS.P_UPDATEITEMCOST", line 45 ORA-06512: 在"XXDMS.P_ORDCREATE_AF_10191", line 15 ORA-06512: 在"XXDMS.P_ORDCREATE_AF_10170", line 115 ORA-06512: 在line 1
查到XXDMS.P_UPDATEITEMCOST", line 45? 是查詢t_order_trans表,到OEM里看
進入鎖,根本沒發(fā)現(xiàn)相關(guān)的對象被鎖定,
重啟數(shù)據(jù)庫之后做入庫單還是不行 報同樣的錯誤
查看視圖DBA_2PC_PENDING,發(fā)現(xiàn)該事務(wù)的痕跡
看來出錯原因:遠程事務(wù)失敗,但是又沒有返回造成分布式事務(wù)掛死,從而鎖定了行,數(shù)據(jù)庫中有操作
,遠程操作
于是登陸數(shù)據(jù)庫
COMMIT FORCE '20.18.156406';
然后查看DBA_2PC_PENDING發(fā)現(xiàn)狀態(tài)已經(jīng)改為'COMMIT FORCE',SELECT該表相關(guān)行,一切正常。至此,故障解決。
總體來看,直接INSERT ...?還是很危險的,遇上不能正常返回就出問題了。Oracle的文檔是推薦使用包或者存儲過程來解決,此后建議同事改用此方法,目前已經(jīng)測試通過。
Trackback:
總結(jié)
以上是生活随笔為你收集整理的计算机报名显示事务已被锁死,ORA-01591错误处理: 锁定已被有问题的分配事务处理20.18.156406挂起(转载)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库计算机报告,外文数据库计算机检索报
- 下一篇: c#结构