We are running OLTP transactions on DB2 9.5 on Sun solaris server.Oddly, during November-December every year(during peak workload), a stored procedure gets stuck at a single insert statement randomly.The same procedure works fine on killing the application id and manually running the same procedure.The stored procedure runs fine for remaining year without any intervention.
The stored procedure stucks while processing data of Walmart only while other accounts(like Best Buy etc.) runs fine.Here is the SQL where it gets stucks:
INSERT INTO VMIITEMLOCMASTER
( CUSTOMERCODE, LOCATIONCODE, PRODUCTCODE, SKU, STATUSCODE, EFFSTARTDATE, EFFENDDATE,
NEWRELEASEDATE, CATALOGSTARTDATE, CATALOGENDDATE, STREETDATE, MSRP, CAPACITY, MINCAPACITY, SAFETYSTOCK,
NETCHANGEFLAG, EXTRACTFLAG, CREATED, UPDATED, POG_COMMITDATE, CREATEDBY, FACING,
PARENTCODE, COMPONENTCAP, COMPONENTFLAG, COMPONENTQTY, BOMCODE, SEARCH_GRP, QUANTITYONHAND
)
SELECT CUSTOMERCODE, LOCATIONCODE, PRODUCTCODE, SKU, STATUSCODE,
COALESCE (EFFSTARTDATE, CAST ('01/01/1901' AS DATE)),
COALESCE (EFFENDDATE, CAST ('01/01/1901' AS DATE)),
NEWRELEASEDATE, CATALOGSTARTDATE, CATALOGENDDATE, STREETDATE, MSRP, CAPACITY, COALESCE (MINCAPACITY,0), SAFETYSTOCK,
NETCHANGEFLAG, 'Y', CURRENT DATE, CURRENT DATE, CURRENT DATE, 'DFUEXTRACT',FACING,
PARENTCODE, COMPONENTCAP, COMPONENTFLAG, COMPONENTQTY, BOMCODE, SUBSTR(PRODUCTCODE, 1, 3), 0
FROM HISTPOGITEMLOCMASTER
WHERE SEQ = :HV00033 :HI00033
AND CUSTOMERCODE = :HV00009 :HI00009
EXCEPT
SELECT P.CUSTOMERCODE, P.LOCATIONCODE, P.PRODUCTCODE, P.SKU, P.STATUSCODE,
COALESCE (P.EFFSTARTDATE, CAST ('01/01/1901' AS DATE)),
COALESCE (P.EFFENDDATE , CAST ('01/01/1901' AS DATE)), P.NEWRELEASEDATE,
P.CATALOGSTARTDATE, P.CATALOGENDDATE, P.STREETDATE, P.MSRP, COALESCE(P.CAPACITY, 0), COALESCE(P.MINCAPACITY, 0), P.SAFETYSTOCK,
P.NETCHANGEFLAG, 'Y', CURRENT DATE, CURRENT DATE, CURRENT DATE, 'DFUEXTRACT', P.FACING,
P.PARENTCODE, P.COMPONENTCAP, P.COMPONENTFLAG, P.COMPONENTQTY, P.BOMCODE, SUBSTR(P.PRODUCTCODE, 1, 3), 0
FROM HISTPOGITEMLOCMASTER P, VMIITEMLOCMASTER M
WHERE M.CUSTOMERCODE = :HV00009 :HI00009
AND P.SEQ = :HV00033 :HI00033
AND P.CUSTOMERCODE = :HV00009 :HI00009
AND P.CUSTOMERCODE = M.CUSTOMERCODE
AND P.LOCATIONCODE = M.LOCATIONCODE
AND P.PRODUCTCODE = M.PRODUCTCODE WITH UR
I have very limited knowledge to trouble shoot this issue.Any help would be greatly appreciated.