The CXXMAINT OPTION=ALTER function uses the OPTION2= keyword to activate other features as follows:
The following topics are discussed on this page:
A feature that reduces compression overhead provides an optional search algorithm named DATAFS (DATA FAST SEARCH). The DATAFS algorithm provides possible performance-enhanced searching of multi-table areas and areas with tables that use compression. It is a best practice to have this option set to Y.
Use the ALTER DATAFS option when you want to enable the DATA FAST SEARCH feature.
Previously, each data area that contained a single table that was not compressed was searched for a record using a binary search. The ability to do the binary search was turned on at data load time if a physical block could contain 15 or more data rows. Otherwise, the blocks were searched in a sequential physical order. For large block sizes with small records, such a sequential search could become a significant percentage of MUF CPU usage. Using DATAFS, however, the last 16 bytes of each data block is used by the search algorithm to provide a faster method of finding individual data rows, especially for large block and small row sizes. Once created, these 16 end bytes are stored on DASD with the data.
Reporting DATAFS in Full CXX Report
A full CXX report includes information about DATA FAST SEARCH status, where status in the report is either YES or NO.
This function is secured in the DTUTIL resource class with a resource name ending in CXXMAINT.ALTEROP2. For more information, see the DBUTLTY Resource List. No underlying table rights are checked.
To use the DATA FAST SEARCH option, use the following command:
►►─ CXXMAINT OPTION=ALTER,OPTION2=datafs ─────────────────────────────────────►◄
This section discusses OPTION2=Y_DATAHU/N_DATAHU. A best practice is to set this option to Y.
Use this option when you want to turn on or turn off the "high used mark" option.
When this option is not turned on, each execution of a DBUTLTY LOAD loads the data (if any) then formats the rest of the data set by writing binary zero blocks. It is possible, especially at sites using DASD mirroring, for these formatting writes to overwhelm the system, thereby causing possible performance degradation. Also, without this option turned on, physical retrieval against an area, such as the GETPS command and, for example, the DBUTLTY function BACKUP SEQ=PHYSICAL, requires the entire data set be read even though much of it may never have been used.
After reading the following information, you can decide if this feature is desired at your site. If so, you can turn it on for all data sets in the Directory (CXX). Once turned on, some existing programs and DBUTLTY jobs might execute in less time, because thereafter less than the whole data set area is loaded and (or) read. It is therefore possible that significant performance gains can be realized for sites that frequently load their data or use the GETPS command in programs.
After this option is turned on, the first execution of the DBUTLTY function LOAD after a DBUTLTY function INIT of an area continues to function as it did before this option was turned on. All subsequent LOADS, however, including REORG, and physical retrievals (GSETP command and BACKUP SEQ=PHYSICAL) rely on a special form of the "next available overflow" called the high used mark feature.
The next available overflow is a relative DASD location, part of the data set that has never been actively used by CA Datacom®. The high used mark represents the point up to which LOAD must format the data set and up to which physical retrieval must read. It is the next available overflow number rounded up to 64 tracks.
An INIT of a data area sets the high used mark to zero. A value of zero means LOAD must format the entire data set. At the start of LOAD, the current high used mark is saved and the DASD version is set to zero. If the data LOAD takes less space than the saved copy of the high used mark, the data set is formatted up to that mark. After the data portion of the LOAD is finished but before the index portion of the LOAD is done, the DASD high used mark is updated to indicate the point to which "true data" has been loaded, rounded up to a 64-track boundary. If the LOAD fails during the data portion, the next LOAD must format the entire data set. If the LOAD fails during the index portion, the high used mark is used for formatting.
The runtime code in the MUF that maintains the next available overflow notices each time the next available overflow number crosses a 64-track boundary. If the memory copy of the high used mark is non-zero, MUF reads the data set control block. It then updates the high used mark and immediately writes the data control block.
A GETPS command treats the high used mark as the end of the data set unless the area is not opened for update. If it is not open for update, GETPS reads to the true end of the data set. This is done for the sake of read-only MUFs. LOAD always treats the high used mark as the end of the data set.
If you turn off this option, it reverses the marking of the CXX caused by turning the option on. When an area is opened for update, its compatibility level is checked. If it is level one and the CXX has been marked to stop using the high used mark feature, the compatibility level is reset to 0, the high used mark is zeroed.
To turn the high used mark option on or off, use the following command:
►►─ CXXMAINT OPTION=ALTER,OPTION2=datahu ─────────────────────────────────────►◄
This section discusses OPTION2=Y_AREAEV/N_AREAEV. It is a best practice to have this option set to Y.
Use this option when you want to turn on or turn off data area data set extent validation.
CA Datacom®/DB uses data set extent validation in the following way. When a data area is not open, you can move the current extents to more extents, less extents, or different volumes. The data set may even be uncataloged and then recataloged to add volumes. All tracks of the data set would not be correctly preserved if a mishap should occur during the moving of current extents. CA Datacom® provides a certain amount of protection to avoid the data corruption such mishaps could cause. This option provides even more protection by performing the following steps.
After the open of a data area, the control block is read and verified. The last block on the last track of every extent is then read. This read validates that the block exists and is of the proper size. It is not, however, validated to look proper in content. This option also places a control block as the last block of the data set. It is built during the LOAD or REORG load and moved during an EXTEND or dynamic extend. If this option is turned on, the open process verifies it is correct.
To turn data area data set extent validation on or off, use the following command:
►►─ CXXMAINT OPTION=ALTER,OPTION2=areaev ─────────────────────────────────────►◄
By default, use of Single User mode is blocked, even if secured Single User is allowed. We strongly recommend not using Single User mode.
Use this option when you want to run Single User using the OPTION2=Y_SU option with CXXMAINT or to remove support for Single User using OPTION2=N_SU. This option is provided to the full CXX report and has been added to the DB00271I MUF startup message.
The new Single User option is provided to the full CXX report as follows:
SECURE USING JOBNAME - NO CXX LEVEL - 1
SECURE ALLOWING SINGLE USER - NO SINGLE USER ALLOWED - NO
We have long recommended against using Single User mode. The Single User environment allows no logging and therefore has no restart or recovery capability. In addition, running in Single User bypasses external security. However, CA Datacom® continues to support using Single User mode for the DBUTLTY functions that run Single User and the DBFLSUB feature that loads an area with user program input. Previously, only if the CXX was externally secured did you have the option of using DBUTLTY CXXMAINT OPTION=ALTER,SINGLE=YES to allow Single User mode, or SINGLE=NO to block Single User mode.
If a Single User open that is allowed occurs, message DB00138I is issued, confirming that fact and documenting the Single User execution. For more information, see DB00138I.
To turn Single User mode on or off, use the following command.
►►─ CXXMAINT OPTION=ALTER,OPTION2=sumode ─────────────────────────────────────►◄
This section discusses CXXMAINT ALTER OPTION2=MATCHSID
Use this option when, to allow easy testing in QA systems, you want to change the CXX SIMPLIFY option to match a current DBSIDPR module.
To change the CXX SIMPLIFY option to match a current DBSIDPR module, use the following command (the MUF must not be enabled when you run this function).
►►─ CXXMAINT OPTION=ALTER,OPTION2=MATCHSID,OUTNAME=Sysplex-name ───────────────►◄