如果我在DB2

时间:2016-04-26 17:19:56

标签: transactions db2 locking

我使用DB2作为后端。我有几个选择查询(使用内连接和order by子句)。在这两种情况下,我都没有使用“WITH UR”条款。

现在我面临的问题是在prod中使用相同的查询很长一段时间后我开始收到此错误:

  

由无法获得的资源造成的不成功的执行。原因00C90096,资源类型00000302和资源名称DPGDS0 .SPGDS04 .X'0186B4'。 SQLCODE = -904,SQLSTATE = 57011,DRIVER = 3.69.24

这与我编写选择查询的方式有关。以下是您的参考查询:

SELECT 
  A.NOTF_MSG_REF_I, A.NOTF_MSG_I, A.NOTF_MSG_TYPE_C,A.FROM_GLN_I, A.TO_GLN_I, A.MKT_CTRY_C,
  A.VEND_GLN_I,A.UCCNET_MSG_I,B.ITEM_PRPSL_I , B.NOTF_GTIN_PKG_T, c.prod_req_stat_c 
FROM db2prod.NOTF_MSG A 
INNER JOIN ( 
  db2prod.i_prod_req C 
  INNER JOIN 
    db2prod.i_PROD_REQ_SRC_MAP D 
    INNER JOIN 
    db2prod.ITEM_NOTF_GMS_S B 
    ON D.PROD_REQ_SRC_MAP_I= B.ITEM_PRPSL_I 
  ON C.prod_req_i= D.prod_req_i ) 
ON  A.NOTF_MSG_REF_I = B.NOTF_MSG_REF_I 
WHERE A.NOTF_MSG_TYPE_C IN (
 'INITIAL_LOAD', 'INITIALLOAD','CHANGE', 'DATA_CHANGE','CORRECTION',
 'NEW_ITEM','NEW','MODIFY') 
AND A.CNFM_RESP_C = 'PENDING' 
ORDER BY A.NOTF_MSG_REF_I, B.ITEM_PRPSL_I DESC

DBA说我正在达到最大锁定,我需要接受提交。

我是否需要明确提交读取事务?

我尝试重新启动应用服务器,但这没有帮助。

0 个答案:

没有答案