Pertinent ADARUN Parameters for Auditing with Subscription Logging

#### Search Results

Search

# Pertinent ADARUN Parameters for Auditing with Subscription Logging

This section describes the ADARUN settings pertinent to the Adabas Audit Server with Subscription Logging (SLOG) active.

- ASYTVS Parameter: Asynchronous Buffer Flush

- FMXIO Parameter: Parallel LFIOP I/O Operations

- LARGEPAGE Parameter: Large Page Support Option

- LBP Parameter: Length of Buffer Pool

- LDEUQP Parameter: Length of Unique Descriptor Pool

- LFIOP Parameter: Asynchronous Buffer Pool Control

- LP Parameter: Length of Data Protection Area (Work Part 1)

- NH Parameter: Number of Hold Queue Elements

- NISNHQ Parameter: Number of ISNs in Hold Queue per User

## ASYTVS Parameter: Asynchronous Buffer Flush

Parameter | Specify . . . | Possible Values | Default
--- | --- | --- | ---
`ASYTVS` | whether to flush buffers asynchronously based on volume serial number. | YES | NO | NO

#### Specific Product Recommendations

Consider adjusting the value of this parameter when the Auditing SLOG file is defined for use on the Adabas Audit Server, causing audit data to be written and read from the SLOG file.

#### Example

The following example disables the asynchronous buffer flush based on volume.

    ADARUN PROG=ADANUC,ASYTVS=NO

## FMXIO Parameter: Parallel LFIOP I/O Operations

Parameter | Specify... | ASYTVS= | Minimum | Maximum | Default
--- | --- | --- | --- | --- | ---
`FMXIO` | the maximum number of parallel I/O operations by LFIOP flush processing. | YES | 1 | 16 | 1
NO | 1 | 100 | 60

The LFIOP parameter enables asynchronous buffer flush operation and sets the I/O pool size. The FMXIO parameter sets the limit on the number of I/O operations that can be started in parallel by LFIOP flush processing.

#### Parameter Dependencies

The precise meaning of the FMXIO parameter depends on the setting of the ASYTVS parameter:

- When `ASYTVS=YES` (perform buffer flushes by volume), FMXIO specifies the number of I/Os to be started in parallel on each volume. The minimum and default number is 1; the maximum number is 16. If the specified number exceeds that, it is automatically reduced to 16.

- When `ASYTVS=NO` (perform buffer flushes in ascending RABN sequence without regard to the distribution of the blocks over volumes), FMXIO specifies the number of I/Os to be started in parallel overall. The minimum number is 1, the maximum value is 100, and the default is 60.

#### Dynamic Modification

The setting of FMXIO can be modified dynamically using the command `FMXIO=nnn` from the operator console or the Modify Parameter function of Adabas Online System.

#### Specific Product Recommendations

Consider adjusting the value of this parameter when the Auditing SLOG file is defined for use with the Adabas Audit Server, causing audit data to be written and read from the SLOG file.

#### Example

The following example specifies that a maximum of 30 I/O operations for asynchronous buffer flushes can be started in parallel:

    ADARUN PROG=ADANUC,ASYTVS=NO,FMXIO=30

## LARGEPAGE Parameter: Large Page Support Option

Parameter | Specify . . . | Possible Values | Default
--- | --- | --- | ---
`LARGEPAGE` | whether or not the Adabas nucleus should use page-fixed one-megabyte (1MB) large pages of real storage above the two-gigabyte (2GB) bar (`LARGEPAGE=L64`) or page-fixed 2GB large pages above the 2GB bar (`LARGEPAGE=G64`). | G64 | L64 | NO | YES | NO

Value | Meaning
--- | ---
G64 | The Adabas nucleus will attempt to acquire virtual storage above the 2GB bar backed by page-fixed 2GB large pages. The virtual storage will be backed by large pages if the operating system supports them and if sufficient large pages are available in the system. If insufficient large pages are available, the virtual storage above the 2GB bar will be backed by pageable four-kilobyte (4KB) pages. You can specify `LARGEPAGE=G64` only if the ADARUN V64BIT parameter is set to 'YES'. The `LARGEPAGE=G64` setting does not apply to the flush I/O pool, Work and PLOG I/O buffers, or cast-out directory buffer (in a cluster environment). Currently it applies only to ADARUN parameter LAP (in an Adabas Auditing environment) in the Adabas nucleus (but not in the Adabas Audit Server). Note Allocation requests for storage to be backed by 2GB large pages are rounded up to the nearest multiple of two gigabytes. Any difference between the specified size and the allocated size will remain unused. For this reason, we recommend that you specify a multiple of two gigabytes for any storage area to which the `LARGEPAGE=G64` setting applies, to avoid leaving a potentially large amount of allocated storage unused. If `LARGEPAGE=G64` is specified and 2GB large pages are not available for allocation, the specified size will be rounded up to the nearest multiple of one megabyte, and the storage will not be backed by large pages. A console message will report on this case.
L64 or YES | The Adabas nucleus will attempt to acquire virtual storage above the 2GB bar backed by page-fixed 1MB large pages. The virtual storage will be backed by large pages if the operating system supports them and if sufficient large pages are available in the system. If insufficient large pages are available, the virtual storage above the 2GB bar will be backed by pageable 4K pages. A value of 'YES' is equivalent to specifying a value of 'L64'. You can specify `LARGEPAGE=L64` or `LARGEPAGE=YES` only if the ADARUN V64BIT parameter is set to 'YES'.
NO | Virtual storage above the 2GB bar will be backed by 4KB pages. This is the default value.

The amount of storage in your operating system available for page-fixed 1MB or 2GB large pages is set using the LFAREA parameter in PARMLIB member IEASYSxx. For complete information on the LFAREA parameter, refer to the information provided by IBM (search for LFAREA IBM zOS).

#### Example

The following example requests that the Adabas nucleus should make use of virtual storage above the 2GB bar and should use 1MB large pages.

    ADARUN PROG=ADANUC,LARGEPAGE=YES,V64BIT=YES

## LBP Parameter: Length of Buffer Pool

Parameter | Specifies | Minimum | Maximum | Default
--- | --- | --- | --- | ---
`LBP` | the maximum size of the Adabas buffer pool. | 80000 | 2147483647 | 350000

The maximum number of bytes to be used for the Adabas buffer pool during a session.

Adabas allocates the number of bytes specified to the Adabas buffer pool if sufficient memory is available. A minimum of 80000 bytes must be available to successfully initiate a session. For performance reasons, however, Software AG recommends that you specify at least 50000 bytes per thread. Ensure that sufficient memory is available to accommodate the LBP size specified. If asynchronous buffer flush management is used (that is, the LFIOP parameter specifies a nonzero value), the LBP value must be greater than that specified by LFIOP.

In environments running in 31-bit addressing mode, the buffer pool space is allocated above the 16-megabyte line.

The Adabas session statistics or Adabas Online System can be used to tune this parameter for the next session.

The buffer efficiency statistic can be used to determine the optimal size of the parameter.

#### Specific Product Recommendations

Consider adjusting the value of this parameter when the Auditing SLOG file is defined for use on the Adabas Audit Server, causing audit data to be written and read from the SLOG file.

#### Example

The following example allocates a maximum of 800000 bytes to the Adabas buffer pool for this session.

    ADARUN PROG=ADANUC,LBP=800000

## LDEUQP Parameter: Length of Unique Descriptor Pool

Parameter | Specifies | Minimum | Maximum | Default
--- | --- | --- | --- | ---
`LDEUQP` | the size of the unique descriptor pool. | 5000 | 2147483647 | 5000

The unique (UQ) descriptor pool comprises elements that are the length of a unique descriptor value plus 14 bytes. The UQ descriptor pool should be large enough to hold all unique descriptor values that are being changed by all transactions at any point in time.

Adabas will make an entry in this pool every time a unique descriptor value is deleted from or inserted into a file's index. A full update of a unique descriptor value produces two entries: one for the deletion of the old value and one for the insertion of the new value. The entry for an insertion is normally removed as soon as the index update has been performed. The entry for a deletion is removed when the current transaction ends. However, Adabas Cluster Services and Adabas Parallel Services nuclei always keep entries for insertions until the end of the transaction too.

#### Specific Product Recommendations

Consider adjusting the value of this parameter when the Auditing SLOG file is defined for use on the Adabas Audit Server, causing audit data to be written and read from the SLOG file.

#### Example

For example, assuming that the average length of unique descriptor values is about 16 bytes, the following Adabas session can process a maximum of about 1000 unique descriptors at one time.

    ADARUN PROG=ADANUC,LDEUQP=30000

## LFIOP Parameter: Asynchronous Buffer Pool Control

Parameter | Specifies | Minimum | Maximum | Default
--- | --- | --- | --- | ---
`LFIOP` | whether to enable asynchronous buffer flush operation and set the I/O pool size. | 0 | 1 | 80000 | 18446744073709551615 (although this is really limited by the available amount of virtual and real memory) | 0

The asynchronous buffer flush I/O pool enables asynchronous Adabas buffer flush operation and defines the size of the related buffer. Specifying a non-zero value for LFIOP enables asynchronous buffer flush operation. The value specified determines the buffer size in bytes.

If LFIOP is not specified or zero is specified (the default), synchronous buffer flushing is performed. Note that flushing is always synchronous in single-user mode (MODE=SINGLE).

Value | Meaning
--- | ---
0 | No asynchronous buffer flush (the default); flushing is synchronous.
1 | Asynchronous buffer flush operations occur. The flush pool is sized at 25% of the buffer pool (LBP=) size.
n (minimum of 80000) | Asynchronous buffer flush operations occur. The flush pool size is defined by the LFIOP setting (in bytes).

When `LFIOP=1` or `LFIOP=n` and the specified or calculated flush pool size is less than 80000 bytes, Adabas uses a size of 80000 bytes.

In environments running in 31-bit addressing mode, the I/O pool is allocated above the 16-megabyte line.

In environments supporting 64-bit virtual storage, the flush I/O pool is allocated above the 2-gigabyte bar when the V64BIT ADARUN parameter is set to 'YES'.

#### Specific Product Recommendations

Consider adjusting the value of this parameter when the Auditing SLOG file is defined for use on the Adabas Audit Server causing audit data to be written and read from the SLOG file.

#### Example

The following example enables asynchronous buffer flush operation for this session and allocates an I/O pool of 200000 bytes (25% of the LBP size).

    ADARUN PROG=ADANUC,LFIOP=1,LBP=800000

## LP Parameter: Length of Data Protection Area (Work Part 1)

Parameter | Specifies | Minimum | Maximum | Default
--- | --- | --- | --- | ---
`LP` | the number of blocks to allocate to Work part 1. | 200 | see text | 1000

The LP parameter specifies the number of blocks to allocate to the Work data protection area, which is part 1 of the Work data set. This area must be large enough to accommodate the data protection information for the current transaction for all ET logic users. Details can be found in the Adabas Operations Manual > Adabas Restart and Recovery.

The LP parameter is no longer limited to 65535 blocks. However, it is still limited by the size of the Work data set and the sizes of Work parts 2, 3, and 4.

Note
For any pending autorestart processing, Adabas retains and uses the value of the LP parameter from the previous session. If the LP parameter for the new session is specified with a different value than in the previous session, the nucleus will process any autorestart using the old value of LP and establish the new LP size at the end of the autorestart.

#### Specific Product Recommendations

Consider adjusting the value of this parameter when the Auditing SLOG file is defined for use on the Adabas Audit Server, causing audit data to be written and read from the SLOG file.

#### Example

The following example uses 2,000 blocks to store data protection information on the Adabas Work data set.

    ADARUN PROG=ADANUC,LP=2000

## NH Parameter: Number of Hold Queue Elements

Parameter | Specifies | Minimum | Maximum | Default
--- | --- | --- | --- | ---
`NH` | the maximum number of hold queue elements. | 20 | 16777215 | 20

One hold queue element is required for each record (ISN) placed in hold status. A hold queue element is released when the record is released from hold status.

The hold queue is normally used to hold ISNs for the duration of a transaction. Therefore, NH should be large enough to contain at least the average number of ISNs held per transaction multiplied by the maximum number of transactions running in parallel.

One hold queue element takes 52 bytes of storage. In environments running in 31-bit addressing mode, the hold queue is allocated above the 16-megabyte line.

Each shared hold request with a different command ID (CID), as well as a (shared or exclusive) hold request without a CID, is counted against the NH limit.

The Adabas session statistics or Adabas Online System can be used to tune this parameter for the next session.

#### Specific Product Recommendations

Consider adjusting the value of this parameter when the Auditing SLOG file is defined for use on the Adabas Audit Server, causing audit data to be written and read from the SLOG file.

#### Example

The following example runs the Adabas nucleus with a maximum of 2000 elements in the hold queue.

    ADARUN PROG=ADANUC,NH=2000

## NISNHQ Parameter: Number of ISNs in Hold Queue per User

Parameter | Specifies | Minimum | Maximum | Default
--- | --- | --- | --- | ---
`NISNHQ` | the maximum number of records that can be placed in hold status at the same time by one user. | 1 | 16777215 (NH parameter maximum) | (NH / NU) * 2 or 20, whichever is larger

NISNHQ determines the maximum number of held ISNs the hold queue (see the NH parameter description) can contain from one user. The maximum value allowed for this parameter is the value set for the NH ADARUN parameter (which has a maximum value of 16777215). The default is the greater of either 20 or the number of ISNs the hold queue can contain divided by the number of users, multiplied by two.

A user who attempts to place more records in hold status than permitted receives response code 47 (ADARSP047), subcode 1.

Each shared hold request with a different command ID (CID), as well as a (shared or exclusive) hold request without a CID, is counted against the NISNHQ limit.

#### Specific Product Recommendations

Consider adjusting the value of this parameter when the Auditing SLOG file is defined for use on the Adabas Audit Server, causing audit data to be written and read from the SLOG file.

#### Overriding the Parameter Setting

You can override this parameter setting for an individual user by specifying a different value in the Adabas control block for an OP command. See the discussion of the OP command in the Adabas for Mainframes > Command Reference.

#### Example

In the following example, the maximum number of records that may be in hold status for a single user is set at 100.

    ADARUN PROG=ADANUC,NISNHQ=100,NH=450...

In the following example, NISNHQ is not specified. The maximum number of records that may be in hold status for a single user is 80 (the NISNHQ default of (NH / NU) * 2, which is greater than the alternative default of 20).

    ADARUN PROG=ADANUC,NU=50,NH=2000...
    ADARUN PROG=ADANUC,NT=20

### On this page

- ASYTVS Parameter: Asynchronous Buffer Flush
- FMXIO Parameter: Parallel LFIOP I/O Operations
- LARGEPAGE Parameter: Large Page Support Option
- LBP Parameter: Length of Buffer Pool
- LDEUQP Parameter: Length of Unique Descriptor Pool
- LFIOP Parameter: Asynchronous Buffer Pool Control
- LP Parameter: Length of Data Protection Area (Work Part 1)
- NH Parameter: Number of Hold Queue Elements
- NISNHQ Parameter: Number of ISNs in Hold Queue per User