Adabas Utility Execution

The Adabas Utilities documentation contains detailed information about the function and execution of each Adabas utility.

You can use Adabas Online System to execute various utility functions online.

This document covers the following topics:


Condition and Termination Codes

Refer to the Adabas messages and codes documentation for detailed descriptions of the condition and termination code meanings for each utility.

The following condition codes can be set by an Adabas utility:

Code The utility operation ...
0 was successful.
4 was successful but encountered a warning condition.

With the ADACHK utility, a return code of 4 indicates that either the number of unreachable index blocks is greater than zero or any CHKnnnW (warning) message was received.

8 encountered an error condition but then continued.

With the ADACHK utility, a return code of 8 indicates that a database inconsistency was encountered.

16 was successful in its main function but then encountered an error condition.
20 could not be completed. The operation encountered an error condition but did not terminate abnormally because NOUSERABEND was specified.

For errors that occur during the execution of a utility, the following termination codes are returned:

Code The utility terminated . . .
34 with a dump.
35 without a dump.
36 with a dump. Termination was caused by an I/O error while writing to DDDRUCK or DDPRINT. Check the JCL.

Utility Usage of Files and Databases

The table in this section shows the type of file/database usage required for each utility, the database status required, whether the Adabas nucleus must be active while an Adabas utility is running, and whether the function creates an entry in the data integrity block (DIB).

Any utility that requires a nucleus can be used in single-user mode, provided that the nucleus JCL statements are specified.

Utility Function File/DB Usage Database Activity Permitted? Adabas Nucleus Status? DIB Entry Created
ADACDC All n/a Permitted Active or Inactive NO
ADACHK ACCHECK ACC Permitted Active or Inactive YES
CHECK Permitted Active or Inactive YES
DSCHECK Permitted Active or Inactive YES
ICHECK Permitted Active or Inactive YES
VALIDATE Permitted Active or Inactive YES
All other functions n/a Permitted Active or Inactive NO
ADACMP Compress FDT=... ACC   Active NO
Compress data n/a Permitted Active or Inactive NO
Decompress data n/a Permitted Active or Inactive NO
Decompress        
INFILE=... EXU (EXF)   Active NO
ADACNV All (1) Not Permitted Inactive YES
With TEST parameter ACC Permitted Active or Inactive NO
ADADBS ONLADD n/a Permitted Active NO
ONLINCREASE n/a Permitted Active NO
OPERCOM DDIB n/a Permitted Active or Inactive NO
RECOVER UTI (5) Active NO
RESETDIB n/a Permitted Active or Inactive NO
RESETPPT n/a Not Permitted (7) Inactive (7) NO
others ACC, UTI or EXF Permitted (4) Active NO
ADADEF All (1) Not Permitted Inactive NO
ADADRU All n/a Permitted Active or Inactive NO
ADAFRM Formatting other than TEMP/SORT data set n/a Not Permitted Inactive NO
Formatting TEMP/SORT data set n/a Permitted Active or Inactive NO
Formatting single blocks n/a Permitted Active or Inactive NO
ADAINV All EXU or UTI Permitted Active YES
ADALOD All UTI Permitted Active or Inactive YES
ADAMER ADAM estimation n/a Permitted Active or Inactive NO
ADAORD REORDER A/D/DB (1) Not Permitted Active YES
REORDER FILE (A) EXU or UTI(2) Permitted Active YES
REORDER FILE (D) EXU or UTI(2) Permitted Active YES
REORDER FILE EXU or UTI(2) Permitted Active YES
RESTRUCTURE DB (1) Not Permitted Active YES
RESTRUCTURE FILE (EXU (2) Permitted Active YES
STORE UTI Permitted Active YES
ADAPLP All n/a Permitted Active or Inactive NO
ADARAI DISABLE        
PREPARE        
REMOVE CHKDB n/a Permitted Inactive NO
LIST        
RECOVER n/a Permitted Active or Inactive NO
ADAREP Database reporting n/a Permitted Active or Inactive NO
CPLIST/CPEXLIST ACC Permitted Active NO
ADARES Regenerate file        
Backout file UTI (3) Permitted Active NO
Regenerate        
Backout (1) Not Permitted Active NO
Copy n/a Permitted Active or Inactive NO
Copy dual/multi log n/a Permitted Active or Inactive NO
Repair UTI Permitted Active NO
ADASAV Save file UTS Permitted Active or Inactive YES
Save database UTS Permitted (6) Active or Inactive YES
Restore file UTI Permitted Active or Inactive YES
Restore database (1) Not Permitted Inactive YES
Restore protection log (1) Not Permitted Inactive YES
ADASEL Select protection log data n/a Permitted Active or Inactive NO
ADAULD Unload file EXU or EXF Permitted Active NO
Unload file from save tape n/a Permitted Active or Inactive NO
ADAWRK Work area recovery reports n/a Not Permitted Inactive NO
ADAZAP All (1) Not Permitted Inactive NO
ADAZIN Lists maintenance and status information about Adabas load modules and status information about the Adabas SVC n/a Permitted Active or Inactive NO

The codes used in the File/Database Usage column of this table and the footnotes used in the table are now described.

File/Database Usage Codes and Notes

Code Meaning
n/a Does not apply.
ACC Access-only usage: other users may access and update the file/database.
EXF Exclusive file control: other users may not access or update the file.
EXU Exclusive file update: other users may not update the file.
UTI Utility update control: other users may not access or update the file.
UTS Utility SAVE control: other users may access and update the file.
UPD Update/ET user status does not apply to utilities. Utilities cannot be timed out.

Footnotes

Code Meaning
(1) Exclusive database control: no other database activity is permitted.
(2) Exclusive database control if the checkpoint or security file is involved; otherwise, read-only access is allowed during the read phase of utility operation.
(3) Exclusive database control if the CONTINUE parameter is specified.
(4) When completed, ADADBS ADD/INCREASE end the nucleus session to permit reallocation and formatting.
(5) ADADBS RECOVER cannot run when other UTI utilities are running.
(6) When running ADASAV SAVE with an active nucleus (online), no other utilities can be run which update the database.
(7) ADADBS RESETPPT must be run in MODE=MULTI, with the nucleus down. The reason for this is that utilities run in MODE=SINGLE activate the Adabas nucleus, which causes a new PPT to be written. This is not allowed when trying to reset the PPT.

Disk Accesses by Utility and Function

The following table lists the data sets that each utility function accesses on disk:

Utility Function Data Set Accessed Directly
ADACDC all ASSO
ADACHK ACCHECK ASSO, DATA, SORT (if SORTTYPE=INTERNAL)
ASSOPRINT ASSO, DATA
CHECK ASSO, DATA, SORT (if SORTTYPE=INTERNAL)
CLOGPRINT ASSO, DATA, CLOG
DATAPRINT ASSO, DATA
DSCHECK ASSO, DATA, SORT (if SORTTYPE=INTERNAL)
DSIMPRINT ASSO, DATA, DSIM
DSSTPRINT ASSO, DATA
FCBPRINT ASSO, DATA
FDTPRINT ASSO, DATA
FSTPRINT ASSO, DATA
GCBPRINT ASSO, DATA
ICHECK ASSO, DATA
NIPRINT ASSO, DATA
PLOGPRINT ASSO, DATA, PLOGs
PPTPRINT ASSO, DATA
RLOGPRINT ASSO, DATA, RLOG
SORTPRINT ASSO, DATA, SORT
TEMPPRINT ASSO, DATA. TEMP
UIPRINT ASSO, DATA
VALIDATE ASSO, DATA, SORT (if SORTTYPE=INTERNAL)
WORKPRINT ASSO, DATA, WORK
ADACMP all n/a
ADACNV all ASSO, DATA, WORK, dual PLOG if specified
ADADBS ONLADD ASSO, DATA (as specified)
ONLINCREASE ASSO, DATA (as specified)
OPERCOM DDIB, RESETDIB ASSO, if nucleus is down
others n/a
ADADEF DEFINE
NEWWORK
ASSO, DATA, WORK
ASSO, WORK
ADADRU all ASSO, DATA
ADAFRM ASSOFRM, ASSORESET ASSO
CLOGFRM CLOG
DATAFRM, DATARESET DATA
PLOGFRM PLOG
RLOGFRM RLOG
SORTFRM SORT
TEMPFRM TEMP
WORKFRM, WORKRESET WORK
others ASSO
ADAINV all ASSO
ADALOD all ASSO, DATA, WORK
ADAMER all n/a
ADAORD REORDB, REORFILE, REORDATA, REORFDATA, STORE ASSO, DATA
REORASSO, REORFASSO, RESTRUCTUREDB, RESTRUCTUREF ASSO
ADAPLP WORKPRI WORK
PLOGPRI Dual PLOG
others n/a
ADARAI PREPARE, REMOVE ASSO
all others n/a
ADAREP all ASSO; DATA is not required but is recommended because ADAREP tries to print the volume numbers.
report from SAVETAPE* n/a
ADARES CLCOPY, PLCOPY Dual CLOG, PLOG; ASSO is recommended but not required
all others ASSO
ADASAV SAVE DB, SAVE FILE, RESTORE FILE ASSO, DATA; also WORK if nucleus is down
ADASEL all ASSO
ADAULD all n/a
ADAWRK all ASSO, WORK
ADAZAP all ASSO
ADAZAP is to DATA DATA
ADAZAP is to WORK WORK
ADAZIN all ASSO, DATA, WORK

* Adabas makes no attempt to open DATA and ASSO for an ADAREP from a SAVETAPE. For a regular ADAREP, an attempt is made to open DATA.

Possible Resource Conflicts

Note:
See Program Synchronization Using Operating System Services for information about how Adabas uses operating system services to ensure that the start and end of nucleus and utility jobs are synchronized.

An Adabas utility which requires exclusive control of one or more Adabas files will be terminated with an error message under any of the following conditions:

  1. The file has been locked using the operator command LOCKF (or Adabas Online System).

    In this case, you must determine why the file was locked and whether it can now be unlocked. The UNLOCKF operator command (or Adabas Online System) may be used to unlock a locked file.

  2. The file is marked as in use by another Adabas utility.

    Adabas maintains a list of the files used by each Adabas utility in the DIB block (block 3 of the Associator). The DDIB operator command (or Adabas Online System) may be used to display this block to determine which job is using the file in question.

    It is important to note that Adabas will remove entries in the DIB only when a utility terminates normally or with an error message. If a utility terminates abnormally, the files used by that utility remain in use. The DBA may explicitly release any such files with the RESETDIB function of the ADADBS utility. For example, if the job name of the utility using the file is JOBUT1, the following ADADBS parameters would be entered:

    ADADBS RESETDIB JOBNAME=JOBUT1

    If the jobname is not unique, the IDENT parameter must be used to specify the job name qualifier for the abnormally ended utility. The DDIB command (or Adabas Online System) can be used to display the identifier:

    ADADBS RESETDIB IDENT=identifier

    The DIB may also be reset using Adabas Online System.

    Warning:
    The DIB should be reset only if the utility in question actually terminated abnormally. Resetting the DIB for an active utility will cause unpredictable results.
  3. The file is marked as in use by another application (user).

    Adabas creates a user queue element (UQE) when the first Adabas command is received from a user program or Adabas utility. The UQE contains user information (user ID, user type, etc.) and a file list. The file list identifies each file the user is using and the type of file usage. The file-usage type is one of the following:

    Type The file is opened for . . .
    ACC access only
    EXU exclusive update
    EXF exclusive use
    UPD update (ET logic user)

    See the table in the section File and Database Usage for information about file usage by Adabas utilities.

    The file list is deleted as a result of the STOPU operator command (or using Adabas Online System), when an automatic timeout occurs, or when the user issues an Adabas CL (close) command. ET/BT users file lists are released when the user is at ET status.

    Utility functions that modify the database cannot run if there is a pending autorestart, and the nucleus is not active.

    A pending autorestart condition can only be recovered by starting the Adabas nucleus. If the nucleus cannot execute the autorestart successfully, the only valid restart method is to run

    • ADASAV RESTORE (DATABASE); and then

    • ADARES REGENERATE.