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