ONLINCREASE: Allocating Appended ASSO or DATA Space Dynamically

Use the ADADBS ONLINCREASE function to dynamically increase the size of the last existing ASSO or DATA data set for the database. Running this utility function will trigger Adabas to extend the data set, format the appended space, and allocate the space to the database. This makes new space available for use in the database.

Note:
This database function is supported only in z/OS environments.

In contrast to the INCREASE function, the ONLINCREASE function does not require a nucleus restart and makes the additional space available in the current nucleus session.

Other than operating system limits, Adabas has no limits on the number of times this function can be executed for the Associator. For Data Storage, Adabas limits the number of executions by the necessity to allocate associated Data Storage Space Table (DSST) space. If the extent information for all Associator, Data Storage, and DSST extents does not fit into the general control blocks (GCBs), multiple DSST extents can be combined using the ADAORD REORDB or REORASSO utility functions, which, however, make the database unavailable for normal application processing.

graphics/adadbs_onlincrease.png

This document covers the following topics:


Essential Parameters

One of the following parameters must be specified. Both parameters may not be specified in the same ADADBS ONLINCREASE statement.

ASSOSIZE: Size of ASSO Data Set Space to be Added

Specify the additional number of blocks or cylinders to be added to the last Associator data set. To specify blocks, append a "B" after the value.

If ASSOSIZE is specified in units of blocks (with suffix "B") and the specified block count is not equivalent to an integral number of tracks on the disk, the ONLINCREASE function reduces the actual size of the increase to the next lower track boundary and sets condition code 4 for the ADADBS execution. The ASSO data set size is increased, just for less than originally requested. The ONLINCREASE function also prints a message, in the following format, listing the number of blocks by which the database has been increased: dddddd has been increased by nnnn BLOCKS.

DATASIZE: Size of DATA Data Set Space to be Added

Specify the additional number of blocks or cylinders to be added to the last Data Storage data set. To specify blocks, append a "B" after the value.

If DATASIZE is specified in units of blocks (with suffix "B") and the specified block count is not equivalent to an integral number of tracks on the disk, the ONLINCREASE function reduces the actual size of the increase to the next lower track boundary and sets condition code 4 for the ADADBS execution. The Data Storage data set size is increased, just for less than originally requested. The ONLINCREASE function also prints a message, in the following format, listing the number of blocks by which the database has been increased: dddddd has been increased by nnnn BLOCKS.

Optional Parameters

The following parameters are optional.

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.

TEST: Test Syntax

The TEST parameter tests the operation syntax without actually performing the operation. Only the syntax of the specified parameters can be tested; not the validity of values and variables.

Note:
The validity of values and variables cannot be tested; only the syntax of the specified parameters can be tested. For more information about using the TEST parameter with ADADBS functions, read Syntax Checking with the TEST Parameter.

Restrictions and Considerations

The following restrictions exist for the use of the ADADBS ONLINCREASE function:

  1. You cannot run this function while the ADARES REGENERATE database or ADARES REGENERATE FILE with CONTINUE utility functions are in progress.

  2. If a nucleus starts and attempts to join an active cluster that is performing an ONLINCREASE operation at the same time, there is a small chance that the start of the new nucleus will fail if it participates only in part of the intracluster communication for the ONLINCREASE. The starting nucleus will get Parm-Error 61 (important fields in the GCB changed while this nucleus was starting). If this happens, restart the nucleus.

  3. If an ADARES REGENERATE database needs to be run for an Adabas session in which an ONLINCREASE operation was performed, consider the following:

    • ADARES will stop the regenerate process at the SYNS-82 checkpoint that was created by the ONLINCREASE operation. Make sure the increased ASSO or DATA data set is available now, if this has not already been done initially.

    • Rerun the original ADADBS ONLINCREASE operation manually to allocate the added ASSO or DATA space to the database.

    • Restart the ADARES REGENERATE utility with the FROMCP and FROMRABN parameters referring to the SYNS-82 checkpoint of the ONLINCREASE.

  4. Users must ensure that there is sufficient RACF authorization available in the nucleus job to allow a dataset to be extended onto a new volume.

    A RACF authorization error during ONLINCREASE could result in a nucleus abend, e.g. system 937 abend with reason code 38.

Example

The following examples show the jobs that could be used to extend the highest-numbered Associator data set (ASSOR3), format the appended space, and allocate it to the database.

If sufficient space is available on the volume or volumes currently comprising the data set, follow example 1. If additional volumes are required to satisfy the online increase request, follow example 2 (for non DFSMS-managed data sets) or 3 (for DFSMS-managed data sets).

Example 1: ONLINCREASE not requiring additional volumes

400 cylinders are to be added to an Associator data set. The control statement for the ONLINCREASE function would be:

ADADBS ONLINCREASE ASSOSIZE=400

Example 2: ONLINCREASE requiring additional volumes (not DFSMS-managed)

400 cylinders are to be added to the final ASSO data set (ASSOR3). The final ASSO data set is a single-volume Associator data set on volume VOL001. For the online increase, the data set needs to extend to volume VOL002.

Before running ADADBS ONLINCREASE, run the following job steps to uncatalog the data set and then recatalog it with the new volume:

//UNCATLG  EXEC PGM=IEFBR14
//DDASSOR3  DD  DSN=ADA.DB123.ASSOR3,DISP=(SHR,UNCATLG)
//*
//RECATLG  EXEC PGM=IEFBR14
//DDASSOR3  DD  DSN=ADA.DB123.ASSOR3,DISP=(SHR,CATLG),
//   UNIT=SYSDA,VOL=SER=(VOL001,VOL002)

The control statement for the ONLINCREASE function would be:

ADADBS ONLINCREASE ASSOSIZE=400

Example 3: ONLINCREASE requiring additional volumes (DFSMS-managed)

400 cylinders are to be added to the final ASSO data set (ASSOR3). For the increase, the data set needs to extend onto another candidate volume belonging to the DFSMS Storage Group.

Before running ADADBS ONLINCREASE, run the following job step to add further candidate volumes to the catalog entry for the data set:

//ADDVOL EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
ALTER ADA.DB123.ASSOR3 ADDVOLUMES(*)
/*

The control statement for the ONLINCREASE function would be:

ADADBS ONLINCREASE ASSOSIZE=400