We are looking for a way to filter on storage from the history ctranlog. We just had a SOS in our production CICS region and we are attempting to determine which transaction caused the condition.
Environment
Release: Component: SYSVW
Resolution
When a CICS short on storage condition occurs, SYSVIEW will create several items documenting the event.
The transactions that wait due to the SOS event will contain exception wait time. This is displayed in the "EXWTime" column on CTRANLOG. The "Xct" will also be greater than 0, The "Xct" fields can be specified as a filter.
Potentially a more useful method would be to use the XLOG CICS command. This will display the exception log associated with the currently targeted CICS region. Several records will be created. Look for records like the following: Jobname Name Resourc1 SYSVC720 SOSEVENT EDSA SYSVC720 STORAGE ECDSA SYSVC720 SOSEVENT EDSA SYSVC720 CICSTRAN TSOS
The record with "STORAGE ECDSA" is an exception record indicating an SOS occurred. By selecting the record, you will see the information for the transaction that waited.
Transactions that waited are not always responsible for the SOS. Using the CTRANLOG command, you can look at the fields: CDSA UDSA SDSA ECDSA EUDSA ESDSA GCDSA GUDSA to determine if any look exceptionally large.
Remember that if you DSA is very full, it might not take much to get into a SOS condition.