Collecting documentation for system logger
Depending on the problem, the following seven methods are used
to collect the documentation that is needed to diagnose a system logger
problem. For assistance in interpreting this documentation, contact
the IBM® Support Center.
- Obtain a dump of system logger and associated jobs. Use the following
example to set up your dump command:
DUMP COMM=(your dump title) r vv,STRLIST=(STRNAME=structure_name,LOCKENTRIES,ACC=NOLIM, (LISTNUM=ALL,ENTRYDATA=SERIALIZE,ADJUNCT=CAPTURE)),CONT r ww,JOBNAME=(IXGLOGR,XCFAS,hung_job),CONT r xx,DSPNAME=('XCFAS'.*,'IXGLOGR'.*),CONT r zz,SDATA=(COUPLE,ALLNUC,LPA,LSQA,PSA,RGN,SQA,TRT,CSA,GRSQ,XESDATA),CONT r yy,REMOTE=(SYSLIST=*('XCFAS','IXGLOGR'),DSPNAME,SDATA),END
Note:- STRLIST is only necessary when you must browse the data in the coupling facility structure.
- JOBNAME must always include IXGLOGR, but you might also include other address space identifiers (XCFAS and hung_job in this example), depending on the situation.
- DSPNAME must always include 'IXGLOGR'.*, which includes both SYSIXG0x (local buffers), and SYSLOGR0 (trace data)
- SDATA must always include the same parameters as shown in the code example after SDATA=.
- REMOTE is only necessary when offload problems occur.
- Use the D LOGGER command to display the following information:
- IXGLOGR address space status.
- Log stream, structure, and connection information.
- Sysplex status for log streams.
- Specifics for DASDONLY log streams.
- Set a SLIP trap. The following example shows a SLIP trap that
is set to capture instances of message DFHLG077x.
SL SET,IF,L=(IGC0003E,0),A=SVCD, DATA=(1R?+4,EQ,C4C6C8D3,+8,EQ,C7F0F7F7), STRLIST=(STRNAME=structure_name,LOCKENTRIES,ACC=NOLIM, (LISTNUM=ALL,ENTRYDATA=SERIALIZE,ADMUNCT=CAPTURE)), JOBLIST=(IXGLOGR,XCFAS), DSPNAME=('XCFAS'.*,'IXGLOGR'.*), SDATA=(COUPLE,ALLNUC,LPA,LSQA,PSA,RGN,SQA,TRT,CSA,GRSQ,XESDATA), REMOTE=(DSPNAME,SDATA,JOBLIST),END
For more information about setting a SLIP trap, see the SLIP command chapter in z/OS MVS System Commands.
- Use ADRDSSU to print the current (highest generation) offload
data set for a log stream:
//ADRDSSU JOB MSGLEVEL=(1,1),NOTIFY=&SYSUID //*----------------------------------------------------------*/ //* Print the current offload data set */ //* ---------------------------------------------------------*/ //* //STEP1 EXEC PGM=ADRDSSU,REGION=4M //SYSPRINT DD SYSOUT=* //SYSIN DD * PRINT INDYNAM(SEC001) - DS(hlq.xxxx.A00000yyy) /*
Use IDCAMS to print all other log stream offload data sets://IDCAMS1 JOB MSGLEVEL=(1,1),NOTIFY=&SYSUID //*----------------------------------------------------------*/ //* RUN PRINT against system logger DASD Log stream data set */ //* ---------------------------------------------------------*/ //* //PRINTIT EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=H //SYSIN DD * PRINT INDATASET('hlq.xxxx.A00000yyy') /*
Note:- hlq is IXGLOGR by default, unless HLQ(hlq) is specified when the log stream is defined
- xxxx is the defined log stream name
- A0000yyy is the generation number LLQ created by system logger
- Obtain VSAM linear offload data set characteristics. You can use
the following sample JCL to look at the characteristics of the data
set you are dumping.
//IDCAMS2 JOB MSGLEVEL=(1,1),NOTIFY=&SYSUID //PRINTIT EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=H //SYSIN DD * LISTCAT ALIAS ALL LISTCAT ALIAS ALL CAT('SROCAT.CATALOG') LISTCAT ENT('USER.CATALOG.NAME') ALL CAT('USER.CATALOG.NAME') LISTCAT LVL('HLQ_NAME') ALL /*
This job will- display all alias names that are specified in the master catalog, along with the associated user catalog for each high-level qualifier
- display all alias names that are defined in a specified catalog
- display the contents of a user catalog and the volume on which it exists
- display all information that is related to data sets with a particular high-level qualifier.
- Obtain a LOGR inventory detail list. Use this sample job to format
the contents of the system logger couple data set.
//LISTUTL1 JOB MSGLEVEL=(1,1),NOTIFY=&SYSUID,MSGCLASS=A //STEP1 EXEC PGM=IXCMIAPU //SYSPRINT DD SYSOUT=* //SYSIN DD * DATA TYPE(LOGR) REPORT(YES) LIST LOGSTREAM NAME(CICSA.TEST.DFHLOG) DETAIL(YES) LIST STRUCTURE NAME(DFHLOG_CICSA) DETAIL(YES) LIST LOGSTREAM NAME(SYSPLEX.*) DETAIL(YES) LIST STRUCTURE NAME(OPER*) DETAIL(YES) /*
You can use an asterisk (*) in place of the log stream name and structure name to list all log streams and structures.
The output of this report contains the characteristics of the log stream, the connection information, and a list of the offload data sets.
LOGSTREAM NAME(SYSPLEX.OPERLOG) STRUCTNAME(LIST14) LS_DATACLAS(VSAMLS) LS_MGMTCLAS() LS_STORCLAS(STANDARD) HLQ(HHLQ) MODEL(NO) LS_SIZE() STG_MGMTCLAS() STG_STORCLAS() STG_DATACLAS() STG_SIZE(0) LOWOFFLOAD(50) HIGHOFFLOAD(80) STG_DUPLEX(NO) DUPLEXMODE() RMNAME() DESCRIPTION() RETPD(3) AUTODELETE(YES) DASDONLY(NO) DIAG(NO) LOG STREAM ATTRIBUTES: User Data: 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 LOG STREAM CONNECTION INFO: SYSTEMS CONNECTED: 0 LOG STREAM DATA SET INFO: DATA SET NAMES IN USE: HHLQ.SYSPLEX.OPERLOG. Ext. <SEQ#> Lowest Blockid Highest GMT Highest Local ----- -------- -------------- ----------- ------------- *00001 A0000000 0000000000000000 NUMBER OF DATA SETS IN LOG STREAM: 1 POSSIBLE ORPHANED LOG STREAM DATA SETS: NUMBER OF POSSIBLE ORPHANED LOG STREAM DATA SETS: 0 STRUCTURE NAME(LIST14) LOGSNUM(10) MAXBUFSIZE(65532) AVGBUFSIZE(32766) EFFECTIVE AVERAGE BUFFER SIZE(32766) LOGSTREAM NAME CONNECTION ---------------- ---------- SYSPLEX.OPERLOG NO LOGSTREAMS CURRENTLY DEFINED TO THIS STRUCTURE(1)
- If you suspect that the logger couple data set is corrupted, dump
the logger couple data set with the job that follows:
//DUMPCDS JOB MSGLEVEL=(1,1),NOTIFY=SYSUID //******************************************************/ //* RUN ADRDSSU to dump off the LOGR Couple Dataset */ //******************************************************/ //STEP1 EXEC PGM=ADRDSSU,REGION=4M //SYSPRINT DD SYSOUT=* //DD1 DD DISP=SHR,VOL=SER=xxxxxx,UNIT=3380 //SYSIN DD * PRINT DATASET(logr.couple.dataset) INDDNAME(DD1) TOL(ENQF) /*
- Specify DIAG=YES on the log stream definition to enable further diagnostic activity.