IAMXMON: IAM Execution Monitor for CICS
IAMXMON is a CICS program and transaction that provides real-time statistical information on opened Enhanced format files under CICS. The installation of this program is optional, and an installation must assign a transaction name that you must know to use it. For more information about installing the IAMXMON program and transaction, see Installing-the-IAM-CICS-Monitor.
Summary Display
By entering the assigned CICS Transaction Identifier (TRANSID), you can see a list of OPEN Enhanced format IAM files, described by DDNAME and Data set Name. You can also see the total amount of CICS storage being used for each IAM data set. This display is scrollable using the PF7/PF8 keys.
Example of Initial IAMXMON Display
Command ===>
31Bit StgTot(K): 00000581 64Bit StgTot(M): 00000099 Indx StgTot(M): 00000002
Sel DDNAME Dataset Name Storage(B) Attrib
IVTK2 CPPRAC.IVTK2 0000049152
MIRROR4 CPPRAC.IVTK4.MIRROR 0000024576
IVTK4 CPPRAC.IVTK4 0000086016
MIRROR3 CPPRAC.IVTK3.MIRROR 0000024576
IVTK3 CPPRAC.IVTK3 0000061440
MIRROR2 CPPRAC.IVTK2.MIRROR 0000040960
IVTP1 CPPRAC.IVTK1.PATH 0000040960 Path
MIRROR1 CPPRAC.IVTK1.MIRROR 0000028672
IVTK1 CPPRAC.IVTK1 0000081920 Base
Data Set Activity Display
To view the detail information about any displayed file, select it by entering 'S' next to the desired file. The first page of the two, is displayed as shown below:
IAMXMON Data set Activity Display Page
DDNAME: IVTK2 DSN: CPPRAC.IVTK2 Page 1 of 2
IAM Command Execution Summary
GET Random... 00003229 PUT Update... 00000005 ENDREQ....... 00000056
Get Seq...... 00000101 PUT Add...... 00001138 WRTBFR....... 00000000
Get Prev..... 00000000 Point........ 00000000 OPEN......... 00000001
GET KGE...... 00000001 Point KGE.... 00000053 CLOSE........ 00000000
GET (skip)... 00000000 ERASE........ 00000000 CLOSE T...... 00000000
Verify....... 00000000 Invalid Req.. 00000000 Len Change... 00000005
Seq Chain R.. 00000000 Seq Chain W.. 00000000 Flush Bfr.... 00000000
IAM Executions Statistics Total Records............ 0000001139
Requests Processed......... 000004584 Requests Failed........... 000003220
Blocks Read................ 000000033 Blocks Written............ 000001147
Dynamic Table Retrievals... 000000000 Dynamic Table Records..... 000000000
Dynamic Buffer Retrievals.. 000005103 Minimum Buffers............... 00004
Dynamic Buffer Retrieval %. 099 Current Buffers................ 0051
Storage Below 16M (Bytes).. 000000000 Maximum Buffers............... 00867
Storage Above 16M (Bytes).. 000049152 Index Space Used (K)........... 0512
Storage Above The Bar (M).. 000000003
Extended Areas Information
Available Extended Blocks.. 000012987 Extended PE Blocks Used.... 000000002
Extended Overflow Blocks... 000000001 Extended Overflow Records.. 000000806
Data Set Attributes Display
By pressing the Enter key, a second display describing the physical file will be displayed. Pressing Enter will switch back and forth between the two displays. Use PF3/PF15 to return to the open data set list.
IAMXMON Data set Attributes Display PageRLS Summary Display
DDNAME: IVTK2 DSN: CPPRAC.IVTK2 Page 2 of 2
Controlling Program.. DFHKETCB
Processing Options Dataset Attributes
OPENed for UPDATE.. Yes Dataset Type.. KSDS Record Size... 00322
Immediate WRITE.... No Shareoptions.. 2 Block Size.... 20480
OPTCD=ASY.......... No Extents....... 000 Recs/Block.... 00062
OPTCD=WAITX........ Yes Blks/Track.... 004 Record Fmt.... V
DEFER WRITE........ No Data Comp..... Yes Index Comp.... No
CI Processing...... No Key Length.... 041 RKP........... 00008
JRNAD Loaded....... No Integrated %.. 001
JRNAD Active....... No
UPAD Loaded........ No Date Defined.. 2022.350
UPAD Active........ Yes Date Loaded... 2022.350
RLS Summary Display
By entering the assigned CICS Transaction Identifier (TRANSID) with the RLS keyword (that is, IAMX RLS), the user is presented with a list of OPEN Enhanced format IAM files that are under IAM/RLS control, described by DDNAME and Data set Name. Also displayed is the total amount of CICS storage being used for each IAMdata set. This display is scrollable using the PF7/PF8 keys.
By selecting one of the Data sets by entering an 'S' on the left side of a DDNAME/DSNAME line entry, you will be presented with Data set details just as with the non-RLS display, except that the stats will be from the IAM/RLS address space with the storage and buffer use statistics, because they are in the IAM/RLS address space as opposed to the CICS address space.
DDNAME: IVTK33 DSN: IAMCICSV.IAQA.RLSB.IVTK33 Page 1 of 2
IAM Command Execution Summary
GET Random... 00101648 PUT Update... 00095748 ENDREQ....... 00000067
Get Seq...... 00000336 PUT Add...... 00001860 WRTBFR....... 00000000
Get Prev..... 00000008 Point........ 00000000 OPEN......... 00000003
GET KGE...... 00000002 Point KGE.... 00000034 CLOSE........ 00000000
GET (skip)... 00000000 ERASE........ 00001980 CLOSE T...... 00000000
Verify....... 00000000 Invalid Req.. 00000000 Len Change... 00094927
Seq Chain R.. 00000526 Seq Chain W.. 00000000 Flush Bfr.... 00000000
IAM Executions Statistics Total Records............ 0008999880
Requests Processed......... 000201686 Requests Failed........... 000001860
Blocks Read................ 000003585 Blocks Written............ 000003423
Dynamic Table Retrievals... 000000000 Dynamic Table Records..... 000000000
Dynamic Buffer Retrievals.. 000295867 Minimum Buffers............... 00025
Storage Above 16M.......... 000135168 Maximum Buffers............... 00532
Storage Below 16M.......... 000000000 Current Buffers................ 0228
High-Used RBA............. 0 Index Space Used............... 7680
Extended Areas Information
Available Extended Blocks.. 000001179 Extended PE Blocks Used.... 000000000
Extended Overflow Blocks... 000065535 Extended Overflow Records.. 000000492
RLS Held Record Locks Display
By entering an 'L' on the left side of a DDNAME/DSNAME entry on the RLS Summary Display you'll be presented with from 1 to a maximum of 99 currently held record locks for the selected data set. Only locks held by the CICS region that this IAMX transaction is being executed on are listed. Record Locks are displayed by listing the keys of the records that are locked. Only the first 72 bytes of keys that are longer than 72 bytes are displayed.
Command ===>
31Bit StgTot(K): 00000453 64Bit StgTot(M): 00000000 Indx StgTot(M): 00000001
Sel DDNAME Dataset Name Storage(B) Attrib
IVTK2 CPPRAC.IVTK2 0000045056
MIRROR4 CPPRAC.IVTK4.MIRROR 0000020480
IVTK4 CPPRAC.IVTK4 0000053248
MIRROR3 CPPRAC.IVTK3.MIRROR 0000028672
IVTK3 CPPRAC.IVTK3 0000065536
MIRROR2 CPPRAC.IVTK2.MIRROR 0000045056
IVTP1 CPPRAC.IVTK1.PATH 0000041352 Path
MIRROR1 CPPRAC.IVTK1.MIRROR 0000040960
L IVTK1 CPPRAC.IVTK1 0000053640 Base
The above 'L' locks request would produce either a File Locks Display or a message Chosen Dataset Has No Locks
Sample File Locks Display
IAMRLS Locks Held for Dataset CPPRAC.IVTK1
JOB: CICSBRLS ASID: 00BB Key Length: 00042
----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
CICS TRANSID: IQIO CICS TRANSNO: 0009009 CICS UOWID: D2322E57E3B8EE41
EBCDIC 002092480020924800209248002092480020924832
HEX 1 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
HEX 2 002092480020924800209248002092480020924832
------------------------------------------------------------------------
CICS TRANSID: IQIO CICS TRANSNO: 0009009 CICS UOWID: D2322E57E3B8EE41
EBCDIC 002092480020924800209248002092480020924816
HEX 1 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
HEX 2 002092480020924800209248002092480020924816
------------------------------------------------------------------------
CICS TRANSID: IQIO CICS TRANSNO: 0009009 CICS UOWID: D2322E57E3B8EE41
EBCDIC 002092480020924800209248002092480020924800
HEX 1 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
HEX 2 002092480020924800209248002092480020924800
------------------------------------------------------------------------
CICS TRANSID: IQIO CICS TRANSNO: 0009009 CICS UOWID: D2322E57E3B8EE41
EBCDIC 002092470020924700209247002092470020924784
HEX 1 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
HEX 2 002092470020924700209247002092470020924784
RLS Record Locks Display by Job
As discussed above, by entering an 'L' next to a DDNAME/DSN you'll get a RLS Held Locks Display for Locks held by the CICS region the IAMX RLS transaction is being executed on. If you would like to see IAM/RLS held locks that are held by other address spaces you can enter a 'J' to the left of a DDNAME/DSN on the RLS Summary Display and you'll be presented with a Job List display of all Jobs that currently hold record locks of the chosen Data set.
Command ===>
31Bit StgTot(K): 00000453 64Bit StgTot(M): 00000000 Indx StgTot(M): 00000001
Sel DDNAME Dataset Name Storage(B) Attrib
IVTK2 CPPRAC.IVTK2 0000045056
MIRROR4 CPPRAC.IVTK4.MIRROR 0000020480
IVTK4 CPPRAC.IVTK4 0000053248
MIRROR3 CPPRAC.IVTK3.MIRROR 0000028672
IVTK3 CPPRAC.IVTK3 0000065536
MIRROR2 CPPRAC.IVTK2.MIRROR 0000045056
IVTP1 CPPRAC.IVTK1.PATH 0000041352 Path
MIRROR1 CPPRAC.IVTK1.MIRROR 0000040960
J IVTK1 CPPRAC.IVTK1 0000053640 Base
The above 'J' Locks Held Job List request will produce either a Locks Held Job List Display or result in message: Dataset is not being Accessed by any Job Holding a Lock
Sample Locks Job List Display
IAMRLS Jobs with Locks for Dataset IAMCICSV.IAQA.RLSB.IVTK31
_ MMJLOCKT
_ MMJLOCT2
_ CICSBRLS
To see the IAM/RLS held record lock keys for one of the displayed jobnames, select that job by entering an 'S' next to that job and pressing Enter. This will result in an IAM/RLS held locks display as below:
IAMRLS Locks Held for Dataset IAMCICSV.IAQA.RLSB.IVTK31
JOB: MMJLOCKT ASID: 0062 Key Length: 00041
----+----1----+----2----+----3----+----4----+----5----+----6----+----7-
EBCDIC 00136694001366940013669400136694001366908
HEX 1 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
HEX 2 00136694001366940013669400136694001366908
-----------------------------------------------------------------------
EBCDIC 00136693001366930013669300136693001366992
HEX 1 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
HEX 2 00136693001366930013669300136693001366992
-----------------------------------------------------------------------
EBCDIC 00136693001366930013669300136693001366976
HEX 1 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
HEX 2 00136693001366930013669300136693001366976
-----------------------------------------------------------------------
EBCDIC 00136693001366930013669300136693001366960
HEX 1 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
HEX 2 00136693001366930013669300136693001366960