IAMSMF - IAMINFO Command


IAMINFO Command

The IAMINFO command is used to produce the detailed IAMINFO reports from IAM generated SMF records. IAM will normally produce an IAMINFO report each time an IAM data set is closed if the job step has an IAMINFO DD card. By collecting the IAMSMF records, you can still get the IAMINFO reports without changing the JCL in every job using IAMdata sets. Also, this offers the advantage of being able to obtain the IAMINFO reports only on an as needed or desired basis, or if the original job output has been discarded.

To obtain a summarization of IAM data set activity, use the IAMSMFVS program. That program provides three distinct reports, consisting of one line per data set rather than multiple full page reports. You could use IAMSMFVS to obtain the summary information, and then use the IAMSMF IAMINFO command to get detailed information about specific files.

Each IAMINFO report is one page in length, providing detailed information about the data set and its use. An IAMINFO report is generated by IAMSMF as one per data set per job step. Optionally, IAMINFO reports can be printed by IAMSMF for each time the data set is closed, or once per data set per job. From the IAMINFO reports, you can tell how a program is accessing the data set, whether or not more buffers could help improve performance, and if the data set needs to be reorganized.

If you would prefer to view the IAMINFO output as a spreadsheet add an IAMCSV DD, described above, to your JCL and IAMSMF will generate one line for each IAMINFO report in a Comma Separated Values (CSV) format which can be imported into any spreadsheet program.

IAMINFO Command Operands

The IAMINFO command offers a wide variety of selection criteria to provide a lot of flexibility in the reports that end up being printed.

IAMSMF IAMINFO Command Operands

    IAMINFO
        
[ATTRIBUTE=ccccc]        [,MAXSTACK=nnnnn]
       
[,BLOCKS=nnnnnn]        [,MERGE=ccccc]
       
[,CYLS=nnnnn]           [,NUMCMDS=nnnnn]
       
[,DSGROUPS=dsname]        [,NUMRECS=nnnnn]
       
[,DSNAMES=dsname]       [,OFULL=nn]
       
[,DYNRET=nnnnn]        [,ORECS=nnnnn]
       
[,EXCP=nnnnn]        [,PEBLKS=nnnnn]
       
[,FROMDATE=yyyyddd]    [,PEFULL=nn]
       
[,FROMDDNAME=ddname]     [,RECTYPE=nnn]
       
[,GROUPNAMES=jobname]     [,TODATE=yyyyddd]
       
[,JOBNAMES=jobname]     [,TRACKS=nnnnn]
       
[,LRECL=nnnnn]       [,TYPECMD[E]=(a,b,c)]
       
[,SHAREOPTION=n]

Operand

Description

ATTRIBUTE=

Identifies which attributes an IAM file must have to participate in record selection. Valid values are:

DATACOMP - The IAM file contains compressed data.

KEYCOMP - The IAM file contains compressed keys.

INCPEBLK -IAM found that a record that could have gone into PRIME EXTENSION, but was placed into INDEPENDENT OVERFLOW because the PRIME EXTENSION was full. Redefining this file with a larger PRIME EXTENSION may improve performance. An IAM371 message was issued if an IAMINFO DD was present during the job's execution.

MOREBUFFER - IAM found that additional buffers could have been used to improve performance, however the MAXBUF or BUFNO option prevented IAM from acquiring more buffers. An IAM368 message was issued if an IAMINFO DD was present during the job's execution.

NOCORE - There was not enough storage available in the region for IAM to acquire additional buffers. An IAM367 message was issued if an IAMINFO DD was present during the job's execution.

REORG - IAM files that have received warning messages recommending that the file be reorganized.

By default, the data set attributes do not participate in the selection criteria.

This operand supports the following logical operators: =, ¬=.

BLOCKS=

Specifies the size, in blocks, of the files to be selected.

By default, the size of the IAM data set does not participate in the selection criteria.

This operand supports the following logical operators: =, ¬=, >, > =, <, < =

CYLS=

Specifies the size, in cylinders, of the files to be selected.

By default, the size of the IAM data set does not participate in the selection criteria.

This operand supports the following logical operators: =, ¬ =, >, > =, <, < =

DSGROUPS=

Specifies that only records having a data set name which begin with the given character strings will be processed. This operand specifies a partial data set name from 1 to 44 characters in length. Up to 50 data set groups may be specified for a single command if entered as follows:

DSGROUPS=(dsname1,...,dsnamex)

By default, the name of the IAM data set does not participate in the selection criteria.

DSNAMES=

Specifies that only records having a data set name which match the data set names specified will be processed. This operand specifies a complete data set name from 1 to 44 characters in length. Up to 50 data set names may be specified for a single command if entered as follows:

DSNAMES=(dsname,...,dsname)

By default, the name of the IAM data set does not participate in the selection criteria.

DYNRET=

Establishes the limit of record retrievals from IAM's Dynamic Table.

By default, the number of dynamic retrievals does not participate in the selection criteria.

This operand supports the following logical operators: =, ¬ =, >, > =, <, < =

EXCP=

Establishes the limit of EXCPs (physical read and writes) to the IAM file.

By default, the number of EXCPs does not participate in the selection criteria.

This operand supports the following logical operators: =, ¬ =, >, > =, <, < =

FROMDATE=

Specifies the lower date limit of the SMF records that are to be copied.

The default, if the FROMDATE and/or TODATE operands are not specified, is that the date of the SMF record will not participate in the selection criteria.

FROMDDNAME=

Specifies the DDNAME of the SMF file to be used as input to IAMSMF.

The default input DDNAME is SYSMF.

GROUPNAMES=

Specifies that only those records having a job name which begin with the specified character strings will be selected. This operand specifies a partial job name from 1 to 8 characters in length. Up to 50 job groups and/or names may be specified for a single command if entered as follows:

GROUPNAMES=(jobname1,...,jobnamex)

The default, if neither the GROUPNAMES nor JOBNAMES operand is specified, is that the job name will not participate in SMF record selection.

JOBNAMES=

Specifies that only records having a job name which match the jobnames specified will be selected. This operand specifies a complete job name from 1 to 8 characters in length. Up to 50 job names may be specified in a single command if entered as follows:

JOBNAMES=(jobname1,...,jobnamex)

The default, if neither the GROUPNAMES nor JOBNAMES operand is specified, is that the job name will not participate in SMF record selection.

LRECL=

Establishes the limit for the length of records (maximum length for variable) within an IAM file.

By default, the record length does not participate in the selection criteria.

This operand supports the following logical operators: =, ¬ =, >, > =, <, < =

MAXSTACK=

Specifies the maximum number of compressed SMF records that can be retained in storage. The number can be any value from 100 to 50000, inclusive.

The default is 2500 records.

MERGE=

Identifies how IAMSMF will process multiple SMF records created for the same data set by the same job. Valid values are:

JOB: All SMF records referencing the same IAM data set within a job will be merged into a single report.

NO: No IAM SMF records are to be merged. An IAMINFO report will be generated for each IAM SMF record found.

STEP: All SMF records referencing the same IAM data set within a job step (i.e. multiple OPEN/CLOSE) will be merged into a single report.

The default is STEP.

NUMCMDS=

Establishes the limit of the total number of commands issued against the IAM file. When used in conjunction with the TYPECMD operand, the selection will be limited to those files having a command count of that type.

By default, the number of commands issued against the IAM file does not participate in the selection criteria.

This operand supports the following logical operators: =, ¬ =, >, > =, <, < =

OFULL=

Establishes the percent of overflow used limit within an IAM file.

By default, the percent of overflow used does not participate in the selection criteria.

This operand supports the following logical operators: =, ¬ =, >, > =, <, < =

ORECS=

Establishes the number of overflow records limit within an IAM file.

By default, the number of overflow records does not participate in the selection criteria.

This operand supports the following logical operators: =, ¬ =, >, > =, <, < =

PEBLKS=

Establishes the number of prime extension blocks limit within an IAM file.

By default, the number of prime extension blocks does not participate in the selection criteria.

This operand supports the following logical operators: =, ¬ =, >, > =, <, < =

PEFULL=

Establishes the percent of prime extension blocks used limit within an IAM file.

By default, the percent of prime extension blocks used does not participate in the selection criteria.

This operand supports the following logical operators: =, ¬ =, >, > =, <, < =

RECTYPE=

Identifies the record type of the IAM generated SMF record.The default record type is that which is defined in the IAM option table. Refer to IAM-Global-Option-Change-Facility for further documentation on the IAM option table.

SHAREOPTION=

Specifies the cross region share options of the files to be selected. Valid values are 1,2,3, or 4.

By default, the share options do not participate in the selection criteria.

This operand supports the following logical operators: =, ¬ =, >, > =, <, < =

TODATE=

Specifies the upper date limit of the SMF records that are to be copied.

The default, if the FROMDATE and/or TODATE operands are not specified, is that the date of the SMF record will not participate in the selection criteria.

TRACKS=

Specifies the size, in tracks, of the files to be selected.

By default, the size of the IAM data set does not participate in the selection criteria.

This operand supports the following logical operators: =, ¬ =, >, > =, <, < =

TYPECMDE=

Identifies the type of commands that must have been issued against Enhanced Format IAM files.

If NUMCMDS is also specified, the SMF record will be selected if that number of commands of that type was issued.

If NUMCMDS is not specified, the SMF record will be selected if ANY command of that type was issued.

Up to 16 command types may be specified if entered as follows:

TYPECMDE=(c,c,...,c)

The following values (command types which correspond to those generated by IAMINFO) are supported:

A - Add, C - Close, E - Erase, - Skip Sequential Get, - Get Sequential, I - IAM Statistics, K - Point, - Record Length Change, N - Point Key Greater or Equal, or Generic, O - Open, P - Get Previous (Backwards Get), R - Random Read with Key Equal, S - Random Read with Key Greater or Equal or Generic, - Close Type=T, U - Put/ Write for Update, V - Verify, or X - Buffer Flush Request.

By default, the type of commands issued against the IAM file does not participate in the selection criteria.

IAMINFO Output

The IAMINFO output produced by IAMSMF is quite similar to the normal IAMINFO report. The only change has been in the heading messages. When produced by IAMSMF, the IAMINFO reports do not have the IAM360 or IAM361 heading messages. Instead, they have an IAM370 JOB CHARACTERISTICS section. A sample of that portion of the IAMINFO report is shown below. For a complete description of the IAMINFO report, please Refer  IAMINFO-Reports.

Sample of IAM370 IAMINFO Output

IAM370   JOB CHARACTERISTICS -
        
JOB NAME -----------------=     RAM270    -    STEP NAME ----------------=    KSD270B
        
PROGRAM NAME -------------=   IAMTVSAM    -    FUNCTION ------------= UPDATE PROCESSING
        
DDNAME -------------------=   VSAMCRT1    -    DSNAME = IAMV.KSD270.CLUSTER
        
DATE OPENED --------------=   2016.295    -    TIME OPENED --------------=   07:51:34
        
DATE CLOSED --------------=   2016.295    -    TIME CLOSED --------------=   07:51:34

Job Characteristics Field Description

Field Name

Description of Field

JOB NAME

Indicates the name of the job that has processed this IAM data set.

STEP NAME

Indicates the name of the job step that has processed this IAM data set.

PROGRAM NAME

The name of the program that issued the OPEN for the IAM data set.

FUNCTION

The function being performed. Possible values are:

  • FILE CREATION - Indicates a file load process.
  • UPDATE PROCESSING - Indicates that the file was opened for update.
  • INPUT PROCESSING - Indicates that the file was opened for input processing only.
  • RLS - File is being processed through IAM/PLEX or IAM/RLS

DDNAME

Indicates the DD name used to OPEN the file.

DSNAME

Indicates the IAM data set name.

DATE OPENED

The date that the data set was opened.

TIME OPENED

The time of the OPEN.

DATE CLOSED

Indicates the date that the data set was closed.

TIME CLOSED

Indicates the time of the CLOSE.

Example A: Requesting a Specific Job and Data Set

In this first example of running IAMINFO from IAMSMF, we are after a specific IAMINFO report. The JOBNAME indicates the name of the job, the DSNAME indicates the name of the data set, and the FROMDATE and TODATE indicate the date that the job was run. MERGE=NO is also specified, so the IAMINFO reports come out for each close, rather than being merged by job step.

Example 1 of IAMSMF IAMINFO Command (EX4104A)

   //IAMSMF   EXEC PGM=IAMSMF,REGION=1M
   //STEPLIB  DD   DISP=SHR,DSN=iam.load.lib
   //SYSPRINT DD   SYSOUT=*
   //SYSMF    DD   DISP=SHR,DSN=smf.data.set
   //SYSIN    DD    *
       IAMINFO DSNAME=IAMV.KSD270.CLUSTER,JOBNAME=KSD270,
               MERGE=NO,FROMDATE=2016295,TODATE=2016295
   /*

Example B: IAMINFO Reports for all Data Sets for a Particular Job

This next example is requesting all of the IAMINFO reports for jobs beginning with the specified GROUPNAME that ran on the specified date. This JCL also includes an IAMCSV DD card which means that the IAMINFO data will also be written out in a CSV format.

Example 2 of an IAMSMF IAMINFO Command (EX4104B)iamsec4100007.jpg

   //IAMSMF   EXEC PGM=IAMSMF,REGION=1M
   //STEPLIB  DD   DISP=SHR,DSN=iam.load.lib
   //SYSPRINT DD   SYSOUT=*
   //SYSMF    DD   DISP=SHR,DSN=smf.data.set
   //IAMCSV   DD   DSN=my.iaminfo.csv,DISP=(,CATLG),
   //   SPACE=(CYL,(5,1)),STORCLAS=storclas
   //SYSIN    DD    *
       IAMINFO GROUPNAME=KSD2,MERGE=NO,
               FROMDATE=2016295,TODATE=2016295
   /*

Example C: Using Selective Comparisons

In this next example, two IAMINFO commands are being issued. To reduce processing time, the IAM SMF records are first copied to a temporary data set, which is then used for input to the IAMINFO commands. The first IAMINFO is requesting all files opened under the various CICS regions that could have used more buffers to be printed. As part of the screening, we are only concerned about those files that have relatively heavy I/O, so EXCP>10000 are included. From this, a determination can be made if the maximum buffer number really should be raised.

The second IAMINFO command will find jobs that have done a large quantity of inserts. This is done by specifying TYPECMDE=A, which means ADD requests, and NUMCMDS>10000, which indicates more than 10000 adds.

Example 3 of IAMSMF IAMINFO Command (EX4104C)

   //IAMSMF   EXEC PGM=IAMSMF,REGION=1M
   //STEPLIB  DD   DISP=SHR,DSN=iam.load.lib
   //SYSPRINT DD   SYSOUT=*
   //SYSMF    DD   DISP=SHR,DSN=smf.data.set
  //SYSUT2   DD   UNIT=SYSDA,SPACE=(CYL,(10,5))
   //SYSIN    DD    *
       COPY IAMRECORDS
        IAMINFO  GROUPNAMES=CICS,ATTR=MOREBUFFER,EXCP>10000,
                    FROMDDNAME=SYSUT2
        IAMINFO  NUMCMDS>10000,TYPECMDE=A,FROMDD=SYSUT2
   /*



 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*