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:
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. |
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:
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.
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:
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.
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. |
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.
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'