The CA Datacom/DB DBUTLTY program provides the majority of database utility functions for the CA Datacom environment. There are over 30 different database utility functions that can be executed using the DBUTLTY program.
During installation of CA Datacom, a default DBMSTLST module is assembled. This default assemble determines the various buffers that are allocated for use when running DBUTLTY. For the many of the important database functions performed by DBUTLTY, the buffers specified by DBMSTLST determine the performance metrics of the DBUTLTY execution, such as, elapsed time, I/Os, and CPU usage.
The default buffer allocations for DBMSTLST are quite small to keep the amount of 31-bit space needed to execute the DBUTLTY program at a minimum. However, in most sites today, there is adequate 31-bit memory available and, using these small default allocations is wasting resources and slowing performance of the DBUTLTY functions.
The following are the default buffer allocations for DBMSTLST:
CXXNO=10 DATANO=15 DXXNO=16 IXXNO=8
During various testing, we have determined that different DBUTLY functions perform better with additional buffers specifications. You can experiment with having different copies of the DBMSTLST module stored in different user libraries. Then, at DBUTLTY execution time, use the library with the DBMSTLST that performs best for that utility function.
For most sites, the multiple DBMSTLST module approach is too complicated and time consuming. While the amount of buffers needed by each DBUTLTY function varies, you should consider the following as a minimal number of buffers in DBTMLST:
CXXNO=10 DATANO=128 DXXNO=64 IXXNO=8
For sites with available space, some additional performance can be gained with the following slightly higher buffers numbers:
CXXNO=10 DATANO=256 DXXNO=512 IXXNO=256
After a new installation process, you should immediately rerun the install job that builds the DBMSTLST module and specify the expanded buffer setting you select.
Business Value
Having the additional buffer sizes when not needed does not slow the processing of the utility. However, having the additional buffers for the functions that need them could greatly improve processing time and resource consumption for the DBUTLTY.
Additional Considerations
Certain DBUTLTY functions, such as BACKUP, EXTRACT, and REORG, allow the specification of the SEQBUFS= in the DBUTLTY control cards. For these utility functions, specifying a value for SEQBUFS overrides the number of buffers specified in the DBMSTLST DATANO parameter. In z/OS sites, if the SEQBUFS is not specified, the value is set to 128. This guarantees that the BACKUP, EXTRACT, and REORG functions have at least 128 data buffers for their processing.
As discussed in the previous section, the default DBUTLTY DBMSTLST module does not specify enough buffers for large DBUTLTY executions. The previous section recommended changes to the DBMSTLST settings to provide a more substantial set of buffers.
However, this approach lacks some flexibility for certain utility operations where more buffers could aid in speeding up the processing. For example, during a DBUTLTY RECOVERY=FORWARD operation having a significantly larger number of IXX, DXX, and data buffers could significantly improve the recovery time and shorten the time it takes to rebuild a database after a failure. However, for other utilities such as a normal backup or extract, these additional buffers may not be beneficial.
For these special cases, the DBUTLTY SET command can be used to override the buffer settings for a given DBUTLTY execution. Once the SET command has been issued, the selected buffer allocation remains in effect until the DBUTLTY execution ends or another SET command is encountered.
Business Value
Using the SET command can allow you to experiment with the number of buffers needed to support long-running DBUTLTY jobs. In some cases, having the ability to add additional buffers to speed recovery or other processing can be critical to sites that have experienced a database outage.
Additional Considerations
The DBUTLTY SET function uses a freeform text processor to pass various commands and settings from the JCL stream to the DBUTLTY program. Providing buffer specifications is just one of the overrides that this function can provide to the DBUTLTY program, as shown in the following example:
SET OPTION1='DATANO=9999;DXXNO=9999;IXXNO=999'
The SET function shows you how to override data buffers to 9999, DXX buffers to 9999 and IXX buffers to 999.
You need to be careful not to set the buffers numbers so high that the DBUTLTY 31-bit memory size exceeds the size of the region's available 31-bit memory. For DBUTLTY functions that also include a sort, some planning must be done to insure there is ample room for the sort's 31-bit memory requirements.
| Copyright © 2012 CA. All rights reserved. | Tell Technical Publications how we can improve this information |