History data in optimization processing
Certain I/O processes are impossible to fully evaluate at the time of open processing.
For example, when a VSAM ACB specifies both sequential and direct processing, there is no way to know which type of access predominates, or whether one is used at all. For this reason, Data Optimizer collects historical information during close processing, when appropriate, for future reference. At the next open, Data Optimizer uses the information to make informed tuning decisions. In this way, Data Optimizer learns the application access patterns to improve performance.
Data Optimizer has two methods to relate historical data to the file being opened: DSNPGM and FULL. Data Optimizer provides the HISTKEY command to determine which method to use when creating the history. For more information on the HISTKEY command, see Data-Optimizer-commands.
- The DSNPGM method uses the program name and data set name combination to access the data.
- The FULL method uses job name, step name, procstep name, program name, and ddname to access the historical data. This is the default method.
If history has been recorded using the DSNPGM method, that data is used to prime the decision-making process for the FULL method. Priming of historical data ensures that the buffering decision is consistent.
To view the history information that Data Optimizer has collected, generate the Data Optimizer History Report. For more information about this report, see History-report.
To create a sequential data set backup of the BMC AMI Batch Optimizer History data set, customize and execute member BSSCJEXT of the SAMPLIB data set. The BMC AMI Batch Optimizer Subsystem must be executing when this utility is submitted. The sequential data set that is created by this utility can be used as input when IDCAMS is executed to recover the History data set.
BMC recommends that you periodically reorganize the History data set. Member BSSREORG of the SAMPLIB data set uses IDCAMS to complete an EXPORT, DELETE, DEFINE, and IMPORT of the History data set.
History cleanup utility
The history cleanup utility removes records that belong to the Data Optimizer component. This utility removes data that becomes obsolete over time.
The utility's JCL, which is in prefix.XXSAMP in member DAPUCLN1, does not directly update the history registration data set (REGISET). The utility creates a sequential data set that you can use as input when executing IDCAMS to recover the History data set from prefix.XXSAMP in DAPUCLN2.
Before executing member DAPUCLN1, ensure that the BMC AMI Batch Optimizer subsystem is shut down to avoid losing data that is being updated in the history REGISET.
When you are sure that correct records are deleted, make the necessary changes to member DAPUCLN2 before submitting the JCL for execution.
The Data Optimizer uses control cards that direct the history cleanup utility to delete the history data. The utility does not write the deleted data back to the History data set.
The RXSYSIN DD statement points to the control cards for deleting history data.
The following table displays the parameters in the history cleanup utility's summary report:
Parameter | Description |
|---|---|
EXPIRE DAYS(nnn) | Tells the history cleanup utility to remove to remove history data that has not been updated in the specified number of days (represented by nnn). |
EXPIRE DSN=mask | Selects the history data that is data-set oriented. The default is DSN=* |
EXPIRE JOB=mask | Selects history data that is job-name oriented. The default is JOB=* The variable mask represents a simple prefix. Because the utility does not differentiate for wildcards, it considers PPM and PPM* to be identical. For example, JOB=PPM includes all jobs that have names beginning with PPM. |
SUMMARY | Summarizes the action of the utility and writes the report to the REPORT DD statement. The report shows the number of read records, the records pertaining to Data Optimizer, and the number of deleted records. SUMMARY is the default action. |
DETAIL | Reports the summary information and writes the key of each record that has been deleted. |
The following example shows deleted records and the history cleanup summary for the Data Optimizer:
Control Cards follow:
DETAIL
EXPIRE DAYS(400)
/*
Deleted records follow:
Date Time Key (Dsn/Pgm) or (Job, Step, Procedure, Pgm, DD)
---------- -------- ------------------------------------------------------
04/17/2015 16:12.23 DOTST005 COMPNLMO COBOL006 KSDSXDD
04/17/2015 16:12.25 DOTST007 VSAM0001 CONF0001 VSAMIN
04/17/2015 16:12.33 DOTST010 VSAM0002 VSAM0002 VSAMIN
04/17/2015 16:12.48 DOTST014 OPEN001 X KSDS1DD
04/17/2015 16:12.48 DOTST014 OPEN002 X KSDS1DD
02/23/2015 13:53.57 DOTST017 VSAMWDAP SAS SKTHRED KSDS
01/09/2014 10:29.26 PPMDAPHP ADVANCED SAS SKTHRED KSDS
02/16/2014 09:34.41 PPMNTUNE VSAMSEQ VSAMSEQP DD1
02/17/2014 11:31.23 PPMQHLSR VSAMDIRS VSAMDIRS DD1
01/31/2014 10:10.14 VCOKOP01 VSAMLOAD SAS SKTHRED KSDS
Data Optimizer History Clean up Summary
Number of records read: 5533
Number of Data Optimizer history records processed: 10
Number of Data Optimizer history records deleted: 10
Number of records kept: 5523
To run the history cleanup utility
- Shut down the BMC AMI Batch Optimizer subsystem by determining the subsystem identifier (the default is MBOS) and issuing the SHUTDOWN command.
- Customize the member DAPUCLN1 in the XXSAMP data set. DAPUCLN1 provides customization instructions.
- Execute DAPUCLN1.
Examine the REPORT DD statement in DAPUCLN1 to verify that utility deleted the correct data sets.
Execute DAPUCLN.
- Start the BMC AMI Batch Optimizer subsystem.
Related topics