Module 13: CICS Recovery, Restart and Production Support
CICS Job Failures
The CICS region itself is a batch job (or started task). When that job fails, nothing runs - so diagnosing region startup failures quickly is a core production skill.
Region fails during initialization
- DFHSIP parameter errors - a misspelled SI override or bad START value stops initialization immediately. Read the DFHSI messages at the top of the job log.
- APPLID conflicts - the APPLID is already in use by another region or a hung address space. Choose a free APPLID or stop the other region.
- Missing DD statements - STEPLIB, DFHRPL, journals, catalogs and dump datasets must all be present and spelled correctly.
- Catalog or journal dataset problems - corrupted or full catalogs stop startup. Restore from backup or reformat with START=INITIAL.
A typical region startup JCL
- Example of the JCL that starts a CICS region:-//CICSPROD JOB (ACCT),'CICS REGION',CLASS=A,MSGCLASS=X
//CICS EXEC PGM=DFHSIP,PARM='SI,START=AUTO,APPLID=CICSPROD'
//STEPLIB DD DSN=CICSTS.SDFHLOAD,DISP=SHR
//DFHRPL DD DSN=MYAPP.LOADLIB,DISP=SHR
// DD DSN=CICSTS.SDFHLOAD,DISP=SHR
//SYSUDUMP DD SYSOUT=*
//DFHDMPA DD DSN=PROD.CICS.DFHDMPA,DISP=SHR - STEPLIB points to the CICS load library; DFHRPL lists the application load libraries in search order.
- Always keep a known-good copy of the startup JCL - most startup failures are JCL changes gone wrong.
Reading the failure
- The job log and MSGUSR tell the story: DFHSI messages show how far initialization got before failing.
- An S0C4 or S0C1 in DFHSIP usually means a bad PARM or a missing module - check STEPLIB first.
- If the region starts then dies, look at the console log for the abend code and the last successful initialization step.
