Skip to content
CA Datacom Core - 15.0
Documentation powered by DocOps

CXXMAINT ALTER OPTION2= (Activating Other Features)

Last update February 12, 2019

The CXXMAINT OPTION=ALTER function uses the OPTION2= keyword to activate other features as follows:

  • OPTION2=datafs specifies DATA FAST SEARCH (DATAFS) option (see CXXMAINT ALTER OPTION2=datafs (DATAFS Support)).
  • OPTION2=datahu specifies the high used mark option (see CXXMAINT ALTER OPTION2=datahu (High Used Mark)).
  • OPTION2=areaev specifies the data area data set extent validation option (see CXXMAINT ALTER OPTION2=areaev (Data Area Extent Validation)).
  • OPTION2=sumode specifies that you allow Single User using the OPTION2=Y_SU or to disallow Single User using OPTION2=N_SU (see CXXMAINT ALTER OPTION2=sumode (Single User Mode)).
  • OPTION2=MATCHSID specifies that you want to change the setting of Simplify mode, for example, if to allow easy testing in QA systems, you want to change the CXX SIMPLIFY option to match a current DBSIDPR module (see CXXMAINT ALTER OPTION2=MATCHSID). 

The following topics are discussed on this page:

CXXMAINT ALTER OPTION2=datafs (DATAFS Support)

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.

When to Use

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.

Security Considerations

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.

How to Use

To use the DATA FAST SEARCH option, use the following command:

►►─ CXXMAINT OPTION=ALTER,OPTION2=datafs ─────────────────────────────────────►◄

Command

  • CXXMAINT
    Invokes the function for Directory maintenance.

Required Keywords

  • OPTION=ALTER
    Requests the CXXMAINT ALTER option.
  • ,OPTION2=datafs
    Indicates whether to use the DATAFS search algorithm for performance enhanced searching of multi-table areas and areas with tables that use compression.
    Specify datafs as N_DATAFS when you do not want to use DATAFS.
    Specify datafs as Y_DATAFS when you want to use DATAFS. When the DATAFS feature has been turned on, each data block in a Unique Row Identifier (URI) area is eligible to use the new algorithm that includes altering the DASD for a given block. A URI is a sequential number assigned when a row is added or inserted that CA Datacom®/DB uses to identify a row. Areas which qualified for using the binary search algorithm in previous releases continue to use the previous algorithm. Each data block uses the new DATAFS approach if there are a sufficient number of rows in the block to make the new approach worthwhile.
    Once the global DATAFS option is turned on, blocks have the new search criteria built in one of two ways.
    • The search criteria is built and stored at the end of the data block if, as rows are added to new or existing blocks, the search criteria has not yet been built, there are a sufficient number of rows in the block, and the block currently has at least 16 bytes of space available at the end.
    • The DBUTLTY function RETIX,AREA=*DATA builds the search criteria if DATAFS is set to Y for URI data areas that are not using the old style binary search. Because this DBUTLTY already runs in MUF, it allows sites with existing populated URI data areas to build the search criteria in MUF (and on DASD) without taking an area offline. For each individual data block, however, the search criteria can be built only if there are 16 bytes available at the end of the block.
    Because the new DATAFS algorithm needs the last 16 bytes of each data block, it is possible for each existing data area to require more physical DASD space. This includes all methods of newly populating a data area (LOAD, and so on), or inserting rows in an existing data area. There are two exceptions: RECOVERY and LOAD from a RECID backup using data from before DATAFS is set to Y. In these two cases, physical data placement takes precedence over the 16 bytes used by DATAFS.
    • Valid Entries:
      Y_DATAFS or N_DATAFS
    • Default Value:
      (No default)

CXXMAINT ALTER OPTION2=datahu (High Used Mark)

This section discusses OPTION2=Y_DATAHU/N_DATAHU. A best practice is to set this option to Y.

When to Use

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.

How to Use

To turn the high used mark option on or off, use the following command:

►►─ CXXMAINT OPTION=ALTER,OPTION2=datahu ─────────────────────────────────────►◄

Command

  • CXXMAINT
    Invokes the function for Directory maintenance.

Required Keywords

  • OPTION=ALTER
    Requests the CXXMAINT ALTER option.
  • ,OPTION2=datahu
    Sets the "high used mark" feature.
    Specify datahu as N_DATAHU when you do not want to turn on the high used mark feature.
    Specify datahu as Y_DATAHU when you want to turn on the data high used mark feature.
    • Valid Entries:
      Y_DATAHU or N_DATAHU
    • Default Value:
      (No default)

CXXMAINT ALTER OPTION2=areaev (Data Area Extent Validation)

This section discusses OPTION2=Y_AREAEV/N_AREAEV. It is a best practice to have this option set to Y.

When to Use

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.

How to Use

To turn data area data set extent validation on or off, use the following command:

►►─ CXXMAINT OPTION=ALTER,OPTION2=areaev ─────────────────────────────────────►◄

Command

  • CXXMAINT
    Invokes the function for Directory maintenance.

Required Keywords

  • OPTION=ALTER
    Requests the CXXMAINT ALTER option.
  • ,OPTION2=areaev
    Used for turning on and off "data area data set extent validation".
    Specify areaev as N_AREAEV when you do not want to turn on data area data set extent validation.
    Specify areaev as Y_AREAEV when you want to turn on data area data set extent validation.
    • Valid Entries:
      Y_AREAEV or N_AREAEV
    • Default Value:
      (No default)

CXXMAINT ALTER OPTION2=sumode (Single User Mode)

By default, use of Single User mode is blocked, even if secured Single User is allowed. We strongly recommend not using Single User mode.

When to Use

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.

How to Use

To turn Single User mode on or off, use the following command.

►►─ CXXMAINT OPTION=ALTER,OPTION2=sumode ─────────────────────────────────────►◄

Command

  • CXXMAINT
    Invokes the function for Directory maintenance.

Required Keywords

  • OPTION=ALTER
    Requests the CXXMAINT ALTER option.
  • ,OPTION2=sumode
    Use the sumode variable to turn Single User mode on by specifying Y_SU for sumode or to turn Single User support off by specifying N_SU for sumode.
    • Valid Entries:
      Y_SU or N_SU
    • Default Value:
      (No default)

CXXMAINT ALTER OPTION2=MATCHSID

This section discusses CXXMAINT ALTER OPTION2=MATCHSID

When to Use

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.

How to Use

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 ───────────────►◄

Command

  • CXXMAINT
    Invokes the function for CXX maintenance.

Required Keywords

  • OPTION=ALTER
    Requests the CXXMAINT ALTER option.
  • ,OPTION2=MATCHSID
    Specify MATCHSID for OPTION2= when you want to change the CXX SIMPLIFY option to match a current DBSIDPR module to allow easy testing in QA systems.
    The MUF must not be enabled when you run this function.
    To be effective, this function needs to be the first in a DBUTLTY step that causes the CXX to open.
    The CXXMAINT OPTION=ALTER,OPTION2=MATCHSID function causes a second DB00905I message. The first message shows the information from the CXX prior to change. The second message shows the information after the change. For more information about messages and return codes, see Messages.
    For more information about the SIMPLIFY feature, see Administrating.
    • Valid Entries:
      MATCHSID
    • Default Value:
      (No default)
    • Optional Keywords
    • OUTNAME=Sysplex-name
      Specify the Sysplex name that you want to be stored in the CXX. If this parameter is omitted, the Sysplex name of where the DBUTLTY executes is stored.
    • Valid Entries:
      A 1-8 byte character string.
    • Default Value:
      (No default)
Was this helpful?

Please log in to post comments.