Event log archive process taking a long time to run such that the job was cancelled.
We had a vendor send in an excessive amount of Invoices to our system. This caused problems with batch jobs that were abending on space issues. Now our database has all these rows in it. Our job that does the Event log archive process is running longer than normal and abended with S322. Below is a screen shot of the control cards:
RUN PROG (EDIFFUT)
PARM('LANGID=ENU SYSID=DIENU APPLID=EDIFFS PLAN=EDIENU33
Is there anything that can be done to make the job run faster or more efficient?
PERFORM UNLOAD LOG ENTRIES WHERE APPLID(EDIFFS) LOGDATE(*-9999)
TO(*-7) NUMDELS(1000) ARCHIVEFILE(ARCFILE) HOLDFILE(HLDFILE)
The above command to archive WDI Event Log entries is taking too long to run.
The underlying issue is likely due to broken DB2 access paths. DB2 REORG, RUNSTATS, and REBIND should be run on a regular basis for large Document Store and Event log tables. The one that would likely have the greater impact would be REBIND, especially if it has been some time since the last WDI plan (EDIENU33) Bind or Rebind. By the way, we have sample JCL for the BIND of EDIENU33 in installation library: EDI.V3R3M0.SEDIINS1(EDIJBIND).
Resolving the problem
The unload operation can be a bit I/O bound due to the archiving aspect of it. I would recommend doing a Bind or Rebind on the EDIENU33 plan to see if this helps. Otherwise, please see the
following technote on the WDI support portal: http://www-01.ibm.com/support/docview.wss?uid=swg21188862
Please be aware that if you were to use the direct SQL statement approach, as referenced in the technote above, none of the WDI "event log" entries therein will be saved to the ARCHIVEFILE. But, considering you had said, "...excessive amount of Invoices" perhaps this is what you would like to do anyway.