The archive data set naming pattern is used to allocate archive data sets when recording for profiling. New archive data sets are allocated when collection starts, and when the active archive data set becomes full and collection needs to switch to a new data set.
There are two archive data set naming conventions: GDG and Dynamic. These conventions are described in the following sections.
Generation Data Group (GDG)
The archive data set name is the next generation (+1) in a Generation Data Group. Optional substitution variables can be used to provide separate generation data sets (GDS) for each CICS system or data set type; for example:
ARCHDSN=CPROF.+CICS.+TYPE(+1)
resolves to
CPROF.CICSPROD.SUMM(+1)
which in the first instance resolves to
CPROF.CICSPROD.SUMM.G0001V00
Before you can use GDG, you must create GDG base entries using IDCAMS. This can place an additional responsibility on administrators during initial setup of C\Prof, when you change your data set naming pattern, when new CICS regions are introduced, or when the name of your CICS region or group is changed as you will need to create new base entries each time they change. You can generate the JCL to define the GDG bases using the C\Prof ISPF dialog. For more information, see Step 6: Define archive data set GDG base entries (GDG only).
//DEFGDG JOB ,
/*JOBPARM SYSAFF=LPR1
//*
//S1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE GDG (NAME(CPROF.CICSPROD.SUMM) LIMIT(10) NOEMPTY SCRATCH)
DEFINE GDG (NAME(CPROF.CICSPROD.DETL) LIMIT(20) NOEMPTY SCRATCH)
/*
Defining a GDG using IDCAMS
GDG provides an automatic high-water mark on the amount of archive data that resides on DASD at any one time. The GDG LIMIT parameter, in conjunction with NOEMPTY and SCRATCH parameters ensures that once the generation data set limit has been reached, the oldest data set is automatically deleted. GDG is limited to 255 generation data sets (999 with extended GDG support in z/OS 2.2). Using substitution variables (for example, +CICS and +TYPE), you can retain up to 255 (or 999) summary and detail data sets per CICS region. You can increase or decrease the generation data set limit at any time:
//ALTGDG JOB ,
/*JOBPARM SYSAFF=LPR1
//*
//S1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
ALTER CPROF.CICSPROD.SUMM LIMIT(12)
ALTER CPROF.CICSPROD.DETL LIMIT(24)
/*
Increasing the generation data set limit
More information on generation data groups can be found in the z/OS MVS JCL user's topic Generation data sets in the IBM Knowledge Center.
Dynamic
The archive data set name is derived from a pattern data set name that contains substitution variables resolved at allocation time. The pattern contains substitution variables to ensure name uniqueness. For example, the following control statement:
ARCHDSN=CPROF.+CICS.+DATE.+TIME.+GEN
can create an archive data set named:
CPROF.CICSPROD.D150624.T134723.S123
When using the dynamic option, new data set are allocated as required without regard for how much data has already been collected. This can potentially cause operational issues if left unmanaged. When using the dynamic option, consider running the C\Prof housekeeping utility (see Cleaning up old collection data via housekeeping) to periodically delete old data sets that have expired.
Pattern substitution variables
The following pattern substitution variables may be used to generate unique data set names.
Substitution variables that apply to both dynamic and GDG
The following pattern substitution variables may be used for dynamic or GDG data set allocation.
Variable | What does it generate? | Example output | Required? |
---|---|---|---|
+PREFIX | Inserts the value specified on the +PREFIX control statement. For more information, see +PREFIX=data-set-name-prefix. | CICS.CPROF | No |
+CICS | CICS region job name. | CICSP1 | No |
+GROUP | CICS group name. The group name is derived from the value you specify in the GROUP control statement. For more information, see GROUP=name and GROUPEND. If the CICS region does not belong to a group then +CICS is used instead. |
PROD | No |
+USERID | The user id of the collector address space. | CPROF | No |
Substitution variables that apply to dynamic only
The following pattern substitution variables may be used for dynamic data set allocation only.
Variable | What does it generate? | Example output | Required? |
---|---|---|---|
+DATE | Current date in the format Dyymmdd. | D160624 | Yes |
+TIME | Current time in the format Thhmmss. | T134723 | Yes |
+GEN | Generation number in the format cnnn where c is either S (summary), D (detail), or X (auxiliary trace) and nnn is a number starting at 001 and incremented by 1 for each generation. Once nnn reaches 999, subsequent numbers begin again at 001. The purpose of the generation number is to ensure that if two data sets need to be allocated at the same time then the names will be unique. |
S001 (summary) D001 (detail) X001 (auxiliary trace data set) |
Yes |
Substitution variables that apply to GDG only
The following pattern substitution variables may be used for GDG data set allocation only.
Variable | What does it generate? | Example output | Required? |
---|---|---|---|
+TYPE | The type of archive data set: summary, detail, or auxiliary trace. Summary and detail archive data sets are produced when recording for profiling. Auxiliary trace data sets are produced when recording to auxiliary trace data sets or by taking a snapshot. |
SUMM (summary) DETL (detail) AUXT (auxiliary trace data set) |
No |