ACCHECK: Check Address Converter against Data Storage

The ADACHK ACCHECK function can be used to check the address converter for a specific file or range of files or for a specific ISN or range of ISNs. It can run while concurrent updates are running. If spanned records are used, ACCHECK assumes any ISNs passed to it are primary ISNs and performs its processing accordingly., The ranges can encompass all files or all ISNs.

If the file being checked has spanned records enabled, the secondary address converter used to map the secondary ISNs to the RABNs of the secondary records is automatically checked as well.

ACCHECK checks each address converter element to determine whether the Data Storage RABN is within the used portion of the Data Storage extents specified in the file control block (FCB).

ACCHECK checks the ISN for each record in each Data Storage block (within the specified ISN range) to ensure that the address converter element for that ISN contains the correct Data Storage RABN.

The syntax of the ADACHK ACCHECK utility function is:

graphics/adachk_accheck.png

This document describes the syntax and parameters of the ACCHECK function.


Essential Parameters

There are no required parameters for this utility function.

Optional Parameters and Subparameters

The following optional parameters can be specified.

ABEND34: Change User Abend 35 to 34

This optional parameter can be used to change a user abend 35 to user abend 34 if a utility error occurs. This ensures that a dump is produced when the utility terminates abnormally.

The NOUSERABEND, TEST, and ABEND34 parameters affect the processing of the entire ADACHK run.

ERRLIM: Error Threshold

The maximum number of errors that this ADACHK utility function will tolerate before terminating. Valid values are any positive integer <=5000. If no valid value is specified for this parameter, a default of "100" is used.

If a value less than 0 or greater than 5000 is specified, the following error will result and the default will be used:

CHK413E, ERROR: Parameter ERRLIM is incorrect.
FILE: Files To Be Checked

The file or single range of files to be checked. If no file or range of files are specified, all files in the database are checked.

ISN: ISN Range To Be Checked

The ISN or range of ISNs to be checked. If no ISN or range of ISNs are specified, the entire range of ISNs (from MINISN through TOPISN) is checked.

LAYOUT: Report Detail Level

The level of data produced for the report. Valid values are described in the following table:

Valid Values Description
SHORT Specify this value to produce the minimum output. This is the default.
MEDIUM Specify this value to produce medium-level output (several interpreted lines).
LONG Specify this value to produce extensively-detailed output.
LWP: Sort Work Pool Size

LWP specifies the size of the work pool to be used for sorting, if SORTTYPE=INTERNAL. It cannot be specified with SORTTYPE=EXTERNAL. The LWP value can be specified in bytes or kilobytes (value followed by a "K"). If no value is specified, the default is 10485760 bytes (or 10240K).

If ADARUN parameter V64BIT=YES has been specified, the work pool is allocated in 64-bit addressable storage, on systems that support it.

The minimum value for LWP is 102,400 (100K). The maximum value is limited by how much 31-bit or 64-bit addressable virtual storage ADACHK can obtain from the system.

When the amount of data to be sorted exceeds the space declared by the LWP parameter, one or two sort data sets defined in the ADACHK job may be used as temporary storage. For more information, read Sort Data Set Considerations. The sort data set(s) should be at least as large as the combined ASSO and DATA extents of the largest file to be processed by ADACHK.

If a sort data set is provided and large enough, the default value of 10 megabytes is sufficient for checking Adabas files of about three gigabytes. For checking larger files, LWP should be increased. As a rule of thumb, an LWP of size n*10 MB supports files sizes of about n*n*3 GB. For example, LWP=102400K (100 megabytes = 10*10 MB) is sufficient for processing files of about 300 gigabytes (= 10*10*3 GB).

It is generally recommended you make LWP larger than the required minimum to reduce the number of I/Os for sorting and thus to improve the performance of ADACHK.

MAXCALLS: Maximum Number of Nucleus Calls

The maximum number of nucleus calls allowed per file. Once this limit is hit, no more nucleus calls can be made and a warning message that the limit has been reached is printed. Valid values are any positive integer, with no upper limit.

The default for MAXCALLS is either the value "200" or the result of the TOPISN setting divided by 100 (TOPISN/100), whichever is greater.

NOSYNC: Transient Error Confirmation

Note:
Use of this parameter is not recommended and is only intended for users who want to limit calls to their nucleus.

Use this parameter to control whether transient errors are confirmed via the active nucleus. If this parameter is specified, no nucleus calls are made and the errors reported may be due to concurrent updates. A warning message is generated informing you.

NOUSERABEND: Termination without Abend

When a parameter error or a functional error occurs while this utility function is running, the utility ordinarily prints an error message and terminates with user abend 34 (with a dump) or user abend 35 (without a dump). If NOUSERABEND is specified, the utility will not abend after printing the error message. Instead, the message "utility TERMINATED DUE TO ERROR CONDITION" is displayed and the utility terminates with condition code 20.

Note:
When NOUSERABEND is specified, we recommend that it be specified as the first parameter of the utility function (before all other parameters). This is necessary to ensure that its parameter error processing occurs properly.

The NOUSERABEND, TEST, and ABEND34 parameters affect the processing of the entire ADACHK run.

SORTTYPE: Sort Type Used

The type of sort to use. Valid values are "INTERNAL" (the default) and "EXTERNAL".

Value Meaning
EXTERNAL An external sort facility will be used to sort the data. For information about operating system considerations related to this option, read SORTTYPE=EXTERNAL Operating System Considerations.
INTERNAL An internal sort facility will be used to sort the data. This is the default. For information about the use of sort data sets with this setting, read Sort Data Set Considerations.
TEST: Test Syntax

The TEST parameter tests the operation syntax without actually performing the operation. Note that the validity of values and variables cannot be tested: only the syntax of the specified parameters can be tested. See Syntax Checking with the TEST Parameter for more information about using the TEST parameter in ADACHK functions.

The NOUSERABEND, TEST, and ABEND34 parameters affect the processing of the entire ADACHK run.

UTYPE: User Type

The user type in effect for the ADACHK run. Valid values are:

Value Identifies
ACC An access-only user. This is the default. When ACC is specified, parallel updates are allowed on the file by normal users (but not by other utility processes).
EXF An exclusive file control user. When EXF is specified, only the ADACHK process can use the file; no other users can read or write to the file in parallel with the ADACHK run.
EXU An exclusive control user. When EXU is specified, parallel reads are allowed on the file by normal users. This option might provide better performance if there are a lot of concurrent updates ongoing.

Examples

The following example checks the address converter for all files in the database. It also checks all related structures in the database for consistency.

ADACHK ACCHECK

The following example checks ISNs 100-200 for file 2. The default INMEMORY sort is used.

ADACHK ACCHECK FILE=2,ISN=100-200