Version 7.4.4
 —  Operations  —

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.
8 encountered an error condition but then continued.
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.

Top of page

File and Database Usage

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.

The following codes are used in the table:

Code Meaning
n/a Does not apply.
  File/Database Usage
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.
* Exclusive database control: no other database activity is permitted.
** Exclusive database control if the checkpoint or security file is involved; otherwise, read-only access is allowed during the read phase of utility operation.
*** Exclusive database control if the CONTINUE parameter is specified.
UPD Update/ET user status does not apply to utilities. Utilities cannot be timed out.
  Database Status
NP Other activity against the database is not permitted.
P Activity against other database files is permitted.
  Adabas Nucleus Status
A Adabas nucleus must be active.
C Adabas nucleus may be active.
N Adabas nucleus must not be active.
Utility Function File/DB Usage Database Activity Adabas Nucleus DIB Entry Created
ADAACK All EXU P C NO
ADACDC All n/a P C NO
ADACMP Compress FDT=...
Compress data
Decompress data
Decompress
INFILE=...
ACC
n/a
n/a

EXU(EXF)

P
P
A
C
C

A
NO
NO
NO

NO
ADACNV All
With TEST parameter
*
ACC
NP
P
N
C
YES
NO
ADADBS All, except:
RECOVER
RESETDIB
OPERCOM DDIB
ACC/UTI
UTI
n/a
n/a
P (1)
(2)
P
P
A
A
C
C
NO
NO
NO
NO
ADADCK All EXU P C NO
ADADEF All * NP N NO
ADAFRM Formatting other than TEMP/SORT dataset
Formatting TEMP/SORT dataset
Formatting single
blocks
n/a

n/a

n/a
NP

P

P
N

C

C
NO

NO

NO
ADAICK ICHECK EXU P C NO
ADAINV All EXU/UTI P A YES
ADALOD All UTI P C YES
ADAMER ADAM estimation n/a P C NO
ADAORD REORDER A/D/DB
REORDER FILE (A)
REORDER FILE (D)
REORDER FILE
RESTRUCTURE DB
RESTRUCTURE FILE
STORE
*
EXU/UTI **
EXU/UTI **
EXU/UTI **
*
EXU **
UTI
NP
P
P
P
NP
P
P
A
A
A
A
A
A
A
YES
YES
YES
YES
YES
YES
YES
ADAPLP All n/a P C NO
ADAPRI Maint print n/a P C NO
ADARAI DISABLE,
PREPARE,
REMOVE CHKDB,
LIST
RECOVER
       
ADAREP Database reporting
CPLIST/CPEXLIST
n/a
ACC
P
P
C
A
NO
NO
ADARES Regenerate file,
Backout file
Regenerate,
Backout
Copy
Copy dual/multi log
Repair

UTI ***

*
n/a
n/a
UTI

P

NP
P
P
P

A

A
A/C
C
A

NO

NO
NO
NO
NO
ADASAV Save file
Save database
Restore file
Restore database
Restore protection log
UTS
UTS
UTI
*
*
P
P (3)
P
NP
NP
C
C
C
N
N
YES
YES
YES
YES
YES
ADASEL Select protection log data n/a P C NO
ADAULD Unload file Unload file from save tape EXU(EXF) n/a P P A C NO NO
ADAVAL Validate EXU P A NO
ADAZAP All * NP N NO

Notes:

  1. When completed, ADADBS ADD/INCREASE end the nucleus session to permit reallocation and formatting.
  2. ADADBS RECOVER cannot run when other utilities are running.
  3. When running ADASAV SAVE with an active nucleus ("online"), no other utilities can be run which update the database.

Top of page

Disk Accesses by Utility and Function

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

Utility Function Disk Accessed Directly
ADAACK all ASSO, DATA
ADACDC all ASSO
ADACMP all n/a
ADACNV all ASSO, DATA, WORK, dual PLOG if specified
ADADBS OPERCOM DDIB, RESETDIB others ASSO, if nucleus is down n/a
ADADCK all ASSO, DATA
ADADEF DEFINE NEWWORK ASSO, DATA, WORK ASSO, WORK
ADAFRM all the dataset to be formatted
ADAICK DATAPRINT, DSCHECK others ASSO, DATA ASSO
ADAINV all ASSO
ADALOD all ASSO, DATA, WORK
ADAMER all n/a
ADAORD REORDB, REORFILE, REORDATA,
REORFDATA, STORE REORASSO, REORFASSO,
RESTRUCTUREDB, RESTRUCTUREF
ASSO, DATA
ASSO
ADAPLP WORKPRI PLOGPRI others WORK Dual PLOG n/a
ADAPRI all ASSO + dataset to be printed
ADARAI PREPARE, REMOVE all others ASSO n/a
ADAREP all

report from SAVETAPE*
ASSO; DATA is not required but is recommended because ADAREP tries to print the volume numbers. n/a
ADARES CLCOPY, PLCOPY

all others
Dual CLOG, PLOG;
ASSO is recommended but not
required ASSO
ADASAV SAVE DB, SAVE FILE, RESTORE FILE ASSO, DATA; also WORK if nucleus is down
ADASEL all ASSO
ADAULD all n/a
ADAVAL all n/a
ADAZAP all ADAZAP is to DATA ADAZAP is to WORK 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.

Top of page

Possible Resource Conflicts

Note:
See Program Synchronization Using Operating System Services for information about how Adabas 7 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

Top of page

Repetitive Utility Execution Under VM/ESA or z/VM

To run the same utility (ADAREP, for example) more than once from an EXEC, the use of EXECOS is strongly recommended; otherwise, utility-dependent program checks can occur. The following example shows how the ADAREP utility could be run under EXECOS:

'EXECOS  EXEC  ADAREP REPCPLST 1'
'NUCXDROP  ADARUN'
'EXECOS  EXEC  ADAREP  REPCPLST 1'

Top of page