Dump processing
Dumps can provide useful diagnosis data. But you need to check the dump-related options to be sure all information needed will be dumped.
Generally, the system automatically captures a dump when it detects a serious error with an operating system component (for example, JES, VTAM, etc.), a subsystem (for example, CICS, DB2, MQ, etc.), or application program. For most system or subsystem failures an SVC (Supervisor Call) dump is generated and written out to a predefined, or dynamically defined, dump data set. You do, however, have the ability to manually capture a dump should you need to capture specific diagnostic data.
The DUMP command requests a system dump (SVC dump) of virtual storage. The data set may be either a pre-allocated dump data set named SYS1.DUMPxx, or an automatically allocated dump data set named according to an installation-specified pattern. You should request only one dump at a time on one system. A system writes only one SVC dump at a time, so it does not save time to make several requests at once.
4.1 Defining dump data sets
Figure 4-1 Defining dump data sets
Defining dump data sets
The DUMP= parameter in the IEASYSxx parmlib member specifies whether SYS1.DUMP data sets on direct access devices are to be made available at IPL time. SVC dump options are not included in IEASYSxx. The installation can specify the options, if it so desires, through the CHNGDUMP operator command, either in the COMMNDxx parmlib member or from the console.
When planning for dump data sets, the installation should be aware that dump data sets can sometimes contain privileged data. By using protected data sets (through passwords or other security methods), the installation can limit access.
Operand descriptions
The DUMP= parameter options are as follows:
NO Specifies that no dump data sets will be made available for SVC dump at IPL time.
 
Note: Dump data sets can be specified after IPL by using the DUMPDS command or by adding the DUMPDS command to COMMNDxx parmlib member.
DASD Specifies that all currently cataloged SYS1.DUMPnn data sets (if any), on permanently resident direct access volumes are to be used. The catalog will be scanned for SYS1.DUMP00 through SYS1.DUMP99. DASD is the default if the DUMP parameter is omitted.
 
Note: Specifying DASD is equivalent to specifying DUMPDS ADD,DSN=ALL in the COMMNDxx parmlib member.
DASD,xx-yy This parameter specifies that all currently cataloged SYS1.DUMPnn data sets (if any) on permanently resident direct access volumes are to be used. The catalog will be scanned for SYS1.DUMP00 through SYS1.DUMP99. DASD is the default if the DUMP parameter is omitted.
 
Note: Specifying DASD is equivalent to specifying DUMPDS ADD,DSN=(xx-yy) in the COMMNDxx parmlib member.
Indicating which dump data sets are to be used by a particular system avoids unnecessary scanning of the possible 100 cataloged dump data sets and the possibility of more than one system using the same data sets.
How dump data sets are used
Dump data sets can only reside on direct access devices. Space for direct access data sets must be pre-allocated, and the data sets must be catalogued. Eligible device types consist of any direct access device supported by the system that has a track size of at least 4160 bytes (4160 bytes equals 1 SVC dump output record).
As many as 100 dump data sets may be allocated. They must be in the form SYS1.DUMPnn, in which nn may be digits 00 to 99.
 
Note: Specify both primary and secondary allocations for SYS1.DUMPnn data sets. IBM suggests using the DUMPDS ADD command in COMMNDxx and DUMP=NO in IEASYSxx to make the allocated dump data sets available to SVC dump. If you do this, MVS provides better diagnostic messages, which indicate which dump data sets were added, which were not added, and why.
You can also allow the system to create dump data sets dynamically. For details, see z/OS MVS Diagnosis: Tools and Service Aids, SY28-1085.
4.2 Getting or requesting dumps
Figure 4-2 Getting or requesting dumps
Diagnostic data - dumps
Different types of dumps can be used to analyze problems. The dump types and the procedures that can be used to initiate these processes are discussed later in detail.
Dumps could best be described as a SNAPshot of the system at the time a failure is detected by the operating system or application, or at the time the system is dumped by the operator (console dump) via the DUMP command or the standalone dump procedure.
Following are the dump types that will be discussed:
Abend dumps
SLIP dumps
SNAP dumps
Standalone dumps
SVC dumps
LE Dumps
ABEND dump types
Use an ABEND dump when ending an authorized program or a problem program because of an uncorrectable error. These dumps show:
The virtual storage for the program requesting the dump.
System data associated with the program.
The system can produce three types of ABEND dumps:
SYSABEND The largest of the ABEND dumps, containing a summary dump for the failing program plus many other areas useful for analyzing processing in the failing program. This dump is formatted.
SYSMDUMP Contains a summary dump for the failing program, plus some system data for the failing task. SYSMDUMP dumps are the only ABEND dumps that are unformatted and must be formatted with IPCS.
SYSUDUMP The smallest of the ABEND dumps, containing data and areas only about the failing program. This dump is formatted.
Specifying dumps via JCL
You can obtain SYSABEND, SYSUDUMP, and SYSMDUMP dumps by specifying the appropriate DD statement in your JCL, as follows:
SYSABEND dumps are formatted as they are created and can be directed to either DASD, TAPE, or SYSOUT.
//SYSABEND DD SYSOUT=*
SYSUDUMP dumps are formatted as they are created and can be directed to either DASD, TAPE, or SYSOUT.
//SYSUDUMP DD SYSOUT=*
SYSMDUMP dumps are unformatted and must be analyzed using the Interactive Problem Control System (IPCS). These data sets must reside on either DASD or TAPE. Figure 4-3 shows an example of a SYSMDUMP DD statement.
//SYSMDUMP DD DSN=MY.SYSMDUMP,DISP=(,CATLG),UNIT=DISK,
// SPACE=(CYL,(50,20),RLSE),
// LRECL=4160,BLKSIZE=4160
Figure 4-3 SYSMDUMP DD statement
Language Environment (LE) dumps can be formatted or unformatted depending on the LE Runopts being active at the time of dump. LE dumps will be discussed more in detail in Chapter 7, “z/OS Language Environment” on page 205.
 
4.3 Slip commands
Figure 4-4 SLIP commands
SLIP commands
The SLIP command controls SLIP (serviceability level indication processing), a diagnostic aid that intercepts or traps certain system events and specifies what action to take. Using the SLIP command, you can set, modify, and delete SLIP traps. Following are the SLIP commands:
SLIP SET[,options],END Command for an error event trap (non-PER)
SLIP SET,IF[,options],END Command for an instruction fetch PER trap
SLIP SET,SBT[,options],END Command for a successful branch PER trap
SLIP SET,SA|SAS[,options],END Commands for a storage alteration PER trap
SLIP MOD[,options] Command to modify an existing trap
SLIP DEL[,options] Command to delete an existing trap
Setting a SLIP dump
In Figure 4-4, the operator is setting a SLIP that forces a dump in jobname abc, which is executing a program that has an 0C4 abend at instruction 58408BAD every time it executes. Setting the SLIP forces the program to take a dump on the occurrence of the 0C4. The command is set as follows, as shown in the figure:
SLIP SET,C=0C4,JOBNAME=ABC
Using SLIP with ABEND dumps
ABEND dumps can be suppressed using the SLIP command in member IEASLPxx in SYS1.PARMLIB. These commands used to reside in member IEACMDxx in SYS1.PARMLIB but it is recommended that you move any SLIP commands from IEACMDxx to IEASLPxx to avoid restrictions found in other parmlib members. For example,
IEASLPxx supports multiple-line commands; IEACMD00 does not.
IEASLPxx does not require any special command syntax; IEACMD00 does.
Figure 4-5 shows the SLIP commands in the IEASLP00 parmlib member.
SET,C=013,ID=X013,A=NOSVCD,J=JES2,END SLIP SET,C=028,ID=X028,A=NOSVCD,END SLIP SET,C=47B,DATA=(15R,EQ,0,OR,15R,EQ,8),ID=X47B,A=NODUMP,END SLIP SET,C=058,DATA=(15R,EQ,4,OR,15R,EQ,8,OR,15R,EQ,C,OR,15R,EQ,10,OR, 15R,EQ,2C,OR,15R,EQ,30,OR,15R,EQ,3C),ID=X058,A=NODUMP,END SLIP SET,C=0E7,ID=X0E7,A=NOSVCD,END SLIP SET,C=0F3,ID=X0F3,A=NODUMP,END SLIP SET,C=13E,ID=X13E,A=NODUMP,END SLIP SET,C=222,ID=X222,A=NODUMP,END SLIP SET,C=322,ID=X322,A=NODUMP,END SLIP SET,C=33E,ID=X33E,A=NODUMP,END SLIP SET,C=422,ID=X422,A=NODUMP,END SLIP SET,C=622,ID=X622,A=NODUMP,END SLIP SET,C=804,ID=X804,A=(NOSVCD,NOSYSU),END SLIP SET,C=806,ID=X806,A=(NOSVCD,NOSYSU),END SLIP SET,C=80A,ID=X80A,A=(NOSVCD,NOSYSU),END SLIP SET,C=9FB,ID=X9FB,A=NOSVCD,J=JES3,END SLIP SET,C=B37,ID=XB37,A=(NOSVCD,NOSYSU),END SLIP SET,C=D37,ID=XD37,A=(NOSVCD,NOSYSU),END SLIP SET,C=E37,ID=XE37,A=(NOSVCD,NOSYSU),END SLIP SET,C=EC6,RE=0000FFXX,ID=XEC6,A=NODUMP,END SLIP SET,C=EC6,RE=0000FDXX,ID=XXC6,A=NOSVCD,END
Figure 4-5 SLIP commands in SYS1.PARMLIB member IEASLP00
 
4.4 SLIP dumps
Figure 4-6 Taking SLIP dumps using the SLIP command
SLIP dumps
The SLIP command is set via the z/OS operator SLIP SET command. This is a most powerful tool and allows for great complexity to be used to trigger a dump for a specific situation. It can be used to check storage associated with an event and trigger a dump when that event is true. We are going to concentrate on the most common use of the SLIP command: where it is set to trigger a dump when a specific message is written to the console. There are two forms of this command, as follows:
The first, being the “old” way, where we interrogate storage being used by the WTOR routine
The second, the later and more understandable version of the message SLIP
SLIP using IGC0003E
It is not necessary to set SLIP traps individually and run a failing job multiple times, using one trap for each execution until a dump is taken. You can set SLIP PER traps at multiple points in a load module as follows: use a non-IGNORE PER trap to monitor the range that encompasses all of the points in which you are interested, followed by several IGNORE PER traps to prevent the SLIP action from being taken on the intervening instructions, in which you are not interested.
 
 
Figure 4-7 shows a SLIP command example.
SLIP SET,IF,LPAMOD=(IGC0003E,0),
DATA=(1R?+4,EQ,C3E2D8E7,1R?+8,EQ,F1F1F1C5),
JOBNAME=ssidCHIN,
JOBLIST=(ssidMSTR,ssidCHIN),
DSPNAME=('ssidCHIN'.CSQXTRDS),
SDATA=(CSA,RGN,PSA,SQA,LSQA,TRT,SUM),
MATCHLIM=1,END
Figure 4-7 SLIP SET example
SLIP processing
This SLIP command example would interrogate the Register 1 storage owned by the WTOR routine, IGC0003E, and check for the values, staring at offset 4, to see if they match, CSQX (x'C3E2D8E7), and the Register 1 values starting at offset 8, 111X (x'F1F1F1C5). If the matching message was written, in this case, by job ssid CHIN, then the MQ MSTR and CHIN address spaces, and associated CHIN data space, will be dumped for a maximum match limit of 1 time. No further dumps will be taken if this job generates this message again.
SLIP using MSGID
Figure 4-8 shows the new form of the SLIP message, and as you can see, is much more user friendly because the MSGID can be included in its ASCII form, not as a HEX representation.
SLIP SET,MSGID=CSQX111E,
JOBNAME=ssidCHIN,
JOBLIST=(ssidMSTR,ssidCHIN),
DSPNAME=('ssidCHIN'.CSQXTRDS),
SDATA=(CSA,RGN,PSA,SQA,LSQA,TRT,SUM),
MATCHLIM=1,END
Figure 4-8 SLIP SET using the MSGID parameter
Another simple use of the SLIP is to capture a dump when a specific application abend occurs. For example, you might be getting an S0C4 abend in an application program and require an SVC dump to assist with this, instead of an application or transaction dump. Figure 4-9 shows an example of a completion code SLIP.
SLIP SET,ENABLE,COMP=0C4,ERRTYP=PROG,JOBNAME=JOBXYZ,LPAMOD=MOD01,END
Figure 4-9 Completion code SLIP example
This example will capture an SVC dump when there is an S0C4 program check interruption while module MOD01 and job JOBXYZ are in control.
SLIP dump using a z/OS UNIX reason code
If a z/OS UNIX reason code is obtained and additional information is are required, the IBM Support Center personnel may ask that you set a SLIP to collect a dump or trace on a recreation of the problem. Included below are the general instructions on how to gather this data.
Obtain a dump on a specific reason code
Figure 4-10 shows an example of a SLIP that will produce a dump on the issuance of a specific reason code.
SLIP SET,IF,A=SYNCSVCD,
RANGE=(10?+8C?+F0?+1F4?),DATA=(13R??+1B0,EQ,xxxxxxxx),DSPNAME=('OMVS'.*),
SDATA=(ALLNUC,PSA,CSA,LPA,TRT,SQA,RGN,SUM),j=jobname,END
Figure 4-10 Register 13 reason code SLIP example
Where:
xxxxxxxx = the 8-digit (4 byte) reason code that is to be trapped.
j=jobname is the optional jobname that is expected to issue the error (for example j=IBMUSER).
 
Note: In rare instances the above SLIP will not capture the requested reason code if the module in question does not use R13 as a data register. Your IBM software support provider can check the specific reason code and determine if this is the reason the SLIP did not match.
4.5 SNAP dumps
Figure 4-11 SNAP dump processing
SNAP dump
A SNAP dump is like getting a snapshot of yourself while kicking a ball. You can go back later and look at what you did wrong so that you can improve.
A SNAP dump shows virtual storage areas that a program, while running, requests the system to dump. A SNAP dump, therefore, is written while a program runs, rather than during abnormal end. The program can ask for a dump of as little as a 1-byte field to as much as all of the storage assigned to the current job step. The program can also ask for some system data in the dump. A SNAP dump is especially useful when testing a program. A program can dump one or more fields repeatedly to let the programmer check intermediate steps in calculations. For example, if a program being developed produces incorrect results, requests for SNAP dumps can be added to the program to dump individual variables. The first time incorrect storage is encountered should narrow down the section of code causing the error.
 
Note: A SNAP dump is written while a program runs, rather than during abnormal end.
Obtaining a SNAP dump
Obtain a SNAP dump by taking the following steps:
1. Code a DD statement in the JCL for the job step that runs the problem program to be dumped with a ddname other than SYSUDUMP, SYSABEND, SYSMDUMP, or another restricted ddname. The statement can specify that the output of the SNAP dump should be written to one of the following:
 – Direct access storage device (DASD). For example,
//SNAP1 DD DSN=MY.SNAP.DUMP,DISP=(OLD)
 – Printer. Note that a printer is not recommended because the printer cannot be used for anything else while the job step is running, whether a dump is written or not.
 – SYSOUT. SNAP dumps usually use SYSOUT. For example,
//SNAP1 DD SYSOUT=X
 – Tape. For example,
//SNAP1 DD DSN=SNAP.TO.TAPE,UNIT=TAPE,DISP=(OLD)
2. In the problem program:
a. Specify a data control block (DCB) for the data set to receive the dump. For a standard dump, which has 120 characters per line, the DCB must specify:
BLKSIZE=882 or 1632
DSORG=PS
LRECL=125
MACRF=(W)
RECFM=VBA
For a high-density dump, which has 204 characters per line and will be printed on an APA 3800 printer, the DCB must specify:
BLKSIZE=1470 or 2724
DSORG=PS
LRECL=209
MACRF=(W)
RECFM=VBA
b. Code an OPEN macro to open the DCB.
Before you issue the SNAP or SNAPX macro, you must open the DCB that you designate on the DCB parameter, and ensure that the DCB is not closed until the macro returns control. To open the DCB, issue the DCB macro with the following parameters, and issue an OPEN macro for the data set:
DSORG=PS,RECFM=VBA,MACRF=(W),BLKSIZE=nnn,LRECL=xxx,
and DDNAME=any name but SYSABEND, SYSMDUMP or SYSUDUMP
If the system loader processes the program, the program must close the DCB after the last SNAP or SNAPX macro is issued.
c. Code a SNAP or SNAPX assembler macro to request the dump. We recommend the use of the SNAPX macro as this allows for programs running in Access-Register (AR) mode to cause the macro to generate larger parameter lists. In the following example, the SNAPX macro requests a dump of a storage area, with the DCB address in register 3, a dump identifier of 245, the storage area's starting address in register 4, and the ending address in register 5:
SNAPX DCB=(3),ID=245,STORAGE=((4),(5))
Repeat this macro in the program as many times as wanted, changing the dump identifier for a unique dump. The system writes all the dumps that specify the same DCB to the same data set.
d. Close the DCB with a CLOSE assembler macro.
Customizing SNAP dumps
An installation can customize the contents of SNAP dumps through the IEAVADFM or IEAVADUS installation exits. IEAVADFM is a list of installation routines to be run and IEAVADUS is one installation routine. The installation exit routine runs during control block formatting of a dump when the CB option is specified on the SNAP or SNAPX macro. The routine can format control blocks and send them to the data set for the dump. See z/OS MVS Installation Exits, SC28-1753, for more information.
4.6 Standalone dumps
Figure 4-12 Standalone dump
Standalone dump
Standalone dumps are not produced by z/OS but by a program called SADMP, which is IPLed in place of z/OS. You need to provide an SA dump IPL program for each release. You should not take an SA dump from z/OS V1R12 to take an SA dump from a system running z/OS V1R13. When to use a standalone dump is shown in Figure 4-12.
The standalone dump program and the standalone dump together form what is known as the standalone dump service aid. The term standalone means that the dump is performed separately from normal system operations and does not require the system to be in a condition for normal operation. The standalone dump program produces a high-speed, unformatted dump of main storage and parts of paged-out virtual storage on a tape device or a direct access storage device (DASD). The standalone dump program, which you create, must reside on a storage device that can be used to IPL. Produce a standalone dump when the failure symptom is a wait state with a wait state code, a wait state with no processing, an instruction loop, or slow processing. Standalone dumps can be analyzed using IPCS.
 
Note: You can enable z/OS to automatically trigger a standalone dump using the automatic IPL (AutoIPL) function. AutoIPL is an automated function, defined in the DIAGxx parmlib member, that the system checks at wait state time. AutoIPL can re-IPL z/OS, or take a SADMP, or take a SADMP and have SADMP re-IPL z/OS when it finishes. For details, including the hard-coded table of wait state and reason codes, there is the wait state action table (WSAT), which triggers AutoIPL.
Planning a multivolume standalone dump
Plan a multivolume standalone dump data set that places each volume on a separate DASD volume on a separate control unit. You can achieve the best dump performance when the dump is taken to a multivolume DASD standalone dump data set. Standalone dump exploits multiple, independent volume paths to accelerate data recording. The dump data set is actually spread across all of the specified volumes, not each volume in succession. They should not be treated as multiple single data sets.
 
Note: There are significant performance improvements when writing the data to a multivolume standalone dump data set, or to specific types of DASD.
Allocating the standalone dump data set
Prior to z/OS V1R7, in the SYS1.SAMPLIB data set, you can use the AMDSADDD REXX utility to allocate and initialize the SADMP dump data set. The dump data set must be both allocated and initialized using the AMDSADDD REXX or IPCS SADMP dump data set utilities panel created in z/OS V1R7, shown in Figure 4-13.
Figure 4-13 SADMP DASD Dump Data Set Utility panel
 
Note: Beginning with z/OS v1R7, you can use the SADMP DASD dump data utility and select option 3.6 to use a panel to create, clear, and reallocate SADMP data sets on DASD. This utility performs the same functions associated with the AMDSADDD REXX utility. You can also use AMDSADDD, but references to the REXX utility in SYS1.SAMPLIB no longer exist. You must now refer to this utility in SYS1.SBLSCLIO. The data set is placed in SBLSCLI0 rather than SAMPLIB because it is no longer a sample.
You can EXEC this REXX utility from the ISPF data set utility option 3.4, and either VIEW (V), BROWSE (B) or EDIT (E) the data set. You can issue the following command from the ISPF option line and the utility prompts you as shown in Figure 4-14 on page 91.
EXEC 'SYS1.SBLSCLI0(AMDSADDD)'
What function do you want?
Please enter DEFINE if you want to allocate a new dump data set
Please enter CLEAR if you want to clear an existing dump data set
Please enter REALLOC if you want to reallocate and clear an existing
dump data set
Please enter QUIT if you want to leave this procedure
define

Please enter VOLSER or VOLSER(dump_dataset_name)
SDD01A(WTSCPLX1.SADMP.SDD01A)
Please enter the device type for the dump data set
Device type choices are 3380 or 3390 or 9345
3390
Please enter the number of cylinders
10014
Do you want the dump data set to be cataloged?
Please respond Y or N
Y
TIME-08:59:31 AM. CPU-00:00:03 SERVICE-549023 SESSION-01:18:42 APRIL 9,

Initializing output dump data set with a null record:
Dump data set has been successfully initialized

Results of the DEFINE request:

Dump data set Name : WTSCPLX1.SADMP.SDD01A
Volume : SDD01A
Device Type : 3390
   Allocated Amount : 10014
***
Figure 4-14 Prompts issued by the AMDSADDD REXX utility
Or, you can just enter this command and execute without prompts:
TSO EXEC 'SYS1.SBLSCLI0(AMDSADDD)''DEFINE SDD01A(WTSCPLX1.SADMP.SDD01A) 3390 10014 YES LARGE'
 
Note: The size used, 10014, and the data set type, LARGE, are new with z/OS V1R7. See 6.4, “IPCS support of large data sets” on page 155.
4.7 The SADMP program
Figure 4-15 SADMP processing of dumps
The SADMP program
The SADMP program produces a high-speed, unformatted dump of main storage and parts of paged-out virtual storage on a tape device or a direct access storage device (DASD). The SADMP program that you create must reside on a storage device that can be used to IPL.
Create the SADMP program by using the AMDSADM macro to produce the following:
A SADMP program that resides on DASD, with output directed to a tape volume or to a DASD dump data set
A SADMP program that resides on tape, with output directed to a tape volume or to a DASD dump data set
Create the SADMP program with the following JCL as an example.
//SADMPGEN JOB MSGLEVEL=(1,1)
//OSG EXEC PGM=AMDSAOSG
//SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR
// DD DSN=SYS1.MODGEN,DISP=SHR
//DPLTEXT DD DSN=SYS1.NUCLEUS(AMDSADPL),DISP=SHR
//IPLTEXT DD DSN=SYS1.NUCLEUS(AMDSAIPD),DISP=SHR
//PGETEXT DD DSN=SYS1.NUCLEUS(AMDSAPGE),DISP=SHR
//GENPRINT DD DSN=SADMP.LIST,DISP=OLD
//GENPARMS DD *
AMDSADMP IPL=DSYSDA,VOLSER=SPOOL2, X
CONSOLE=(1A0,3277)
END
/*
ADMSADMP macro
AMDSADMP processing does not allocate the data set or check to see that a valid MVS data set name has been provided. Therefore, you should ensure that:
The AMDSADDD REXX utility is used to allocate and initialize the same data set name specified on the OUTPUT= keyword.
The data set name specified should be fully qualified (without quotes).
The necessary data set management steps are taken so that the SADMP dump data sets will not be placed into a migrated state or moved to a different volume.
Alphabetic characters appearing in the dump data set name should be specified as capital letters.
You need to answer some questions when you plan for a standalone dump. Some typical questions are:
Should I take a standalone dump to DASD or to tape?
Can I use my current version of the standalone dump program to dump a new version of z/OS?
Default DASD device
If the default DASD device is to be used and no dump data set name is provided, the SADMP program will assume that the default dump data set name is SYS1.SADMP if the DDSPROMPT=NO parameter was also specified. Otherwise, if DDSPROMPT=YES was specified, the SADMP program will prompt the operator at run-time for a dump data set name to use.
At run-time, only a null response to message AMD001A will cause the SADMP program to use the default device and/or dump data set name.
Do not place a data set that is intended to contain a standalone dump on a volume that also contains a page or swap data set that the standalone dump program may need to dump. When SADMP initializes a page or swap volume for virtual dump processing, it checks to see if the output dump data set also exists on this volume. If it does, the SADMP program issues message AMD100I and does not retrieve any data from page or swap data sets on this volume. Thus, the dump may not contain all of the data that you requested. This lack of data may impair subsequent diagnosis.
You cannot direct output to the SADMP residence volume.
4.8 Using standalone dumps
Figure 4-16 SADMP steps to create the dump
Standalone dump procedure
Use the following procedure to initialize the SADMP program and dump storage:
1. Select a processor that was online when the system was stopped.
2. If the processor provides a function to IPL a standalone dump without performing a manual STORE STATUS, use this function to IPL SADMP. If you do not use such a function, perform a STORE STATUS before IPLing a standalone dump. If the operator does not store status, virtual storage is not dumped.
The hardware store-status facility stores the current program status word (PSW), current registers, the processor timer, and the clock comparator into the unprefixed prefix save area (PSA). This PSA is the one used before the nucleus initialization program (NIP) initialized the prefix register.
If you IPL the standalone dump program from the hardware console, it is not necessary to perform the STORE STATUS operation. Status is automatically stored when standalone dump is invoked from the hardware console and automatic store status is on.
If the operator does not issue the STORE STATUS instruction before IPLing a standalone dump, the message ONLY GENERAL PURPOSE REGS VALID might appear on the formatted dump. The PSW, control registers, and so on, are not included in the dump.
 
Note: Do not use the LOAD CLEAR option because it erases main storage, which means that you will not be able to diagnose the failure properly.
3. Make the residence device ready. If it is a tape, mount the volume on a device attached to the selected processor and ensure that the file-protect ring is in place. If it is a DASD volume, ensure that it is write-enabled.
4. IPL SADMP
SADMP does not communicate with the operator console. Instead, SADMP loads an enabled wait PSW with wait reason code X' 3E0000'. The IPLing of the standalone dump program causes absolute storage (X'0' through X'18' and storage beginning at X'110') to be overlaid with CCWs. You should be aware of this and not consider it as a low storage overlay.
 
Note: SADMP uses the PSW to communicate with the operator or systems programmer.
SADMP waits for a console I/O interrupt or an external interrupt.
5. Select the system console or an operator console with a device address that is in the console list that you specified at SADMP generation time (in the CONSOLE keyword of AMDSADMP). At SADMP run time, the operator can choose either a console specified with the CONSOLE= keyword or the system console to control SADMP operation. If an operator console is chosen, press Attention or Enter on that console. (On some consoles, you might have to press Reset first.) This causes an interruption that informs SADMP of the console's address. Message AMD001A appears on the console.
a. Make an output device ready. When you dump to devices that have both real and virtual addresses (for example, dumping a VM system), specify only the real address to the SADMP program. If you are dumping to tape, ensure that the tape cartridge is write-enabled. If you are dumping to DASD, ensure that the DASD data set has been initialized using the AMDSADDD REXX utility.
b. Reply with the device number for the output device. If you are dumping to a DASD device and DDSPROMPT=YES was specified on the AMDSADMP macro, message AMD002A is issued to prompt the operator for a dump data set. If DDSPROMPT=NO was specified, message AMD002A is not issued and the SADMP program assumes that the dump data set name is SYS1.SADMP.
 
Note: Pressing Enter in response to message AMD001A will cause the SADMP program to use the default device specified on the OUTPUT= keyword of the AMDSADMP macro. If the default device is a DASD device, then pressing the Enter key in response to message AMD001A will cause the SADMP program to use both the default device and the dump data set specified on the OUTPUT= keyword of the AMDSADMP macro. If no dump data set name was provided on the OUTPUT= keyword and the DDSPROMPT=YES keyword was specified, message AMD002A is issued to prompt the operator for a dump data set. If DDSPROMPT=NO was specified, then the SADMP program assumes that the dump data set name is SYS1.SADMP.
If you reply with the device number of an attached device that is not of the required device type, or if the device causes certain types of I/O errors, SADMP might load a disabled wait PSW. When this occurs, use procedure B to restart SADMP.
4.9 SADMP processing
Figure 4-17 SADMP processing considerations
Processing the SADMP
SADMP prompts you, with message AMD011A, for a dump title. When no console is available, run SADMP without a console.
Ready the default output device that was specified on the OUTPUT parameter on the AMDSADMP macro. For tapes, ensure that the tape cartridge is write-enabled. For DASD, ensure that the dump data set has been initialized using the AMDSADDD REXX utility.
 
Note: You can create different versions of the standalone dump program to dump different types and amounts of storage. You can do this by coding several AMDSADMP macros and varying the values of keywords on the macros.
Enter an external interruption on the processor that SADMP was IPLed from. SADMP proceeds using the default output device and/or the default dump data set. No messages appear on any consoles; SADMP uses PSW wait reason codes to communicate to the operator.
Message AMD005I
When SADMP begins and finishes dumping main storage, it issues message AMD005I to display the status of the dump. SADMP may end at this step.
When SADMP begins dumping real storage it issues message AMD005I. Message AMD095I is issued every 30 seconds to indicate the progress of the dump. Message AMD005I will be issued as specific portions of real storage have been dumped, as well as upon completion of the real dump. SADMP may end at this step.
PROMPTs specified
If you specified PROMPT on the AMDSADMP macro, SADMP prompts you for additional storage that you want dumped by issuing message AMD059D.
SADMP dumps instruction trace data, paged-out virtual storage, the SADMP message log, and issues message AMD095I every 30 seconds to indicate the progress of the dump.
When SADMP completes processing, SADMP unloads the tape, if there is one, and enters a wait reason code X'410000'.
Considerations for taking the dump
Consider the following actions to take based on system availability and severity of problem:
If I do dump to DASD, how much space do I need?
Can I dump to multiple dump data sets?
What can I name my DASD dump data sets?
How much of the system should I dump?
When should I specify the dump tailoring options?
What type of security does the standalone dump program require?
Should I use IEBGENER or the COPYDUMP subcommand to copy a dump to a dump to a data set?
What is dumped when I run the standalone dump program?
4.10 SADMP support for EAV volumes
Figure 4-18 SADMP support for EAV volumes
SADMP support for EAV volumes
The first stage of EAV support was shipped in z/OS V1R10. This EAV support allowed most VSAM objects to reside in cylinder-managed space on extended access volumes.
The second stage of EAV support in z/OS V1R11 adds the ability to place extended format sequential data sets in cylinder-managed space. The EAV support was largely implemented by the DFSMS of z/OS.
SADMP provides a new function to fully support placement of dump data sets in cylinder-managed space on extended access volumes. This was introduced in z/OS V1R11, but the supporting IPCS functions were not enhanced. In z/OS V1R12 the REXX exec AMDSADDD and IPCS utility Option 6, SADMP DASD Dump Data Set Utility, are changed to provide support for SADMP data sets in cylinder-managed space.
SADMP data sets defined as extended format sequential data sets can now be allocated in cylinder-managed space and are fully supported by IPCS.
 
4.11 SVC dumps
Figure 4-19 SVC dumps
SVC dump
An SVC dump provides a representation of the virtual storage for the system when an error occurs. Typically, a system component requests the dump from a recovery routine when an unexpected error occurs. However, an authorized program or the operator can also request an SVC dump when diagnostic dump data is needed to solve a problem.
SVC dumps can be used in different ways:
Most commonly, a system component requests an SVC dump when an unexpected system error occurs, but the system can continue processing.
An authorized program or the operator can also request an SVC dump (by using the SLIP or DUMP commands) when they need diagnostic data to solve a problem.
SVC dump contents
SVC dumps contain a summary dump, control blocks, and other system code, but the exact areas dumped depend on whether the dump was requested by a macro, command, or SLIP trap. SVC dumps can be analyzed using IPCS.
SVC dump processing stores data in dump data sets that you pre-allocate manually, or that the system allocates automatically, as needed. You can also use pre-allocated dump data sets as a back up in case the system is not able to allocate a data set automatically. To prepare your installation to receive SVC dumps, you need to provide SYS1.DUMPxx data sets. These data sets will hold the SVC dump information for later review and analysis. This section describes how to set up the SVC dump data sets.
 
Note: An incomplete dump, or partial dump, is 99 percent of the time, useless.
Dump data set size
When the z/OS operating system initiates, or is instructed to dump an address space, or multiple address spaces, the data will be written to a dump data set on a disk device. These data sets can be pre-allocated, as is the case with the traditional SYS1.DUMPxx data sets, or dynamically allocated, in which case a new data set is allocated whenever the system requests a dump.
In conjunction with the dump data set, the user-defined MAXSPACE parameter must be set to ensure that sufficient memory is allocated to retain the dump information in use by the address spaces and system areas. The default value is 500 megabytes. The value that can be specified may range from 1 to 99999999.
Application-related dumps can be written to a data set pointed to by the SYSMDUMP DD statement in the JCL. The data written to the SYSMDUMP data set is always required to diagnose application-related problems running under Language Environment control.
4.12 Allocating SYS1.DUMPxx data sets
Figure 4-20 Allocating the SYS1.DUMPxx data sets
Allocating SYS1.DUMPxx data sets
To prepare your installation to receive SVC dumps, you need to provide SYS1.DUMPxx data sets. These data sets will hold the SVC dump information for later review and analysis.
Allocate SYS1.DUMPxx data sets using the following requirements:
Name the data set SYS1.DUMPxx, where xx is a decimal number of 00 through 99.
Select a device with a track size of 4160 bytes. The system writes the dump in blocked records of 4160 bytes. If you want to increase the Block Size for the dump data set, you can do so as long as the blocking factor does not exceed 7, for example; 29120, and the Record Format (RECFM) must be Fixed Block Spanned (FBS).
Initialize with an end of file (EOF) record as the first record.
Allocate the data set before requesting a dump. Allocation requirements are:
UNIT A permanently resident volume on a direct access device.
DISP Catalog the data set (CATLG). Do not specify SHR.
VOLUME Place the data set on only one volume. Allocating the dump data set on the same volume as the page data set could cause contention problems during dumping, as pages for the dumped address space are read from the page data set and written to the dump data set.
SPACE An installation must consider the size of the page data set that will contain the dump data. The data set must be large enough to hold the amount of data as defined by the MAXSPACE parameter on the CHNGDUMP command, VIO pages, and pageable private area pages. SVC dump processing improves service by allowing secondary extents to be specified when large dump data sets are too large for the amount of DASD previously allocated. An installation can protect itself against truncated dumps by specifying secondary extents and by leaving sufficient space on volumes to allow for the expansion of the dump data sets. For the SPACE keyword, you can specify CONTIG to make reading and writing the data set faster. Request enough space in the primary extent to hold the smallest SVC dump expected. Request enough space in the secondary extent so that the primary plus the secondary extents can hold the largest SVC dump. The actual size of the dump depends on the dump options in effect when the system writes the dump.
 
Note: Approximately 250 cylinders will be sufficient for most single address space SVC dump requirements.
Making an SVC dump available
An SVC dump is taken to an SVC dump data set, either specified on the DCB parameter of the SDUMP or SDUMPX macro, available as SYS1.DUMPxx, or automatically allocated. SVC dump processing issues message IEA793A when the dump has been captured, but there are no available dump data sets. When a SYS1.DUMPxx data set is not available, the operator has the option either of deleting the captured dump by replying D or making another dump data set available to SVC dump processing. To make another dump data set available, the operator uses the DUMPDS command.
Managing SVC dump data sets
The system writes only one dump in each SYS1.DUMPxx data set. Before the data set can be used for another dump it can be cleared by using the DUMPDS command with the CLEAR keyword. The format if the command is:
DUMPDS CLEAR,DSN=xx
Where xx is the SYS1.DUMPxx identifier. You can abbreviate the DUMPDS command to DD, for example:
DD CLEAR,DSN=01
4.13 Automatic allocation of SVC dump data sets
Figure 4-21 Automatic allocation of SVC dump data sets
Automatic allocation
SVC dump processing supports automatic allocation of dump data sets at the time the system writes the dump to DASD. The dump can be allocated from a set of DASD volumes or SMS classes. When the system captures a dump, it allocates a data set of the correct size from the resources you specify. If automatic allocation fails, pre-allocated dump data sets are used. If no pre-allocated SYS1.DUMPnn data sets are available, message IEA793A is issued, and the dump remains in virtual storage. SVC dump periodically retries both automatic allocation and writing to a pre-allocated dump data set until successful or until the captured dump is deleted either by operator intervention or by the expiration of the CHNGDUMP MSGTIME parameter governing message IEA793A.
DASD volumes and SMS classes
Once active, allocation to SMS classes and DASD volumes is done starting from the first resource you added with the DUMPDS ADD command until unsuccessful, then the next resource is used. If you have defined both DASD volumes and SMS classes, SMS classes are used first. Allocation to DASD volumes is not multivolume or striped, while allocation to SMS classes can be multivolume or striped, depending on how the storage class is set up by the installation.
COMMNDxx parmlib member
You can specify the command instructions to enable or disable automatic allocation either in the COMMNDxx parmlib member, to take effect at IPL, or from the operator console at any time after the IPL, to dynamically modify automatic allocation settings.
If you use COMMNDxx, you may want to specify DUMP=NO in the IEASYSxx parmlib member to prevent dumps taken during IPL from being written to SYS1.DUMPxx data sets.
DUMPDS command
The DUMPDS command provides the following flexibility:
Activate automatic allocation of dump data sets
Add or delete allocation resources
Direct automatic allocation to SMS or non-SMS managed storage
Deactivate automatic allocation of dump data sets
Reactivate automatic allocation of dump data sets
Change the dump data set naming convention
Steps to initiate automatic allocation
Automatic allocation can be set up using the following steps:
Set up allocation authority
Establish a name pattern for the data sets
Define resources for storing the data sets
Activate automatic allocation
Add resources for dump using DUMPDS command
The steps to initiate automatic dump data set allocation are:
Associate the DUMPSRV address space with a user ID.
Authorize DUMPSRV's user ID to create new dump data sets.
Set up your installation data set name pattern using the DUMPDS command:
DUMPDS NAME=SC68;.&JOBNAME;.Y&YR4;M&MON;.D&DAY;T&HR;&MIN;.S&SEQ;
Add dump data set resources that can be used by the automatic allocation function:
DUMPDS ADD,VOL=(SCRTH1,HSM111)
DUMPDS ADD,SMS=(DUMPDA)
Activate automatic dump data set allocation using the DUMPDS command:
DUMPDS ALLOC=ACTIVE
 
Note: These steps can be performed after IPL using the DUMPDS command from an operator console, or early in IPL by putting the commands in the COMMNDxx parmlib member and pointing to the member from the IEASYSxx parmlib member using CMD=xx.
4.14 Dumping multiple address spaces in a sysplex
Figure 4-22 Considerations for dumping multiple address spaces in a sysplex
Multiple address space dumps
The standalone dump program allows a dump to be contained in multiple dump data sets. Therefore, when you want to view a standalone dump using IPCS, it is necessary to concatenate all of the dump data sets onto one DASD data set.
Use the following JCL to invoke the IPCS COPYDUMP subcommand to copy standalone dump output from three DASD dump data sets to another data set. Note that two of the dump data sets reside on the volume SADMP1, while the third resides on the volume SADMP2.
//SADCOPY JOB MSGLEVEL=(1,1)
//COPY EXEC PGM=IKJEFT01
//SYSTSPRT DD SYSOUT=A
//C1 DD DSN=SADMP1.DDS1,DISP=SHR,UNIT=DASD,VOL=SER=SADMP1
//C2 DD DSN=SADMP1.DDS2,DISP=SHR,UNIT=DASD,VOL=SER=SADMP1
//C3 DD DSN=SYS1.SADMP,DISP=SHR,UNIT=DASD,VOL=SER=SADMP2
//COPYTO DD DSN=SADUMP.COPY,UNIT=DASD,
// VOL=SER=SADCPY,DISP=(NEW,CATLG),
// DCB=(RECFM=FBS,LRECL=4160,DSORG=PS),
// SPACE=(4160,(8000,4000),RLSE)
//SYSTSIN DD *
  IPCS NOPARM DEFER
  COPYDUMP OUTFILE(COPYTO) NOCONFIRM INFILE(C1, C2, C3)
  END
/*
Dumping multiple address spaces
To dump multiple address spaces in a sysplex environment, the following examples can be used as a guide. Create a SYS1.PARMLIB member using a IEADMCxx member containing the following DUMP parameters shown in Figure 4-23, as follows:
job1 = IMS Control Region Jobname - job2 = IMS DLI region Jobname
job3 = DBRC Region Jobname - job4 = IRLM Region Jobname (If IRLM DB Locking used)
JOBNAME=(job1,job2,job3,job4),
SDATA=(CSA,PSA,RGN,SQA,SUM,TRT,GRSQ),
REMOTE=(SYSLIST=*('job1’,’job2’,’job3’,’job4'),SDATA)
Figure 4-23 IEADMCI1 example
Figure 4-24 shows the creation of a second SYS1.PARMLIB member, IEADMCI2, containing the following DUMP parameters:
job5 = CCTL Region 1 - job6 = CCTL Region 2 - job7 = CCTL Region 3
JOBNAME=(job5,job6,job7),
SDATA=(CSA,PSA,RGN,SQA,SUM,TRT,GRSQ,XESDATA),
REMOTE=(SYSLIST=*('job5’,’job6’,’job7'),SDATA)
Figure 4-24 IEADMCI2 example
Requesting a dump
To request a dump to be captured as per the IEADMCI1 and IEADMCI2 parmlib members, issue the following MVS command:
DUMP TITLE=(IMS/CCTL sysplex DUMPS),PARMLIB=(I1,I2)
If the data space DSPNAME parameter is specified, for example:
DSPNAME=(‘job1’.*)
Two dump data sets are created on each MVS image in the sysplex matching the REMOTE specifications for the JOBNAMEs. Then the same data space is dumped in the associated address spaces in the other systems if the DSPNAME parameter is included on the REMOTE statement. For example:
REMOTE=(SYSLIST=*('job1’,’job2’,’job3’,’job4'),SDATA,DSPNAME)
Considerations using SLIP entries
Figure 4-25 and Figure 4-26 shows and alternative where IEASLPxx has been used containing the following SLIP entries, using the IEASLPxx example, as follows:
job1 = IMS Control Region Jobname
job2 = IMS DLI region Jobname
job3 = DBRC Region Jobname
job4 = IRLM Region Jobname (If IRLM DB Locking is used)
 
SLIP SET,IF,N=(IEAVEDS0,00,FF),A=(SYNCSVCD,TARGETID),
SDATA=(CSA,PSA,RGN,SQA,SUM,TRT,GRSQ),
JOBLIST=(job1,job2,job3,job4),ID=IMS1,TARGETID=(IMS2),
REMOTE=(JOBLIST,SDATA),D,END
Figure 4-25 IEASLPxx example
job5 = CCTL Region 1
job6 = CCTL Region 2
job7 = CCTL Region 3
SLIP SET,IF,N=(IEAVEDS0,00,FF),
JOBLIST=(job5,job6,job7),ID=IMS2,
SDATA=(CSA,PSA,RGN,SQA,SUM,TRT,XESDATA),
REMOTE=(JOBLIST,SDATA),
D,END
Figure 4-26 IEASLPxx example
Before activating the SLIP, ensure that any existing PER SLIP for each MVS image in the sysplex is disabled, as follows:
ROUTE *ALL,SLIP,MOD,DISABLE,ID=trapid
To activate the SLIP trap and trigger the associated SVC dumps, enter the following MVS commands:
SET SLIP=xx
SLIP MOD,ENABLE,ID=IMS1
Two dumps are then be captured on each MVS image in the sysplex matching the REMOTE specifications.
4.15 Managing taking a dump
Figure 4-27 Ways to manage taking a dump
Canceling jobs with a dump
Cancelling a problem task can be initiated from either an MVS console or from an SDSF session running under TSO provided sufficient security privileges have been set up. The MVS console has the highest dispatching priority which allows commands to be issued at a sufficient level to handle most system loop or hang conditions. An IPL will be required if the problem task cannot be terminated using these procedures. Attempting to cancel a looping task via an SDSF session executing under TSO will often fail because the TSO session will have an insufficient dispatching priority to interrupt the loop process, but this is dependant on the severity of the looping process.
The CANCEL command can be performed as follows:
1. Issue the CANCEL jobname from the master console, where jobname is the looping task.
2. If the looping task is a TSO user, then issue, CANCEL U=tsouser.
3. Optionally, you might want to take a dump during the cancel. This is achieved by adding the DUMP option to the CANCEL command. For example,
CANCEL jobname,DUMP
It is recommended that a separate DUMP command be issued, and after this has been successfully processed, then CANCEL the task. This will dump according to the SYSABEND, SYSUDUMP, or SYSMDUMP DD statements specified in the JCL.
Dump analysis and elimination (DAE)
DAE suppresses dumps that match a dump you already have. Each time DAE suppresses a duplicate dump, the system does not collect data for the duplicate or write the duplicate to a data set. The ADYSETxx members in SYS1.PARMLIB control the DAE facility. If you find that dumps are being suppressed, as indicated by the following messages: IEA820I, IEA848I or IEA838I, please review DAE to ensure that you do not suppress this dump. A stop and start of DAE is required to reset the dump suppression count.
A stop of DAE is done by issuing a SET DAE=xx, where the xx in the ADYSETxx member contains a DAE=STOP,GLOBALSTOP command.
Restart DAE by SET DAE=xx, where xx is the active ADYSETxx parmlib member. This is often ADYSET00.
Partial dumps
How can you determine if the dump that has been captured is a complete dump? A partial, or incomplete dump will be missing some key areas of storage that in most cases will make the dump useless when it comes to efficient problem diagnosis.
The only other way to determine whether the dump is partial is to interrogate the dump using the Interactive Problem Control System (IPCS)—apart from the obvious message that will be generated in the z/OS system log that indicates a dump is partial, or that the dump MAXSPACE has been reached. Figure 4-28 shows an example of the IEA042I message.
IEA043I SVC DUMP REACHED MAXSPACE LIMIT - MAXSPACE=xxxxxxxx MEG or
IEA611I PARTIAL DUMP ON dsname
Figure 4-28 IEA611I message indicating partial dump
Figure 4-29 shows the result of the IPCS LOCATE command that can be issued to interrogate the storage, which will indicate if the dump taken was partial. In this case we are looking at storage at address x’E0’ for a length of 16 bytes.
Command ===> ip l e0. block(0) l(16)
************************************************ TOP OF DATA **************
LIST E0. BLOCK(0) LENGTH(X'10') AREA
BLOCK(0) ADDRESS(E0.)
000000E0. 00000000 30000000 00000000 00000000 |................ |
*************************************************END OF DATA **************
Figure 4-29 IPCS Storage Address Locate for IEA611I reason
The 4 words found at location X'E0' contain partial dump reason codes. These codes are mapped by DSECT SDRSN, and can be found in the z/OS data areas manual. The flags are also listed in z/OS MVS System Messages, Volume 6 (GOS-IEA), SA22-7636 under message IEA611I. The description listed under IEA611I for x'30000000' in the second word is:
20000000 -The system detected an error in the SVC dump task and gave recovery control.
10000000 - The SVC dump task failed.
If the values displayed at location X’E0’ are all zero, then the dump is not partial.
4.16 Customizing dumps using SDATA options
Figure 4-30 Options to customize dumps
Customizing SVC dumps
You can customize the contents of an SVC dump, SYSABEND, SYSUDUMP, and SYSMDUMP dumps, to meet the needs of your installation. For example, you might want to add areas to be dumped, reduce the dump size, or dump Hiperspaces. In most cases, you will customize the contents of an SVC dump or summary dump via the SDATA parameter of the SDUMP or SDUMPX macro or with operator commands.
SDATA options
To check the SDUMP (SDATA) options in your system, enter the D D,O command on the operator console. Figure 4-31 shows an example where we can see that the SDUMP options are the default ones.
RESPONSE=MCEVS1
IEE857I 15.04.04 DUMP OPTION 796
SYSABEND- ADD PARMLIB OPTIONS SDATA=(LSQA,TRT,CB,ENQ,DM,IO,ERR,SUM),
PDATA=(SA,REGS,LPA,JPA,PSW,SPLS)
SYSUDUMP- ADD PARMLIB OPTIONS SDATA=(SUM), NO PDATA OPTIONS
SYSMDUMP- ADD PARMLIB OPTIONS (NUC,SQA,LSQA,SWA,TRT,RGN,SUM)
SDUMP- ADD OPTIONS (LSQA,TRT,XESDATA),BUFFERS=00000000K,
MAXSPACE=00000500M,MSGTIME=99999 MINUTES
Figure 4-31 Dump options
Creating SDATA options
If you need to add more options, you can use the following command:
CD SET,SDUMP=(PSA,LPA,RGN,SUM,SQA,CSA)
Enter D D,O again and you should see the update shown in Figure 4-32.
RESPONSE=MCEVS1
IEE857I 15.24.13 DUMP OPTION 514
SYSABEND- ADD PARMLIB OPTIONS SDATA=(LSQA,TRT,CB,ENQ,DM,IO,ERR,SUM),
PDATA=(SA,REGS,LPA,JPA,PSW,SPLS)
SYSUDUMP- ADD PARMLIB OPTIONS SDATA=(SUM), NO PDATA OPTIONS
SYSMDUMP- ADD PARMLIB OPTIONS (NUC,SQA,LSQA,SWA,TRT,RGN,SUM)
SDUMP- ADD OPTIONS (PSA,SQA,LSQA,RGN,LPA,TRT,CSA,SUMDUMP,XESDATA),
BUFFERS=00000000K,MAXSPACE=00000500M,
MSGTIME=99999 MINUTES
ABDUMP- TIMEENQ=0240 SECONDS
Figure 4-32 SDUMP options
IPCS and SDATA options
Figure 4-33 shows the result of the IPCS control block format of the CVT to interrogate the SDATA options that were in effect when the dump was taken. The command is:
IP CBF RTCT+9C? STR(SDUMP) VIEW(FLAGS)
SDUMP_PL: 00FB357C
==> FLAGS SET IN SDUFLAG0:
Set system non-dispatchable while dumping global storage.
==> FLAGS SET IN SDUFLAG1:
SYSMDUMP request.
SUMLIST specified.
Ignore CHNGDUMP parameters.
TSO user extension is present.
48+ byte parameter list.
==> FLAGS SET IN SDUSDATA:
Dump SQA.
Dump LSQA.
Dump rgn-private area.
Dump LPA mod. for rgn.
Dump trace data.
Dump SWA.
Do not dump all PSA.
Figure 4-33 Example of IPCS “IP CBF RTCT+9C? STR(SDUMP) VIEW(FLAGS)” command
Even though the SDATA RGN parameter has been specified, the fact that some areas of RGN storage may have been paged out when the dump was taken can result in a “storage not available”.
4.17 Dump options and considerations
Figure 4-34 Dump options in parmlib and commands
IEADMR00 parmlib member
IEADMR00 contains IBM defaults and/or installation parameters for ABDUMP, for use when an ABEND dump is written to a SYSMDUMP data set.
 
Note: During an IPL, an informational message will notify the operator if IEADMR00 is invalid or cannot be found. No prompting of the operator will occur. If the member contains both valid and invalid parameters, an informational message will indicate the valid options that were accepted before the error occurred.
SYSMDUMP data set
ABDUMP parameters for a SYSMDUMP data set may be specified as follows:
The dump request parameter list pointed to by the DUMPOPT keyword of an ABEND macro. The list can be built by using the list form of the SNAP macro.
The initial system dump options specified in IEADMR00. These options are added to the options on the dump request parameter list.
The system dump options as altered by the CHNGDUMP command. With the CHNGDUMP command, options can be added to or deleted from the system dump options list. The CHNGDUMP command can also cause the dump request parameters to be ignored.
4.18 Catalog address space (CAS) dumps
Figure 4-35 Catalog address space dumps
MODIFY CATALOG,DUMPON syntax
MODIFY or F CATALOG, DUMPON or DUMPOFF specifies whether CAS dynamic dumping is to occur. Dynamic dumping by CAS does not occur unless you specify DUMPON.
MODIFY CATALOG,DUMPON
MODIFY CATALOG,DUMPON(aaa,bbb,cc)
MODIFY CATALOG,DUMPON(aaa,bbb,cc,nnn)
Where:
 – aaa - The catalog return code in decimal (000-255), or ***
 – bbb - The catalog reason code in decimal (000-255), or ***
 – cc - The catalog module identifier in CAS, or **
 – nnn - The limit number in decimal (000-999)
Options in parenthesis that follow the DUMPON parameter can be used to create a dump whenever a given return code, reason code, and module identifier occur. This dump can prove valuable to service personnel in solving problems. Normally, the return code, reason code, and module identifier are available on return from CAS and are printed by IDCAMS. The module identifier corresponds to the last two characters in the catalog module name. For example, the module identifier is A3 for IGG0CLA3. The return code, reason code, and module identifiers may be specified as a string of asterisks to indicate any value encountered will match the value of that field. This is referred to as a generic match. All three fields may not be simultaneously specified as asterisks. Whenever a generic match is specified for a particular field, it will be assumed that field always matches the value being returned by catalog for a catalog request. As an example:
MODIFY CATALOG,DUMPON(008,042,**)
This will create a dump for any return code 8, reason code 42, regardless of the module that detected the error. An option has been provided for a match count to obtain the nth occurrence of a return code, reason code, and module identifier. The match count decrements by one each time a return code, reason code, and module identifier is set in the catalog address space, If this option is not specified or is set to 000, then the first occurrence causes a dump.
Only one set of return codes, reason codes and module identifiers can be set at a time. Each entry overwrites the previous information. Once a match occurs, the information is cleared and the original DUMPON status is maintained. If DUMPON is entered without the additional options, certain conditions will produce dumps automatically. If then a DUMPON with options is entered, a match will cause a dump and the return code, reason code and module identifier will be cleared. The DUMPON status will remain on.
MODIFY CATALOG,REPORT,DUMP can be used to view the settings.
The header for the catalog dynamic dump will contain the return code and reason code in hex. For example:
CAS DYNAMIC DUMP-IGG0CLA9 RCX'00' RSNX'00'
 
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
13.59.173.242