Troubleshooting data for logger problems

CICS® MustGather for logger problems

A log stream failure or a failure within the MVS™ logger function occurs for many reasons. For more information, see Some conditions that cause CICS log manager error messages.

Gather the following diagnostic information before contacting the CICS support team to troubleshoot your logger problems.

Required data:
  1. The CICS message log back to the startup of the CICS region. The CICS messages contain the MVS logger return and reason codes for the failure. The messages also include log stream names, attributes, and other helpful information. For more information, see z/OS® MVS Programming: Assembler Services Reference (IAR-XCT).
  2. The CICS internal trace that is included in the MVS system dump when tracing is active. Ensure that the internal trace table size is big enough to contain sufficient data for diagnosis; for example, you can use a table size of 20480K. When possible, turn on level 1 tracing for all CICS components and level 1-2 tracing for the LG and RM components. If this is not possible, turn on a minimum of level 1-2 or 1 for the LG component. For more information, see Using trace for CICS problem determination on z/OS.
  3. The MVS system dump that is taken automatically by CICS when a failure is detected. A dump of the MVS logger address space is produced automatically when an MVS IXGBRWSE or IXGDELET request fails because the MVS logger cannot find a specific log stream block identifier. For more information, see Using dumps for CICS problem determination on z/OS.
  4. If a dump of the XCF and MVS logger address spaces is not taken and you suspect that the problem is a result of something within MVS logger, take a SLIP dump of the MVS system logger address space and the coupling facility structure by setting a SLIP trap and performing a diagnostic run of CICS. For more information, see Setting a SLIP trap. For instructions on how to perform a diagnostic run of CICS, see Dealing with a corrupt system log.

    Alternatively, use the MVS dump command to take a dump before you perform an initial start. See Obtaining MVS logger and coupling facility dumps for the dump command. To avoid replying with so many dump options, you can specify the suffixes of one or more IEADMCxx parmlib members by following these instructions. For more information, see IEADMCxx (DUMP command parmlib) in z/OS MVS Initialization and Tuning Reference.

    1. Customize an IEADMCxx member to include the dump command. The following sample is for CICS and Logger problems:
       /* ** Start of Specifications for IEADMCCL ************************ */
       /*                                                                  */
       /* Dump CICS and Logger                                             */
       /*                                                                  */
       /* PROPRIETARY STATEMENT:                                           */
       /*                                                                  */
       /*    LICENSED MATERIALS - PROPERTY OF IBM                          */
       /*    THIS MACRO IS "RESTRICTED MATERIALS OF IBM"                   */
       /*    5694-A01 (C) COPYRIGHT IBM CORP. 2001                         */
       /*                                                                  */
       /* STATUS: HBB7705                                                  */
       /*                                                                  */
       /* External classification= none                                    */
       /* End of external classification:                                  */
       /*                                                                  */
       /* DUMP command Parmlib member                                      */
       /*                                                                  */
       /* Function: Provides DUMP command options to dump                  */
       /*  Logger and CICS.                                                */
       /*                                                                  */
       /*                                                                  */
       /* To use:  Copy this member to Parmlib.                            */
       /*          Modify cics_jobname and structure to include your       */
       /*          CICS regions and structure name.                        */
       /*                                                                  */
       /* To execute:  Specify the following DUMP command:                 */
       /*                                                                  */
       /*   DUMP PARMLIB=xx                                                */
       /*     - or -                                                       */
       /*   DUMP TITLE=(dump_title_text),PARMLIB=xx                        */
       /*                                                                  */
       /*   If a dump title is specified on the DUMP command using the     */
       /*   TITLE option, the specified text will be used instead of the   */
       /*   TITLE line in the parmlib member.                              */
       /*                                                                  *
       /* ================================================================ *
       /*                                                                  *
       /*   Change activity:                                               *
       /*                                                                  *
       /* 10/31/05 created as sample for CICS MustGather for Logger        * 
       /* 01/24/10 verified that the command has not changed
       /*                                                                  *
       /* ** End of Specifications for IEADMCCL ************************** *
      TITLE=(DUMP LOGGER AND CICS)
      JOBNAME=(IXGLOGR,XCFAS,cics_jobname),
      DSPNAME=('IXGLOGR'.*,'XCFAS'.*),
      STRLIST=(STRNAME=structure,(LISTNUM=ALL),ACC=NOLIM),
      REMOTE=(SYSLIST=*('XCFAS','IXGLOGR'),DSPNAME,SDATA),
      SDATA=(COUPLE,ALLNUC,LPA,LSQA,PSA,RGN,SQA,TRT,CSA,GRSQ,XESDATA)
      
      
    2. Copy the member into SYS1.PARMLIB.
    3. Enter DUMP TITLE=(dump-name),PARMLIB=xx to request a dump by using the dump command in IEADMCxx. Request multiple parmlib members by specifying PARMLIB=(xx,yy).
  5. The output from the DFHJUP utility. Use this utility to print or copy the contents of the failing log stream before you restart the CICS region or reformat the log stream. CICS tries to trim DFHLOG and DFHSHUNT at each keypoint and log data might be lost as a result of the trim. Therefore, it is important to run DFHJUP right after a problem occurs. For more information, see Using DFHJUP to read log streams.
Optional data:
  1. The output from the IXCMIAPU utility with LIST and DETAIL=YES specified. For sample JCL, see Checking log stream status.
  2. The output from entering the MVS commands D LOGGER and D LOGGER,L. For more information, see Displaying the system logger and its log streams in z/OS MVS System Commands.
  3. A copy of the offload data sets that are taken by using IDCAMS REPRO.