Adabas Utilidades
Adabas Utilidades
Adabas Utilidades
1 Utilities
This document applies to Adabas for UNIX and Windows Version 6.1.1 and to all subsequent releases.
Specifications contained herein are subject to change and these changes will be reported in subsequent
release notes or new editions.
The name Software AG and/or all Software AG product names are either trademarks or registered
trademarks of Software AG. Other company and product names mentioned herein may be trademarks of
their respective owners.
Adabas Utilities Adabas Utilities
Table of Contents
Adabas Utilities . . . . . . . . . . . . . . . . . . . 1
Adabas Utilities . . . . . . . . . . . . . . . . . . 1
Conventions . . . . . . . . . . . . . . . . . . . 2
Conventions . . . . . . . . . . . . . . . . . . . 2
Use of character fonts . . . . . . . . . . . . . . . . 2
Syntax conventions . . . . . . . . . . . . . . . . 2
Symbols used in control parameter summaries . . . . . . . . . . 4
Order of parameters . . . . . . . . . . . . . . . . 4
Numeric Values . . . . . . . . . . . . . . . . . 4
Maximum Values . . . . . . . . . . . . . . . . . 5
Syntax diagrams in the HTML documentation . . . . . . . . . . 5
Overview . . . . . . . . . . . . . . . . . . . . 6
Overview . . . . . . . . . . . . . . . . . . . . 6
ADABAS (Starting The Database Nucleus) . . . . . . . . . . . . 11
ADABAS (Starting The Database Nucleus) . . . . . . . . . . . . 11
Functional Overview . . . . . . . . . . . . . . . . 11
Procedure Flow . . . . . . . . . . . . . . . . . . 12
Control Parameters . . . . . . . . . . . . . . . . . 14
DBID . . . . . . . . . . . . . . . . . . . 14
MODE . . . . . . . . . . . . . . . . . . . 14
NODE . . . . . . . . . . . . . . . . . . . 15
ADABCK (Dump And Restore Database Or Files) . . . . . . . . . . 16
ADABCK (Dump And Restore Database Or Files) . . . . . . . . . . 16
Functional Overview . . . . . . . . . . . . . . . . 16
Procedure Flow . . . . . . . . . . . . . . . . . . 17
Checkpoints . . . . . . . . . . . . . . . . . . 19
Control Parameters . . . . . . . . . . . . . . . . . 19
CONTENTS . . . . . . . . . . . . . . . . . . 20
COPY . . . . . . . . . . . . . . . . . . . 21
DBID . . . . . . . . . . . . . . . . . . . 21
DUMP . . . . . . . . . . . . . . . . . . . 21
EXU_DUMP . . . . . . . . . . . . . . . . . . 23
FILES . . . . . . . . . . . . . . . . . . . 24
IOSTAT . . . . . . . . . . . . . . . . . . . 24
OVERLAY . . . . . . . . . . . . . . . . . . 25
PARALLEL . . . . . . . . . . . . . . . . . . 26
READ_CHECK . . . . . . . . . . . . . . . . . 26
RESTORE . . . . . . . . . . . . . . . . . . 27
SUMMARY . . . . . . . . . . . . . . . . . . 28
Restart Considerations . . . . . . . . . . . . . . . . 29
ADACLP (Command Log Report) . . . . . . . . . . . . . . 30
ADACLP (Command Log Report) . . . . . . . . . . . . . . 30
Functional Overview . . . . . . . . . . . . . . . . 30
Procedure Flow . . . . . . . . . . . . . . . . . . 31
Checkpoints . . . . . . . . . . . . . . . . . . 31
Control Parameters . . . . . . . . . . . . . . . . . 31
[NO]ADDITIONS_2 . . . . . . . . . . . . . . . . 32
CLASS . . . . . . . . . . . . . . . . . . . 32
i
Adabas Utilities Adabas Utilities
CLOG . . . . . . . . . . . . . . . . . . . . 33
.
COMMAND . . . . . . . . . . . . . . . . . . 33
.
DATE . . . . . . . . . . . . . . . . . . . . 33
.
DBID . . . . . . . . . . . . . . . . . . . . 34
.
DISPLAY . . . . . . . . . . . . . . . . . . . 35
.
ES_ID . . . . . . . . . . . . . . . . . . . . 35
.
FILE . . . . . . . . . . . . . . . . . . . . 35
.
[NO]HEXADECIMAL . . . . . . . . . . . . . . . . 36
.
LOGIN_ID . . . . . . . . . . . . . . . . . . 36
.
NODE_ID . . . . . . . . . . . . . . . . . . . 36
.
PAGE . . . . . . . . . . . . . . . . . . . . 36
.
RECORDS . . . . . . . . . . . . . . . . . . 36
.
RESPONSE . . . . . . . . . . . . . . . . . . 37
.
USER_ID . . . . . . . . . . . . . . . . . . . 37
.
WIDTH . . . . . . . . . . . . . . . . . . . 37
.
Specifying Multiple Selection Criteria . . . . . . . . . . . . . 37
.
ADACMP (Compression Of Data) . . . . . . . . . . . . . . . 38
.
ADACMP (Compression Of Data) . . . . . . . . . . . . . . 38
.
Functional Overview . . . . . . . . . . . . . . . . . 38
.
Procedure Flow . . . . . . . . . . . . . . . . . . 39
.
Checkpoints . . . . . . . . . . . . . . . . . . . 40
.
Control Parameters . . . . . . . . . . . . . . . . . 40
.
DBID . . . . . . . . . . . . . . . . . . . . 41
.
FDT . . . . . . . . . . . . . . . . . . . . 41
.
FIELDS . . . . . . . . . . . . . . . . . . . 41
.
FILE . . . . . . . . . . . . . . . . . . . . 42
.
MUPE_C_L . . . . . . . . . . . . . . . . . . 43
.
[NO]NULL_VALUE . . . . . . . . . . . . . . . . 43
.
NUMREC . . . . . . . . . . . . . . . . . . . 43
.
RECORD_STRUCTURE . . . . . . . . . . . . . . . 43
.
SEPARATOR . . . . . . . . . . . . . . . . . . 44
.
[NO]SHORT_RECORDS . . . . . . . . . . . . . . . 46
.
[NO]SINGLE_FILE . . . . . . . . . . . . . . . . 46
.
SKIPREC . . . . . . . . . . . . . . . . . . . 46
.
SOURCE_ARCHITECTURE . . . . . . . . . . . . . . 47
.
[NO]USEREXIT . . . . . . . . . . . . . . . . . 48
.
[NO]USERISN . . . . . . . . . . . . . . . . . . 48
.
WCHARSET . . . . . . . . . . . . . . . . . . 48
.
Output . . . . . . . . . . . . . . . . . . . . 49
.
Compressed Data Records . . . . . . . . . . . . . . . 49
.
Descriptor-Value Table File . . . . . . . . . . . . . . . 49
.
Rejected Data Records . . . . . . . . . . . . . . . . 49
.
Report . . . . . . . . . . . . . . . . . . . . 49
.
Restart Considerations . . . . . . . . . . . . . . . . . 49
.
ADADBA (DBA Workbench) . . . . . . . . . . . . . . . . 50
.
ADADBA (DBA Workbench) . . . . . . . . . . . . . . . 50
.
Functional Overview . . . . . . . . . . . . . . . . . 50
.
Procedure Flow . . . . . . . . . . . . . . . . . . 51
.
ADADBM (Database Modification) . . . . . . . . . . . . . . 52
.
ADADBM (Database Modification) . . . . . . . . . . . . . . 52
.
Functional Overview . . . . . . . . . . . . . . . . . 52
.
ii
Adabas Utilities Adabas Utilities
Procedure Flow . . . . . . . . . . . . . . . . . . 54
.
Checkpoints . . . . . . . . . . . . . . . . . . . 56
.
Control Parameters . . . . . . . . . . . . . . . . . 58
.
ADD_CONTAINER . . . . . . . . . . . . . . . . 59
.
ADD_FIELDS . . . . . . . . . . . . . . . . . . 60
.
ALLOCATE . . . . . . . . . . . . . . . . . . 62
.
CHANGE . . . . . . . . . . . . . . . . . . . 62
.
DBID . . . . . . . . . . . . . . . . . . . . 63
.
DEALLOCATE . . . . . . . . . . . . . . . . . 63
.
DELCP . . . . . . . . . . . . . . . . . . . 64
.
DELETE . . . . . . . . . . . . . . . . . . . 65
.
DISPLAY . . . . . . . . . . . . . . . . . . . 65
.
DROP_FIELDS . . . . . . . . . . . . . . . . . 66
.
DROP_LOBFILE . . . . . . . . . . . . . . . . . 66
.
EXTEND_CONTAINER . . . . . . . . . . . . . . . 66
.
NEW_DBID . . . . . . . . . . . . . . . . . . 67
.
NEWWORK . . . . . . . . . . . . . . . . . . 67
.
PGM_REFRESH . . . . . . . . . . . . . . . . . 68
.
RECOVER . . . . . . . . . . . . . . . . . . 68
.
REDUCE_CONTAINER . . . . . . . . . . . . . . . 68
.
REFRESH . . . . . . . . . . . . . . . . . . . 70
.
REMOVE_CONTAINER . . . . . . . . . . . . . . . 70
.
REMOVE_DROP . . . . . . . . . . . . . . . . . 71
.
RENAME . . . . . . . . . . . . . . . . . . . 71
.
RENUMBER . . . . . . . . . . . . . . . . . . 71
.
RESET . . . . . . . . . . . . . . . . . . . 72
.
REUSE . . . . . . . . . . . . . . . . . . . 73
.
Restart Considerations . . . . . . . . . . . . . . . . . 73
.
ADADCU (Decompression Of Data) . . . . . . . . . . . . . . 74
.
ADADCU (Decompression Of Data) . . . . . . . . . . . . . . 74
.
Functional Overview . . . . . . . . . . . . . . . . . 74
.
Procedure Flow . . . . . . . . . . . . . . . . . . 75
.
Checkpoints . . . . . . . . . . . . . . . . . . . 76
.
Control Parameters . . . . . . . . . . . . . . . . . 77
.
[NO]DCUFDT . . . . . . . . . . . . . . . . . . 77
.
FDT . . . . . . . . . . . . . . . . . . . . 77
.
FIELDS . . . . . . . . . . . . . . . . . . . 78
.
MUPE_C_L . . . . . . . . . . . . . . . . . . 78
.
MUPE_OCCURRENCES . . . . . . . . . . . . . . . 78
.
[NO]NULL_VALUE . . . . . . . . . . . . . . . . 79
.
NUMREC . . . . . . . . . . . . . . . . . . . 80
.
RECORD_STRUCTURE . . . . . . . . . . . . . . . 80
.
SKIPREC . . . . . . . . . . . . . . . . . . . 81
.
TARGET_ARCHITECTURE . . . . . . . . . . . . . . 81
.
[NO]TRUNCATION . . . . . . . . . . . . . . . . 81
.
[NO]USERISN . . . . . . . . . . . . . . . . . . 82
.
WCHARSET . . . . . . . . . . . . . . . . . . 82
.
Input and Output Data . . . . . . . . . . . . . . . . . 82
.
ADADCU Output . . . . . . . . . . . . . . . . . 83
.
Rejected Data Records . . . . . . . . . . . . . . . . 83
.
Restart Considerations . . . . . . . . . . . . . . . . . 83
.
iii
Adabas Utilities Adabas Utilities
iv
Adabas Utilities Adabas Utilities
DSRABN . . . . . . . . . . . . . . . . . . . 106
.
DSSIZE . . . . . . . . . . . . . . . . . . . 106
.
FDT . . . . . . . . . . . . . . . . . . . . 107
.
FILE . . . . . . . . . . . . . . . . . . . . 107
.
[NO]FORMAT . . . . . . . . . . . . . . . . . . 107
.
LOBFILE . . . . . . . . . . . . . . . . . . . 107
.
MAXISN . . . . . . . . . . . . . . . . . . . 108
.
NAME . . . . . . . . . . . . . . . . . . . 109
.
NIBLOCKSIZE . . . . . . . . . . . . . . . . . 109
.
NIRABN . . . . . . . . . . . . . . . . . . . 109
.
NISIZE . . . . . . . . . . . . . . . . . . . 110
.
[NO]PGM_REFRESH . . . . . . . . . . . . . . . . 110
.
REUSE . . . . . . . . . . . . . . . . . . . 110
.
UIBLOCKSIZE . . . . . . . . . . . . . . . . . 111
.
UIRABN . . . . . . . . . . . . . . . . . . . 112
.
UISIZE . . . . . . . . . . . . . . . . . . . 112
.
Examples . . . . . . . . . . . . . . . . . . . 113
.
ADAFIN (File Information Report) . . . . . . . . . . . . . . 114
.
ADAFIN (File Information Report) . . . . . . . . . . . . . . 114
.
Functional Overview . . . . . . . . . . . . . . . . . 114
.
Procedure Flow . . . . . . . . . . . . . . . . . . 115
.
Checkpoints . . . . . . . . . . . . . . . . . . . 115
.
Control Parameters . . . . . . . . . . . . . . . . . 115
.
ADAM_DS . . . . . . . . . . . . . . . . . . 116
.
DBID . . . . . . . . . . . . . . . . . . . . 116
.
DESCRIPTOR . . . . . . . . . . . . . . . . . . 117
.
FDT . . . . . . . . . . . . . . . . . . . . 121
.
FILE . . . . . . . . . . . . . . . . . . . . 122
.
[NO]HISTOGRAM . . . . . . . . . . . . . . . . . 122
.
USAGE . . . . . . . . . . . . . . . . . . . 124
.
ADAFRM (Format And Create A New Database) . . . . . . . . . . . 127
.
ADAFRM (Format And Create A New Database) . . . . . . . . . . . 127
.
Functional Overview . . . . . . . . . . . . . . . . . 127
.
Procedure Flow . . . . . . . . . . . . . . . . . . 128
.
Checkpoints . . . . . . . . . . . . . . . . . . . 129
.
Control Parameters . . . . . . . . . . . . . . . . . 129
.
ASSOBLOCKSIZE . . . . . . . . . . . . . . . . . 129
.
ASSOSIZE . . . . . . . . . . . . . . . . . . 129
.
DATABLOCKSIZE . . . . . . . . . . . . . . . . 130
.
DATASIZE . . . . . . . . . . . . . . . . . . 130
.
DBID . . . . . . . . . . . . . . . . . . . . 130
.
NAME . . . . . . . . . . . . . . . . . . . 130
.
SORTSIZE . . . . . . . . . . . . . . . . . . 131
.
SYSFILES . . . . . . . . . . . . . . . . . . . 131
.
TEMPSIZE . . . . . . . . . . . . . . . . . . 131
.
WORKBLOCKSIZE . . . . . . . . . . . . . . . . 131
.
WORKSIZE . . . . . . . . . . . . . . . . . . 132
.
Restart Considerations . . . . . . . . . . . . . . . . . 132
.
Control Statement Examples . . . . . . . . . . . . . . . 132
.
v
Adabas Utilities Adabas Utilities
vi
Adabas Utilities Adabas Utilities
DBID . . . . . . . . . . . . . . . . . . . . 163
.
LAB . . . . . . . . . . . . . . . . . . . . 163
.
LBP . . . . . . . . . . . . . . . . . . . . 163
.
LOGGING . . . . . . . . . . . . . . . . . . 164
.
LPXA . . . . . . . . . . . . . . . . . . . . 165
.
LWP . . . . . . . . . . . . . . . . . . . . 165
.
MGC . . . . . . . . . . . . . . . . . . . . 165
.
NCL . . . . . . . . . . . . . . . . . . . . 166
.
NISNHQ . . . . . . . . . . . . . . . . . . . 166
.
NT . . . . . . . . . . . . . . . . . . . . 166
.
NU . . . . . . . . . . . . . . . . . . . . 167
.
OPTIONS . . . . . . . . . . . . . . . . . . . 167
.
[NO]PLOG . . . . . . . . . . . . . . . . . . 169
.
TNAA . . . . . . . . . . . . . . . . . . . 169
.
TNAE . . . . . . . . . . . . . . . . . . . . 170
.
TNAX . . . . . . . . . . . . . . . . . . . 170
.
TT . . . . . . . . . . . . . . . . . . . . 171
.
UNBUFFERED . . . . . . . . . . . . . . . . . 172
.
USEREXITS . . . . . . . . . . . . . . . . . . 172
.
WRITE_LIMIT . . . . . . . . . . . . . . . . . 173
.
Summary of ADANUC Parameters . . . . . . . . . . . . . . 173
.
ADAOPR (Operator Utility) . . . . . . . . . . . . . . . . 176
.
ADAOPR (Operator Utility) . . . . . . . . . . . . . . . . 176
.
Functional Overview . . . . . . . . . . . . . . . . . 176
.
Procedure Flow . . . . . . . . . . . . . . . . . . 176
.
Checkpoints . . . . . . . . . . . . . . . . . . . 177
.
Control Parameters . . . . . . . . . . . . . . . . . 178
.
ABORT . . . . . . . . . . . . . . . . . . . 179
.
BFIO_PARALLEL_LIMIT . . . . . . . . . . . . . . . 179
.
CANCEL . . . . . . . . . . . . . . . . . . . 180
.
CLEAR_FILE_STATS . . . . . . . . . . . . . . . . 180
.
CSA . . . . . . . . . . . . . . . . . . . . 180
.
DBID . . . . . . . . . . . . . . . . . . . . 182
.
DISPLAY . . . . . . . . . . . . . . . . . . . 182
.
ES_ID . . . . . . . . . . . . . . . . . . . . 197
.
[NO]ET_SYNC . . . . . . . . . . . . . . . . . 198
.
EXT_BACKUP . . . . . . . . . . . . . . . . . 198
.
FEOF . . . . . . . . . . . . . . . . . . . . 199
.
FILE . . . . . . . . . . . . . . . . . . . . 200
.
ID . . . . . . . . . . . . . . . . . . . . 200
.
ISN . . . . . . . . . . . . . . . . . . . . 200
.
[UN]LOCK . . . . . . . . . . . . . . . . . . 200
.
LOGGING . . . . . . . . . . . . . . . . . . 200
.
LOGIN_ID . . . . . . . . . . . . . . . . . . 201
.
MGC . . . . . . . . . . . . . . . . . . . . 201
.
NISNHQ . . . . . . . . . . . . . . . . . . . 201
.
NODE_ID . . . . . . . . . . . . . . . . . . . 202
.
OPTIONS . . . . . . . . . . . . . . . . . . . 202
.
RESET . . . . . . . . . . . . . . . . . . . 202
.
[NO]RESPONSE_ABORT . . . . . . . . . . . . . . . 202
.
RESPONSE_CHECK . . . . . . . . . . . . . . . . 203
.
vii
Adabas Utilities Adabas Utilities
SET_FILE_STATS . . . . . . . . . . . . . . . . . 204
.
SHUTDOWN . . . . . . . . . . . . . . . . . . 204
.
STATUS . . . . . . . . . . . . . . . . . . . 204
.
STOP . . . . . . . . . . . . . . . . . . . . 205
.
TNAA . . . . . . . . . . . . . . . . . . . 206
.
TNAE . . . . . . . . . . . . . . . . . . . . 206
.
TNAX . . . . . . . . . . . . . . . . . . . 207
.
TT . . . . . . . . . . . . . . . . . . . . 207
.
USER_ID . . . . . . . . . . . . . . . . . . . 207
.
WRITE_LIMIT . . . . . . . . . . . . . . . . . 207
.
XA_RESPONSE_CHECK . . . . . . . . . . . . . . . 208
.
ADAORD (Reorder Database Or Files, Export/Import Files) . . . . . . . . 210
.
ADAORD (Reorder Database Or Files, Export/Import Files) . . . . . . . . . 210
.
Functional Overview . . . . . . . . . . . . . . . . . 210
.
Procedure Flow . . . . . . . . . . . . . . . . . . 211
.
Checkpoints . . . . . . . . . . . . . . . . . . . 212
.
Control Parameters . . . . . . . . . . . . . . . . . 213
.
CONTENTS . . . . . . . . . . . . . . . . . . 214
.
DBID . . . . . . . . . . . . . . . . . . . . 215
.
EXPORT . . . . . . . . . . . . . . . . . . . 215
.
FILES . . . . . . . . . . . . . . . . . . . . 216
.
IMPORT . . . . . . . . . . . . . . . . . . . 216
.
IMPORT_RENUMBER . . . . . . . . . . . . . . . . 218
.
REORDER . . . . . . . . . . . . . . . . . . 221
.
Restart Considerations . . . . . . . . . . . . . . . . . 221
.
Examples . . . . . . . . . . . . . . . . . . . 222
.
ADAPLP (Protection Log Printout) . . . . . . . . . . . . . . 223
.
ADAPLP (Protection Log Printout) . . . . . . . . . . . . . . 223
.
Functional Overview . . . . . . . . . . . . . . . . . 223
.
Procedure Flow . . . . . . . . . . . . . . . . . . 223
.
Checkpoints . . . . . . . . . . . . . . . . . . . 224
.
Control Parameters . . . . . . . . . . . . . . . . . 225
.
DATASET . . . . . . . . . . . . . . . . . . 225
.
DBID . . . . . . . . . . . . . . . . . . . . 226
.
[NO]DECOMPRESSED . . . . . . . . . . . . . . . 226
.
DELTA . . . . . . . . . . . . . . . . . . . 227
.
[NO]DUMP . . . . . . . . . . . . . . . . . . 228
.
FILE . . . . . . . . . . . . . . . . . . . . 228
.
[NO]HEADER . . . . . . . . . . . . . . . . . . 228
.
INTERNAL_ID . . . . . . . . . . . . . . . . . 229
.
ISN . . . . . . . . . . . . . . . . . . . . 229
.
MODIFIED_RABN . . . . . . . . . . . . . . . . 229
.
NOFILETYPE . . . . . . . . . . . . . . . . . . 229
.
NONULL . . . . . . . . . . . . . . . . . . . 230
.
PLOG . . . . . . . . . . . . . . . . . . . . 230
.
RABN . . . . . . . . . . . . . . . . . . . 230
.
RECORD . . . . . . . . . . . . . . . . . . . 231
.
SEQUENCE . . . . . . . . . . . . . . . . . . 231
.
[NO]SHORT . . . . . . . . . . . . . . . . . . 231
.
THREAD . . . . . . . . . . . . . . . . . . . 231
.
TSN . . . . . . . . . . . . . . . . . . . . 232
.
viii
Adabas Utilities Adabas Utilities
TYPE . . . . . . . . . . . . . . . . . . . . 232
.
USER_ID . . . . . . . . . . . . . . . . . . . 233
.
[NO]WXA . . . . . . . . . . . . . . . . . . . 234
.
ADAPLP Output . . . . . . . . . . . . . . . . . . 234
.
ADAPRI (Print Adabas Blocks) . . . . . . . . . . . . . . . 237
.
ADAPRI (Print Adabas Blocks) . . . . . . . . . . . . . . . 237
.
Functional Overview . . . . . . . . . . . . . . . . . 237
.
Procedure Flow . . . . . . . . . . . . . . . . . . 238
.
Checkpoints . . . . . . . . . . . . . . . . . . . 238
.
Control Parameters . . . . . . . . . . . . . . . . . 239
.
DATASET . . . . . . . . . . . . . . . . . . 239
.
DBID . . . . . . . . . . . . . . . . . . . . 239
.
RABN . . . . . . . . . . . . . . . . . . . 239
.
ADAREC (Recovery Of Database Or Files) . . . . . . . . . . . . 241
.
ADAREC (Recovery Of Database Or Files) . . . . . . . . . . . . 241
.
Functional Overview . . . . . . . . . . . . . . . . . 241
.
Procedure Flow . . . . . . . . . . . . . . . . . . 242
.
Checkpoints . . . . . . . . . . . . . . . . . . . 244
.
ADAREC Input Data . . . . . . . . . . . . . . . . . 244
.
Control Parameters . . . . . . . . . . . . . . . . . 244
.
CLOSE . . . . . . . . . . . . . . . . . . . 244
.
DBID . . . . . . . . . . . . . . . . . . . . 245
.
LIST . . . . . . . . . . . . . . . . . . . . 245
.
REGENERATE . . . . . . . . . . . . . . . . . 246
.
Examples . . . . . . . . . . . . . . . . . . . 250
.
ADAREC Restart Considerations . . . . . . . . . . . . . . 255
.
ADAREP (Database Report) . . . . . . . . . . . . . . . . 256
.
ADAREP (Database Report) . . . . . . . . . . . . . . . . 256
.
Functional Overview . . . . . . . . . . . . . . . . . 256
.
Procedure Flow . . . . . . . . . . . . . . . . . . 257
.
Checkpoints . . . . . . . . . . . . . . . . . . . 257
.
Control Parameters . . . . . . . . . . . . . . . . . 257
.
CHECKPOINTS . . . . . . . . . . . . . . . . . 258
.
CONTENTS . . . . . . . . . . . . . . . . . . 259
.
DBID . . . . . . . . . . . . . . . . . . . . 260
.
[NO]FDT . . . . . . . . . . . . . . . . . . . 261
.
FILES . . . . . . . . . . . . . . . . . . . . 261
.
FREE_SPACE . . . . . . . . . . . . . . . . . . 264
.
[NO]FULL . . . . . . . . . . . . . . . . . . 264
.
LAYOUT . . . . . . . . . . . . . . . . . . . 264
.
SUMMARY . . . . . . . . . . . . . . . . . . 266
.
ADASCR (Security Functions) . . . . . . . . . . . . . . . 267
.
ADASCR (Security Functions) . . . . . . . . . . . . . . . 267
.
Functional Overview . . . . . . . . . . . . . . . . . 267
.
Control Parameters . . . . . . . . . . . . . . . . . 267
.
CHANGE . . . . . . . . . . . . . . . . . . . 268
.
DBID . . . . . . . . . . . . . . . . . . . . 269
.
DELETE . . . . . . . . . . . . . . . . . . . 269
.
DISPLAY . . . . . . . . . . . . . . . . . . . 269
.
INSERT . . . . . . . . . . . . . . . . . . . 272
.
PROTECT . . . . . . . . . . . . . . . . . . . 272
.
ix
Adabas Utilities Adabas Utilities
SECURITY_BY_VALUE . . . . . . . . . . . . . . . 273
.
ADATST (Issuing Adabas Commands) . . . . . . . . . . . . . 276
.
ADATST (Issuing Adabas Commands) . . . . . . . . . . . . . 276
.
Functional Overview . . . . . . . . . . . . . . . . . 276
.
Procedure Flow . . . . . . . . . . . . . . . . . . 276
.
Checkpoints . . . . . . . . . . . . . . . . . . . 277
.
Control Parameters . . . . . . . . . . . . . . . . . 277
.
A1 . . . . . . . . . . . . . . . . . . . . 280
.
A2 . . . . . . . . . . . . . . . . . . . . 280
.
A3 . . . . . . . . . . . . . . . . . . . . 280
.
A4 . . . . . . . . . . . . . . . . . . . . 280
.
A5 . . . . . . . . . . . . . . . . . . . . 280
.
A6 . . . . . . . . . . . . . . . . . . . . 280
.
ABD . . . . . . . . . . . . . . . . . . . . 281
.
ALOOP . . . . . . . . . . . . . . . . . . . 281
.
CB . . . . . . . . . . . . . . . . . . . . 281
.
CBDUMP . . . . . . . . . . . . . . . . . . . 281
.
CC . . . . . . . . . . . . . . . . . . . . 281
.
CID . . . . . . . . . . . . . . . . . . . . 282
.
CLOOP . . . . . . . . . . . . . . . . . . . 282
.
CO1 . . . . . . . . . . . . . . . . . . . . 282
.
CO2 . . . . . . . . . . . . . . . . . . . . 282
.
CO3 . . . . . . . . . . . . . . . . . . . . 282
.
CO4 . . . . . . . . . . . . . . . . . . . . 282
.
CO5 . . . . . . . . . . . . . . . . . . . . 283
.
CO6 . . . . . . . . . . . . . . . . . . . . 283
.
CO7 . . . . . . . . . . . . . . . . . . . . 283
.
CO8 . . . . . . . . . . . . . . . . . . . . 283
.
DBID . . . . . . . . . . . . . . . . . . . . 283
.
DLOOP . . . . . . . . . . . . . . . . . . . 283
.
ELOOP . . . . . . . . . . . . . . . . . . . 284
.
ERRORS . . . . . . . . . . . . . . . . . . . 284
.
EXECUTE . . . . . . . . . . . . . . . . . . 284
.
FB . . . . . . . . . . . . . . . . . . . . 284
.
FB2 . . . . . . . . . . . . . . . . . . . . 284
.
FB3 . . . . . . . . . . . . . . . . . . . . 284
.
FBL . . . . . . . . . . . . . . . . . . . . 285
.
FB2L . . . . . . . . . . . . . . . . . . . . 285
.
FB3L . . . . . . . . . . . . . . . . . . . . 285
.
FILE . . . . . . . . . . . . . . . . . . . . 285
.
GO . . . . . . . . . . . . . . . . . . . . 285
.
IB . . . . . . . . . . . . . . . . . . . . 285
.
IBL . . . . . . . . . . . . . . . . . . . . 286
.
INTERFACE . . . . . . . . . . . . . . . . . . 286
.
ISN . . . . . . . . . . . . . . . . . . . . 286
.
ISND . . . . . . . . . . . . . . . . . . . . 286
.
ISNI . . . . . . . . . . . . . . . . . . . . 286
.
ISNL . . . . . . . . . . . . . . . . . . . . 286
.
ISNQ . . . . . . . . . . . . . . . . . . . . 287
.
LOOP . . . . . . . . . . . . . . . . . . . . 287
.
[NO]OUTPUT . . . . . . . . . . . . . . . . . . 287
.
x
Adabas Utilities Adabas Utilities
OVERWRITE_RB . . . . . . . . . . . . . . . . . 287
.
OVERWRITE_RB2 . . . . . . . . . . . . . . . . 287
.
OVERWRITE_RB3 . . . . . . . . . . . . . . . . 288
.
RB . . . . . . . . . . . . . . . . . . . . 288
.
RB2 . . . . . . . . . . . . . . . . . . . . 288
.
RB3 . . . . . . . . . . . . . . . . . . . . 288
.
RBL . . . . . . . . . . . . . . . . . . . . 288
.
RB2L . . . . . . . . . . . . . . . . . . . . 288
.
RB3L . . . . . . . . . . . . . . . . . . . . 289
.
READ_RB . . . . . . . . . . . . . . . . . . 289
.
READ_RB2 . . . . . . . . . . . . . . . . . . 289
.
READ_RB3 . . . . . . . . . . . . . . . . . . 289
.
RESPONSE . . . . . . . . . . . . . . . . . . 289
.
SB . . . . . . . . . . . . . . . . . . . . 289
.
SBL . . . . . . . . . . . . . . . . . . . . 290
.
TIME . . . . . . . . . . . . . . . . . . . . 290
.
[NO]TRACE . . . . . . . . . . . . . . . . . . 290
.
VB . . . . . . . . . . . . . . . . . . . . 290
.
VBL . . . . . . . . . . . . . . . . . . . . 290
.
WAIT . . . . . . . . . . . . . . . . . . . . 290
.
WRITE_RB . . . . . . . . . . . . . . . . . . 291
.
WRITE_RB2 . . . . . . . . . . . . . . . . . . 291
.
WRITE_RB3 . . . . . . . . . . . . . . . . . . 291
.
ADAULD (File Unloading) . . . . . . . . . . . . . . . . 292
.
ADAULD (File Unloading) . . . . . . . . . . . . . . . . 292
.
Functional Overview . . . . . . . . . . . . . . . . . 292
.
Procedure Flow . . . . . . . . . . . . . . . . . . 294
.
Checkpoints . . . . . . . . . . . . . . . . . . . 296
.
Control Parameters . . . . . . . . . . . . . . . . . 297
.
BACKUP_COPY . . . . . . . . . . . . . . . . . 297
.
DBID . . . . . . . . . . . . . . . . . . . . 299
.
Examples . . . . . . . . . . . . . . . . . . . 301
.
TEMP Data Set Space Estimation . . . . . . . . . . . . . . 302
.
Restart Considerations . . . . . . . . . . . . . . . . . 303
.
ADAVFY (Database Consistency Check) . . . . . . . . . . . . . 304
.
ADAVFY (Database Consistency Check) . . . . . . . . . . . . . 304
.
Functional Overview . . . . . . . . . . . . . . . . . 304
.
Procedure Flow . . . . . . . . . . . . . . . . . . 305
.
Checkpoints . . . . . . . . . . . . . . . . . . . 305
.
Control Parameters . . . . . . . . . . . . . . . . . 305
.
AC . . . . . . . . . . . . . . . . . . . . 306
.
DATA . . . . . . . . . . . . . . . . . . . 306
.
DBID . . . . . . . . . . . . . . . . . . . . 306
.
ERRORS . . . . . . . . . . . . . . . . . . . 307
.
FCB . . . . . . . . . . . . . . . . . . . . 307
.
FIELD . . . . . . . . . . . . . . . . . . . 307
.
FILES . . . . . . . . . . . . . . . . . . . . 307
.
FROM . . . . . . . . . . . . . . . . . . . 308
.
INDEX . . . . . . . . . . . . . . . . . . . 308
.
LEVEL . . . . . . . . . . . . . . . . . . . 308
.
LOST . . . . . . . . . . . . . . . . . . . . 309
.
xi
Adabas Utilities Adabas Utilities
RECORD . . . . . . . . . . . . . . . . . . . 309
.
Examples . . . . . . . . . . . . . . . . . . . 309
.
Appendix A - Example Utility Input Files . . . . . . . . . . . . . 310
.
Appendix A - Example Utility Input Files . . . . . . . . . . . . . 310
.
xii
Adabas Utilities Adabas Utilities
Adabas Utilities
This manual describes the Adabas utilities. The database administrator (DBA) uses the Adabas utilities to
create and maintain Adabas databases. For each utility, the following information is provided:
This manual is intended principally for the DBA. Certain Adabas utilities contain functionality for
modifying or deleting existing database information, so caution is advised when these utilities are used.
Some utilities, such as ADAREP, provide status information only, and can be used freely by the end user.
The Overview provides a summary of the utilities available and their purpose.
The subsequent documents describe the individual utilities in detail, with one utility per document.
Appendix A contains a description of the demo utility input files provided with the Adabas kit.
1
Conventions Adabas Utilities
Conventions
The following conventions have been used in this manual:
Examples of utility output and file contents are shown in a typewriter font, for example:
%ADADBM-I-OPENED, ds DATA2, file DATA2.001 opened
%ADADBM-F-DSSTALL, allocation error DSST
In examples which show both user input and utility output, the typewriter font is used for the whole
example:
adadbm: add_container = data, size = 35
%ADADBM-I-OPENED, ds DATA2, file DATA2.001 opened
%ADADBM-F-DSSTALL, allocation error DSST
Syntax conventions
The syntax of the utility control parameters is as follows.
Items shown in UPPERCASE letters are keywords and must be typed in exactly as shown. You can type
in any keyword with uppercase or lowercase letters.
Items shown in lowercase letters indicate that you have to replace the item by a value of your choice. If
the item is "number", you can specify any decimal number. Only positive numbers or 0 can be specified,
i.e. no negative numbers are allowed. If the item is "string", you can specify a text string, i.e. any number
of alphanumeric characters. Other items are possible, for example "descriptor", in which case your input
must be a descriptor name.
A vertical bar ("|") separates items which are alternatives, i.e. you can type one item or the other but not
both.
The ellipsis ("...") indicates that you can repeat the immediately preceding element of the syntax as often
as you like.
If an ellipsis is preceded by a comma, i.e. ",...", this means that you can repeat the immediately preceding
element of the syntax as often as you like, with a comma preceding each repetition.
2
Adabas Utilities Conventions
Example 1
DBID = number
This means that you must type in the keyword "DBID" (using uppercase or lowercase letters or any
combination thereof), followed by the "=" character, followed by a decimal number, for example:
DBID = 27
Example 2
This means that you must type in the keyword "RABN" (using uppercase or lowercase letters or any
combination thereof), followed by the "=" character, followed by a decimal number. You can also provide
a hyphen ("-") followed by another decimal number, but this is not required. Here are a few examples of
input that corresponds to this syntax:
RABN = 25
RABN = 1000 - 1125
Example 3
This means that you must type in the keyword "SORTSEQ" (using uppercase or lowercase letters or any
combination thereof), followed by the "=" character, followed by either a descriptor value or the keyword
"ISN", for example:
SORTSEQ = ISN
Example 4
This example shows the use of the ellipsis ("..."). Here, the ellipsis follows the syntax element
"[,number[-number] ]". This means that you can repeat this syntax element as often as you like in your
input line. Here are a few examples of input that corresponds to this syntax:
3
Conventions Adabas Utilities
27
27-50
27-50,68
27,68-90
27-50,68-90
27-50,68-90,102,105,118-140,160
Example 5
As an alternative to example 4, the following syntax specification using the ",..." construction is also
possible:
{ number[-number] },...
The letter "M" indicates "mandatory", i.e. the you must specify this parameter in your input to the utility
otherwise the utility cannot run. If the letter "M" is not present, the parameter is optional, i.e. you do not
have to specify it.
The letter "D" indicates that the control parameter has a default value. This means that if you do not
specify this parameter explicitly in your input, the utility will use a preset value for the parameter.
Order of parameters
The parameters of the utilities are listed in this documentation in alphabetical order, but in some cases,
there are restrictions on the order in which they can or must be specified. Usually, the DBID parameter
has to be specified first, and depending on the utility, there may be more restrictions.
Numeric Values
Numeric values may be specified in the following ways:
number
number[K] and number[M] are only allowed in cases in which large numeric values are expected.
4
Adabas Utilities Conventions
Maximum Values
Maximum values for numeric parameters are only mentioned if there is a fixed limit that is given by
restrictions within Adabas. They are not mentioned if they result from the fact that a 4 byte signed or
unsigned integer is used to store the variable: in this case, the limit may be defined a little smaller than the
maximum possible integer, for example 4000 M.
5
Overview Adabas Utilities
Overview
This chapter gives an overview of the Adabas utilities, which provide all of the functions necessary to
manage an Adabas database.
ADABAS
This utility starts the database nucleus with the required environment. It is also responsible for
the communication between ENTIRE NET-WORK and the nucleus.
ADABCK
The Adabas backup utility dumps/restores the contents of the database (or a specific file or files)
to/from a sequential data file. The utility can also be used to copy an Adabas backup copy.
ADACLP
ADACMP
Compression of data
The compression utility compresses user data. The compressed data is used as input for the mass
update utility ADAMUP. The input for this utility is the raw data together with the data
definitions that describe the structure of the data provided.
ADADBA
DBA Workbench
This utility provides functionality for operating and maintaining Adabas databases and files via
a graphical user interface.
ADADBM
Database modification
The ADADBM utility consists of the following functions which can be used to make
modifications to the database:
The ADD_CONTAINER function adds a new container file to the Associator, Data Storage or
WORK data set.
The ADD_FIELDS function appends one or more new fields to the end of a files FDT.
6
Adabas Utilities Overview
The ALLOCATE functions increase the Normal Index, Upper Index, Address Converter or Data
Storage space assigned to a file.The DEALLOCATE functions are the inverse.
The CHANGE function changes the standard length of a field in the FDT.
The DELCP function deletes old checkpoint records from the checkpoint file in the specified
range of dates.
The DELETE function deletes an Adabas file or a range of files from the database.
The DROP_FIELDS function marks the specified fields as not existing, which means that they
can no longer be accessed.
The EXTEND_CONTAINER function extends the last container file defined for the database.
The NEWWORK function allocates and formats a new Adabas WORK data set.
The [NO]PLOG option enables/disables PLOG journaling for the selected file.
The REDUCE_CONTAINER function reduces the size of the last container file defined for the
database.
The REFRESH function resets a file or a range of files to the state of zero records loaded.
The RENAME function changes the database name or the name of a loaded file.
The REUSE function controls the reuse of data storage space or ISNs by Adabas.
ADADCU
Decompression of data
The ADADCU utility decompresses records to be used with a non-Adabas application program,
or as input for the compression utility ADACMP. The file to be decompressed must be unloaded
from the database (unload utility ADAULD) before it can be used as input for this utility. With
ADADCU, complete records can be decompressed, fields can be rearranged within a record,
default lengths can be changed, some types of fields can be truncated, formats can be changed
and space can be allocated for the addition of new fields.
7
Overview Adabas Utilities
ADADEV
This utility consists of several functions for managing the disk space to be used by Adabas. It
can be used to preallocate space for a database.
ADAERR
The ADAERR utility displays the contents of the error files generated by various utilities.
ADAFDU
File definition
The file definition utility ADAFDU defines a file in the database. It only loads the FCB and the
FDT into the database and allocates the requested space for ASSO and DATA for the specified
file.
ADAFIN
The ADAFIN utility displays information about one or more files, e.g. FDT, descriptor statistics
and the fill percentage of blocks in the Data Storage, Normal Index and Upper/Main Index.
ADAFRM
The formatting utility ADAFRM allocates and formats the files that are used by Adabas
(Associator, Data Storage, WORK, TEMP and SORT). It can also format files which have been
preallocated by ADADEV.
ADAINV
The invert utility ADAINV creates, re-inverts or removes inverted lists for a loaded file in a
database or validates specified descriptors.
ADAMUP
The ADAMUP utility adds or deletes large numbers of records to/from a file in the database.
8
Adabas Utilities Overview
ADANUC
The ADANUC utility starts the database for online operations and defines the runtime
environment.
ADAOPR
Operator utility
ADAORD
The reorder utility ADAORD provides functions to reorganize a database or files within a
database (REORDER function) and to migrate files between databases (EXPORT and IMPORT
functions).
ADAPLP
ADAPRI
The ADAPRI utility prints the contents of a block or a range of blocks in the Associator, Data
Storage, WORK, TEMP or SORT for maintenance or auditing purposes.
ADAREC
ADAREP
Database report
The ADAREP utility produces the database status report. This report contains information about
the current physical layout and logical contents of the database.
The information in this report includes the following: the amount and location of the space
currently allocated for the Associator and Data Storage; the amount and location of unused
space available for Associator and Data Storage; database file summary; checkpoint
information; information about each file in the database (space allocation, space available,
number of records loaded, MAXISN setting, field definitions).
9
Overview Adabas Utilities
ADASCR
Security functions
The security utility ADASCR creates, modifies and deletes file protection levels and user
passwords, and enables the record locking capabilities of individual passwords (by using value
criteria for individual database files) to be set or modified. Additionally, the utility is used to
display file and password security information.
ADATST
ADAULD
File unloading
The unload utility ADAULD unloads a file from a database or an Adabas backup copy and
produces compressed records with the same format as those produced by the compression utility
ADACMP. Unloaded records may be used as input for the decompression utility ADADCU or
with the mass update utility ADAMUP. Records can be unloaded from a database in the
sequence in which they are currently stored in Data Storage, in the sequence of a descriptor or in
ISN sequence. However, records can only be unloaded from a backup copy in the order in which
they were stored by the utility.
ADAVFY
This utility checks the consistency of the database. The General Control Block (GCB) is
validated together with each File Control Block (FCB) and each Field Definition Table (FDT) of
the loaded files. The index structure and Data Storage are validated. If specified, ADAVFY also
looks for lost RABNs.
10
Adabas Utilities ADABAS (Starting The Database Nucleus)
Note:
This utility only applies to Windows.
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Functional Overview
The utility ADABAS is used to start the database nucleus. In addition, this utility sets the environment
variables (ASSO1, DATA1, ...) and reads the nucleus startup values from a file.
11
ADABAS (Starting The Database Nucleus) Adabas Utilities
Procedure Flow
%ADADIR%\ETC\ADABAS.INI
[DB_LIST]
[DBID_001]
INI_FILE = "C:\Program Files\Software AG\Adabas\\db001\DB001.INI"
NAME = DEFAULT-DATABASE
STRLVL = 14
[DBID_001-END]
[DB_LIST-END]
12
Adabas Utilities ADABAS (Starting The Database Nucleus)
[MISCELLANEOUS]
NODE_NAME = MYPC2
SHELL = 0
TIMEBASE = 10
[MISCELLANEOUS-END]
%ADADIR%\DBxxx\DBxxx.INI
%ADADIR%\DBxxx\DBxxx.INI
Please refer to the section ADANUC in this manual for more detailed information.
LBP = 16M
LOGGING = OFF
LP = 200
LS = 10000
LWP = 1000000
NH = 150
NT = 3
PLOG
TNAA = 3000
TNAE = 3000
TNAX = 3000
TT = 3000
[NUCPARMS-END]
13
ADABAS (Starting The Database Nucleus) Adabas Utilities
5. ADABAS starts the database nucleus (ADANUC) with the specified parameters.
Control Parameters
The following control parameters are available:
M [DBID =] number
D [MODE =] keyword
D NODE = nodename
DBID
[DBID =] number
Example:
or
adabas 20
MODE
[MODE =] keyword
This parameter is used to define the access mode in which the database is started.
The default is GLOBAL. If this parameter is not specified, the environment variable
NET_WORK_MODE can be used to set the default.
14
Adabas Utilities ADABAS (Starting The Database Nucleus)
MODE=LOCAL
This means that ADABAS will not be broadcast or usable by other ENTIRE NET-WORK nodes.
MODE=GLOBAL
This means that ADABAS will be broadcast to all ENTIRE NET-WORK nodes on the network,
regardless of the DOMAIN name setting in ENTIRE NET-WORK.
MODE=DOMAIN
This means that ADABAS will be broadcast to all ENTIRE NET-WORK nodes that have the same
DOMAIN name as on the current node.
Example:
adabas dbid=20 local
NODE
NODE = nodename
This parameter specifies the ENTIRE NET-WORK node that Adabas should attach to. If this parameter is
not specified, Adabas will attach to the first ENTIRE NET-WORK node it finds running on the same
machine. This parameter is useful when multiple ENTIRE NET-WORK nodes are running on the same
machine.
If this parameter is not specified, the environment variable NET_WORK_ID can be used to modify the
default behaviour.
Example:
The following assumes that multiple ENTIRE NET-WORK nodes are running on the same machine and
Adabas wishes to attach to a specific ENTIRE NET-WORK node:
adabas node=NODE2
15
ADABCK (Dump And Restore Database Or Files) Adabas Utilities
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Restart Considerations: This describes what to do if the utility is for some reason unable to run to
completion.
Functional Overview
The backup utility ADABCK provides protection against database corruption by creating Adabas backup
copies. ADABCK should be used at regular intervals.
Making use of the internal structure of the database, this utility provides optimum performance. Unused
blocks do not have to be read and can be omitted when dumping. Even though such blocks are not
included in the Adabas backup copy, they can be re-created during a restore.
The backup copy can be directly assigned to tape: this option supports consecutive tapes (see
Administration, Using Utilities). Furthermore, a backup copy may be directed to stdout in order to support
the piping of the backup data. This feature is enabled by setting the environment variable (BCK001) to -
(minus). In this case, the output messages are directed to stderr. The RESTORE and OVERLAY functions
can also be used in this way, i.e. a backup copy can be read from stdin. In this case, the ADABCK control
statements must be given in the command line (see Administration, Using Utilities).
The DUMP function dumps a database or selected files from a database to one or more sequential
files, which is called an Adabas backup copy. The nucleus may be active and parallel updates are
permitted on the files to be dumped while the dump is in progress;
16
Adabas Utilities ADABCK (Dump And Restore Database Or Files)
The EXU_DUMP function dumps a database or selected files from a database to one or more
sequential files, which is called an Adabas backup copy. Only ACC users are permitted on the files to be
dumped while the dump is in progress;
The IOSTAT function prints information about the data transfer rate and the I/O waiting times.
The OVERLAY function restores selected files or a database. The files to be restored may already be
loaded in the database: ADABCK performs an implicit delete before restoring such files;
The READ_CHECK function checks the readability (i.e. absence of parity errors) and completeness
of the Adabas backup copy. These checks ensure that the dump file can be read by the RESTORE or
OVERLAY function;
The RESTORE function restores a database or selected files from an existing Adabas backup copy. If
there are no security definitions for the files in the target database, the corresponding entries (as they were
defined at the time the files were dumped) are set up in the security table when the file is restored;
The list functions CONTENTS, FILES and SUMMARY display information about an Adabas
backup copy. When the list functions are used, the DBID does not have to be entered first; the exception
to this is when the backup file is in a raw section. In this case, the DBID is required, but the database itself
does not have to be present (UNIX platforms only).
The functions DUMP, EXU_DUMP, OVERLAY and RESTORE are mutually exclusive and only one of
them may be executed during a single run of this utility. The list functions can only be used together with
the READ_CHECK, RESTORE or OVERLAY function.
Procedure Flow
17
ADABCK (Dump And Restore Database Or Files) Adabas Utilities
Environment Storage
Data Set Additional Information
Variable Medium
Associator ASSOx Disk
Disk, Tape (see note
Output of DUMP/EXU_DUMP
1)
Backup copy BCK00n function,
stdin (see note 2),
input for other functions
stdout (see note 3)
Disk, Tape (see note
BCKOUT Output of COPY function
1)
Data storage DATAx Disk
Control statements stdin Utilities Manual
Control statements SYS$INPUT
stdout (see note
ADABCK
4), Messages and Codes
messages
stderr (see note 5)
Work WORK1 Disk
Notes:
1. A named pipe can be used for this sequential file (see Administration, Using Utilities for details).
2. For functions other than DUMP or EXU_DUMP (BCK001 only).
3. For DUMP or EXU_DUMP (BCK001 only).
4. If BCK001 is not stdout.
5. If BCK001 is stdout.
18
Adabas Utilities ADABCK (Dump And Restore Database Or Files)
The sequential files BCK00n can have multiple extents. For detailed information about sequential files
with multiple extents, see Administration, Using Utilities.
Checkpoints
The following table shows the nucleus requirements for each function and the checkpoint written:
Notes:
1. Nucleus only required when AUTORESTART is pending at the end of this function.
2. For restore of database or system files.
3. For restore of files.
Control Parameters
The following control parameters are available:
19
ADABCK (Dump And Restore Database Or Files) Adabas Utilities
CONTENTS
COPY [= number]
M DBID = number
DUMP = {*|(number[-number][,number[-number]]...)}
[,BLOCKSIZE = number [K|M]]
[,DIRECT_PIPE]
D [{,DRIVES = number} |
D {,[NO]DUAL } ]
[,ET_SYNC_WAIT = number]
D [,[NO]NEW_PLOG]
EXU_DUMP = {*|(number[-number][,number[-number]]...)}
[[,BLOCKSIZE = number [K|M]]
[[,DIRECT_PIPE]
D [{,DRIVES = number} |
D {,[NO]DUAL} ]
D [,[NO]NEW_PLOG]
FILES = { * | (number[-number][,number[-number]]...)}
IOSTAT
OVERLAY = {*|(number[-number][,number[-number]]...)}
[,DIRECT_PIPE]
D [,DRIVES = number]
[,FMOVE [=(number [,number [-number]]...)]]
[,FORMAT = (keyword [,keyword])]
[,KEEP_FILE_ALLOC]
[,NEW_DBID = number]
PARALLEL = keyword
READ_CHECK
RESTORE = {*|(number[-number][,number[-number]]...)}
[,DIRECT_PIPE]
D [,DRIVES = number]
[,FMOVE [=(number [,number [-number]]...)]]
[,FORMAT = (keyword [,keyword])]
[,NEW_DBID = number]
SUMMARY
CONTENTS
CONTENTS
This parameter displays a list of files in an Adabas backup copy created with the DUMP or EXU_DUMP
function.
20
Adabas Utilities ADABCK (Dump And Restore Database Or Files)
Example
adabck: contents
COPY
COPY [= number]
This function creates a new file from an existing Adabas backup copy. The input file (BCK0xx) and the
output file (BCKOUT) may be on either disk or tape, where xx is either the specified number, or 01 if no
number is explicitly specified.
DBID
DBID = number
DUMP
DUMP = { * | (number[-number][,number[-number]]...)}
[,BLOCKSIZE = number [K|M]]
[,DIRECT_PIPE]
[ {,DRIVES = number} |
{, [NO]DUAL } ]
[,ET_SYNC_WAIT = number ]
[,[NO]NEW_PLOG ]
At the file level, this function dumps the files specified by the numbers in the list. LOB files specified are
ignored, but the LOB files assigned to all base files are dumped too. An asterisk * specifies that the
complete database is to be dumped. Parallel updates are permitted on the files to be dumped while the
dump is in progress.
If the nucleus is running in parallel (online backup), ADABCK ensures that all transactions are completed
by all users before ADABCK terminates. Therefore ADABCK waits at the end of dump until all users
reach ET status. The nucleus doesnt start new transactions within this period. This is called ET_SYNC.
21
ADABCK (Dump And Restore Database Or Files) Adabas Utilities
BLOCKSIZE = number[K|M]
This parameter can be specified to change the I/O transfer blocksize. If PARALLEL is specified, the
default blocksize is 512 KB. The following values can be specified: 64KB, 128KB, 256KB, 512KB, 1MB,
2MB, ... 12MB. The blocksize specified will be used in a subsequent RESTORE function.
DIRECT_PIPE
This parameter can be specified to pipe the output of a DUMP function directly into a RESTORE
function. It must be specified in both DUMP and RESTORE if it is used. It can only be used together with
PARALLEL=MULTI_PROCESS.
DRIVES = number
This parameter limits the maximum number of output devices to be operated in parallel. It can be used to
split a backup file into several extents. The output is sent to BCK0xx.
The parameters DRIVES and DUAL are mutually exclusive, and only one of them may be specified in a
given call of the DUMP function.
[NO]DUAL
DUAL specifies that two physical copies of the dumped information are to be created. The output is sent
to BCK001 and BCK002.
The parameters DUAL and DRIVES are mutually exclusive, and only one of them may be specified in a
given call of the DUMP function.
ET_SYNC_WAIT = number
This parameter defines the time (in seconds) that ADABCK waits for ET-logic users to come to ET status
at the end of the DUMP function.
If this parameter is omitted, the value currently in effect for the database nucleus (ADANUC parameter
TT) is taken.
[NO]NEW_PLOG
This option specifies whether or not to close the protection log file and create a new log file at the end of
the DUMP function.
22
Adabas Utilities ADABCK (Dump And Restore Database Or Files)
EXU_DUMP
EXU_DUMP = {*|(number[-number][,number[-number]]...)}
[,BLOCKSIZE = number [K|M]]
[,DIRECT_PIPE]
[ {,DRIVES = number} |
{,[NO]DUAL} ]
[,[NO]NEW_PLOG]
At the file level, this function dumps the files specified by the numbers in the list. LOB files specified are
ignored, but the LOB files assigned to all base files are dumped too. An asterisk * specifies that the
complete database is to be dumped. Only ACC users are permitted on the files to be dumped while the
dump is in progress.ET-synchronization is not required.
BLOCKSIZE = number[K|M]
This parameter can be specified to change the I/O transfer blocksize. If PARALLEL is specified, the
default blocksize is 512 KB. The following values can be specified: 64KB, 128KB, 256KB, 512KB, 1MB,
2MB, ... 12MB. The blocksize specified will be used in a subsequent RESTORE function.
DIRECT_PIPE
This parameter can be specified to pipe the output of a DUMP function directly into a RESTORE
function. It must be specified in both DUMP and RESTORE if it is used. It can only be used together with
PARALLEL=MULTI_PROCESS.
DRIVES = number
This parameter limits the maximum number of output devices to be operated in parallel. It can be used to
split a backup file into several extents. The output is sent to BCK0xx.
The parameters DRIVES and DUAL are mutually exclusive, and only one of them may be specified in a
given call of the DUMP function.
[NO]DUAL
DUAL specifies that two physical copies of the dumped information are to be created. The output is sent
to BCK001 and BCK002.
The parameters DUAL and DRIVES are mutually exclusive, and only one of them may be specified in a
given call of the DUMP function.
[NO]NEW_PLOG
This option specifies whether or not to close the protection log file and create a new log file at the end of
the EXU_DUMP function.
23
ADABCK (Dump And Restore Database Or Files) Adabas Utilities
Examples 1-3
In the examples below, the files 1, 2, 4, 6, 7, 8, 10, 11, 12, and 13 are loaded in the selected database.
Example 1
adabck: dump = * , drives = 2
Example 2
adabck: exu_dump = 8 , dual
File 8 is dumped and two physical copies are created. Only ACC users are allowed on file 8 while the
dump is in progress.
Example 3
adabck: dump = (8-11,13,6,1-4), et_sync_wait = 5
Files 1, 2, 4, 6, 8, 10, 11 and 13 are dumped. ADABCK allows a maximum of 5 seconds for ET-logic
users to come to ET status.
FILES
FILES = { * | (number[-number][,number[-number]]...)}
This parameter displays status information of the specified files in a dump file.
IOSTAT
IOSTAT
If this parameter is specified, the data transfer rate and the I/O (waiting) times on the various devices are
printed at the end of ADABCK processing.
Example:
adabck db=20 parallel=multi_process dump=\* drives=6 iostat
----------------------------------------------------------------
Dump Method : DB: SMP(2), BCK: pipe
Blocksizes : DB: 512 KB BCK: 512 KB
DB I/O time : total: 18.14 sec average: 81 msec
BCK 1 I/O time : total: 0.06 sec average: 4 msec
BCK 2 I/O time : total: 0.08 sec average: 4 msec
BCK 3 I/O time : total: 0.09 sec average: 4 msec
24
Adabas Utilities ADABCK (Dump And Restore Database Or Files)
OVERLAY
OVERLAY = {*|(number[-number][,number[-number]]...)[,KEEP_FILE_ALLOC]}
[,DIRECT_PIPE]
[,DRIVES = number]
[,FMOVE [=(number [,number [-number]]...)]]
[,FORMAT = (keyword [,keyword] ) ]
[,KEEP_FILE_ALLOC]
[,NEW_DBID = number]
This function restores the files specified by the numbers in the list at file level. LOB files specified are
ignored, but the LOB files assigned to all base files are restored too. The files to be restored may already
be loaded in the database. ADABCK performs an implicit delete before restoring such files. If only one
file of a LOB group is overlaid, the other file of the LOB group is also deleted. An asterisk (*) specifies
that a restore is to be made at the database level. Exclusive control over the database container files is
required.
DIRECT_PIPE
This parameter can be specified to pipe the output of a DUMP function directly into an OVERLAY
function. It must be specified in both DUMP and OVERLAY if it is used. It can only be used together
with PARALLEL=MULTI_PROCESS.
DRIVES = number
This parameter specifies the number of physical input devices operated in parallel.
If this keyword is specified, ADABCK reallocates all files to be overlayed or the specified subset rather
than attempting to restore them in the same block ranges as in the backup. Using this keyword reduces the
number of file extents as much as possible.
The keywords ASSO and/or DATA may be specified. This parameter is used to format Associator and/or
Data Storage blocks. When restoring at the file level, only blocks contained in the unused areas of the
files extents are formatted.
25
ADABCK (Dump And Restore Database Or Files) Adabas Utilities
KEEP_FILE_ALLOC
If this parameter is specified, ADABCK tries to keep the allocation of the file as it currently is in the
database, as opposed to restoring it with the same block ranges as on the backup. This keyword can, for
example, be used when a file has been reorganized since the backup was made or also if more space has
since been preallocated to the file. If the file on the backup has more blocks allocated than are currently
available in the database, the remaining blocks will be allocated in an arbitrary location. This keyword can
only be used in conjunction with a file list.
NEW_DBID = number
This parameter can be used to change the identifier of the database to be restored. This parameter can only
be specified when restoring a complete database.
A new identifier can be used to restore a backup copy of an active database into a different set of container
files. The new identifier may not be identical to that of another active database.
PARALLEL
PARALLEL = keyword
This parameter can be specified to increase processing speed when creating/restoring from backups on
slow devices (e.g. tape drives) by using parallel devices. The keyword MULTI_PROCESS can be used. If
PARALLEL=MULTI_PROCESS is specified, the default value of the BLOCKSIZE parameter changes to
512 KB.
If PARALLEL is specified for DUMP or EXU_DUMP, it must also be specified for OVERLAY or
RESTORE using the same value for the DRIVES parameter.
Notes:
1. If it is to be used, PARALLEL must be specified after the DBID parameter and before the DUMP,
EXU_DUMP, OVERLAY or RESTORE parameter.
2. The PARALLEL parameter is not supported on Windows platforms.
READ_CHECK
READ_CHECK
This function checks the readability (i.e. absence of parity errors) and completeness of the Adabas backup
copy. These checks are made to ensure that the dump file can be used to restore the database or files with
the RESTORE or OVERLAY function of this utility.
26
Adabas Utilities ADABCK (Dump And Restore Database Or Files)
RESTORE
RESTORE = {*|(number[-number][,number[-number]]...)}
[,DIRECT_PIPE]
[,DRIVES = number]
[,FMOVE [=(number [,number [-number]]...)]]
[,FORMAT = (keyword [,keyword] ) ]
[,NEW_DBID = number]
This function restores the files specified by the numbers in the list at the file level. LOB files specified are
ignored, but the LOB files assigned to all base files are restored too. If a file list is given, the files to be
restored must not be loaded in the database. An * specifies that a restore is to be made at the database
level. In this case, the files may already be loaded in the database and will implicitly be deleted or
substituted by files in the dump with identical file numbers. Exclusive control over the database container
files is required.
Note:
You can only use RESTORE=* if the dump file was created with DUMP=* or EXU_DUMP=*.
DIRECT_PIPE
This parameter can be specified to pipe the output of a DUMP function directly into a RESTORE
function. It must be specified in both DUMP and RESTORE if it is used. It can only be used together with
PARALLEL=MULTI_PROCESS.
DRIVES = number
This parameter specifies the number of physical input devices operated in parallel.
If this keyword is specified, ADABCK reallocates all files to be restored or the specified subset rather
than attempting to restore them in the same block ranges as in the backup. Using this keyword reduces the
number of file extents as much as possible.
The keywords ASSO and/or DATA may be specified. This parameter is used to format Associator and/or
Data Storage blocks. When restoring at the file level, only blocks contained in the unused areas of the
files extents are formatted.
NEW_DBID = number
This parameter can be used to change the identifier of the database to be restored. This parameter can only
be specified when restoring a complete database.
A new identifier can be used to restore a backup copy of an active database into a different set of container
files. The new identifier may not be identical to that of another active database.
27
ADABCK (Dump And Restore Database Or Files) Adabas Utilities
Examples:
It is assumed that none of the files specified in the DUMP examples above are loaded in the selected
database.
adabck: restore = *
The complete database is restored. The output of DUMP=* or EXU_DUMP=* may be used as input for
this example. The nucleus must be inactive.
adabck: restore = 8
File 8 is restored. The output of any of the DUMP/EXU_DUMP examples above can be used as input for
this example. The nucleus may be active (assuming that file 8 is neither the checkpoint file nor the
security file).
adabck: restore = (11-13, 1, 4-8)
Only the outputs of the first and last DUMP/EXU_DUMP example could be used. The output of the last
example would restore files 1, 4, 6, 8, 11 and 13, whereas that of the first example would restore files 7
and 12 as well.
SUMMARY
SUMMARY
This parameter displays general information and physical layout of the database in the Adabas backup
copy created by a previous run of the DUMP/EXU_DUMP function.
Example
adabck: summary
28
Adabas Utilities ADABCK (Dump And Restore Database Or Files)
-------------------------------------------------------------------------------
10.00 MB
========
Restart Considerations
ADABCK has no restart capability. An abnormally-terminated ADABCK execution must be rerun from
the beginning.
An interrupted RESTORE/OVERLAY of one or more files will result in lost RABNs which can be
recovered by executing the RECOVER function of the utility ADADBM. An interrupted
RESTORE/OVERLAY of a database results in a database that cannot be accessed.
29
ADACLP (Command Log Report) Adabas Utilities
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Functional Overview
The ADACLP utility prints the command log with a line width of 132 characters.
A record is written in the command log for each Adabas command issued. Command logging must be
enabled during Adabas startup with the nucleus parameter LOGGING, or when the nucleus is already
active with the ADAOPR parameter LOGGING.
Note:
For performance reasons, the Adabas nucleus determines the command start timestamp only if command
logging has been enabled. For this reason, the command start date and the command duration are not
displayed for Adabas commands that are already active but not yet finished when command logging is
switched on.
Any of the ADACLP parameters selects a subset of the command log information.
30
Adabas Utilities ADACLP (Command Log Report)
Procedure Flow
Environment Storage
Data Set Additional Information
Variable Medium
Utilities Manual,
Command log CLPCLG Disk, Tape (* see note)
ADACLP
Control statements stdin Utilities Manual
ADACLP report stdout Messages and Codes
Note:
(*) A named pipe can be used for this sequential file (see Administration, Using Utilities for details).
The sequential files CLPCLG can have multiple extents. For detailed information about sequential files
with multiple extents, see Administration, Using Utilities.
Checkpoints
The utility writes no checkpoints.
Control Parameters
The following control parameters are available:
31
ADACLP (Command Log Report) Adabas Utilities
D [NO]ADDITIONS_2
CLASS = (keyword[,keyword]...)
CLOG = (number[,number])
COMMAND = (keyword[,keyword]...)
DATE = ([absolute-date][,[absolute-date]])
DBID = number
D DISPLAY = (keyword[,keyword]...)
D ES_ID [=number]
D FILE = (number[-number][,number[-number]]...)
D [NO]HEXADECIMAL
D LOGIN_ID = string
NODE_ID = string
D PAGE = number
D RECORDS = number[-number]
RESPONSE = (number[-number][,number[-number]]...)
D USER_ID = string
D WIDTH = number
[NO]ADDITIONS_2
[NO]ADDITIONS_2
This option can be used to display the Additions 2 field instead of the command ID.
CLASS
This parameter selects the log records whose command codes belong to the specified command class. All
records are selected if neither the CLASS parameter nor the COMMAND parameter is specified.
32
Adabas Utilities ADACLP (Command Log Report)
KEYWORD USE
CONTROL Selects control commands such as open and close;
FIND Selects find commands;
READ Selects read commands;
UPDATE Selects update commands.
Example:
adaclp: class = find
The log records of the commands S1, S2, S4, S8 and S9 are selected.
CLOG
This parameter is required if the command log is within a raw section. It is optional if the command log is
within a file system. The CLOG number and the extension count can be specified. If no extension count is
specified, Adabas will open subsequent extents as necessary. If an extent count is specified, then only the
specified extent will be processed.
Note:
This parameter applies to UNIX platforms only.
COMMAND
This parameter selects the log records with an Adabas command code specified by the keywords. Up to
ten keywords can be defined. If neither the COMMAND parameter nor the CLASS parameter is specified,
all records are selected.
All valid Adabas commands (A1...S9) can be used as keywords (see Command Reference for further
information).
DATE
33
ADACLP (Command Log Report) Adabas Utilities
This parameter selects the log records in the range specified by the optional date strings. The date strings
must correspond to the following absolute date and time format:
dd-mmm-yyyy[:hh:mm:ss]
Examples:
adaclp: date = 8-aug-2002
All log records written from 8-AUG-2002 12:00:00 onwards are selected.
adaclp: date = (,8-aug-2002:12:34)
DBID
DBID = number
This parameter selects the database to be used. This parameter must be specified when the CLOG to be
used is on a raw device.
Note:
This parameter applies to UNIX platforms only.
34
Adabas Utilities ADACLP (Command Log Report)
DISPLAY
This parameter is used to display various kinds of information from the command log. The keywords
shown in the following table are available. Information for these keywords can only be displayed if
corresponding data was logged during the nucleus session.
KEYWORD MEANING
Selected fields of the control block, the date and duration of the command, the thread
CB
which has worked on the command, and I/O statistics.
FB Format buffer.
All fields of the control block. Other information shown for DISPLAY=CB is not
FULL_CB
shown here.
IB ISN buffer.
IO IO list.
RB Record buffer.
SB Search buffer.
STATISTICS Command statistics of the selected records.
VB Value buffer.
ES_ID
ES_ID [ = number]
This parameter causes the environment-specific ID to be displayed instead of the login ID.
If a number is specified, only records with information for the specified environment-specific ID (process
ID) will be selected.
FILE
This parameter selects the log records with commands that reference the file(s) specified by number or
range of numbers. A maximum of 20 files may be specified.
35
ADACLP (Command Log Report) Adabas Utilities
[NO]HEXADECIMAL
[NO]HEXADECIMAL
If this parameter is set to HEXADECIMAL, the record buffer and value buffer are displayed in
hexadecimal format (when DISPLAY=RB or DISPLAY=VB is specified).
LOGIN_ID
LOGIN_ID = string
This parameter selects all records with the specified login ID.
NODE_ID
NODE_ID = string
This parameter selects the log records from the specified node.
The node identification shown while processing ADAOPR with the parameter DISPLAY = UQ must be
used.
PAGE
PAGE = number
This parameter defines the page size, in lines, used for the printout.
RECORDS
36
Adabas Utilities ADACLP (Command Log Report)
This parameter selects the log records in the specified range of log record numbers. Log record numbers
start with 1 after the log is switched on.
RESPONSE
This parameter selects the records with the specified response code or range of response codes.
USER_ID
USER_ID = string
This parameter selects the records with the user ID specified in string.
Example
user_id = *adarep
All records that represent commands issued from the utility ADAREP are selected.
WIDTH
WIDTH = number
This parameter selects the output line width. Valid values are 80 and 132.
37
ADACMP (Compression Of Data) Adabas Utilities
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Output: This describes the files which result from the utility processing.
Report: This describes the status report which the utility produces. Any errors that occurred during
the processing are written to this report.
Restart Considerations: This describes what to do if the utility is for some reason unable to run to
completion.
Functional Overview
The compression utility ADACMP compresses user raw data into a form which can be used by the mass
update utility ADAMUP.
The input data for this utility must be contained in a sequential file.
The logical structure and characteristics of the input data are described by a field definition table (FDT).
These statements specify the level number, field name, standard length and format together with any
definition options that are to be assigned to the field (descriptor, unique descriptor, multiple-value field,
null value suppression, fixed storage, periodic group). See Administration, FDT Record Structure for
more detailed information about the layout of the file in the database and characteristics of the input data.
Each field in the input record is compressed. Compression consists of removing trailing blanks from
alphanumeric fields and leading zeros from numeric fields. Unpacked and packed fields are checked for
correct data. Fields defined with the fixed storage option are not compressed. A user exit is provided to
allow additional editing of each input record with a user-written routine.
Compressed data.
Descriptor values.
38
Adabas Utilities ADACMP (Compression Of Data)
The sizes of the descriptor values of all descriptors are listed at the end of execution.
If the utility writes records to the error file, it will exit with a non-zero status.
Procedure Flow
The sequential files CMPDTA, CMPDVT and CMPERR can have multiple extents. For detailed
information about sequential files with multiple extents, see Administration, Using Utilities.
39
ADACMP (Compression Of Data) Adabas Utilities
Environment Storage
Data Set Additional Information
Variable Medium
Associator ASSOx Disk
Compressed data CMPDTA Disk, Tape (* see note) output by ADACMP
Descriptor Value Table CMPDVT Disk, Tape (* see note) output by ADACMP
Rejected data CMPERR Disk, Tape (* see note) output by ADACMP
Input data FDT CMPFDT Disk, Tape (* see note) Utilities Manual
User input data CMPIN Disk (* see note) Utilities Manual
ADACMP
stdin Utilities Manual
control statements
ADACMP messages stdout Messages and Codes
Note:
(*) A named pipe can be used for this sequential file (see Administration, Using Utilities for details).
If the SINGLE_FILE option is set, the Descriptor Value Table (DVT) and the compressed user data are
written together to the logical name CMPDTA.
Checkpoints
The utility writes no checkpoints.
Control Parameters
The following control parameters are available:
40
Adabas Utilities ADACMP (Compression Of Data)
DBID = number
FDT
FILE = number
D MUPE_C_L = {1|2|4}
D [NO]NULL_VALUE
D NUMREC = number
D RECORD_STRUCTURE = keyword
D [NO]SHORT_RECORDS
D [NO]SINGLE_FILE
SKIPREC = number
D SOURCE_ARCHITECTURE = (keyword[,keyword][,keyword])
D [NO]USEREXIT
D [NO]USERISN
D WCHARSET = char_set
DBID
DBID = number
This parameter selects the database that contains the file to be specified by the FILE parameter.
FDT
FDT
If this parameter is the first parameter that is specified, ADACMP reads the FDT information contained in
the sequential file CMPFDT. If it is specified in conjunction with the DBID and FILE parameters, the
FDT of the specified file is displayed.
FIELDS
41
ADACMP (Compression Of Data) Adabas Utilities
This parameter is used to specify a subset of fields given in the FDT. This means that the input records do
not have to contain all of the fields given in the FDT. See Administration, Loading and Unloading Data,
Uncompressed Data Format for more detailed information.
FILE
FILE = number
This parameter specifies the file from which the FDT information is to be read. This parameter can only
be specified after the DBID parameter.
42
Adabas Utilities ADACMP (Compression Of Data)
MUPE_C_L
MUPE_C_L = {1|2|4}
If the uncompressed data contain multiple-value fields or periodic groups, they are preceded by a binary
count field with the length of MUPE_C_L bytes.
The default is 1.
[NO]NULL_VALUE
[NO]NULL_VALUE
The parameter NULL_VALUE is required if you are compressing data according to the standard FDT and
the status values of the NC option fields are given in the input data. Normally, such input data is generated
by ADADCU with the NULL_VALUE option set.
Example
NUMREC
NUMREC = number
This parameter specifies the number of input records to be processed. If this parameter is omitted, all input
records contained on the input file are processed.
Use of this parameter is recommended for the initial execution of ADACMP if the input data file contains
a large number of records. This avoids unnecessary processing of all records in cases where a data
definition error or invalid input data results in a large number of rejected records.
This parameter is also useful for creating small files for test purposes.
RECORD_STRUCTURE
RECORD_STRUCTURE = keyword
43
ADACMP (Compression Of Data) Adabas Utilities
This parameter specifies the type of record separation used in the input file with the environment variable
CMPIN. The following keywords can be used:
Keyword Meaning
The records in the CMPIN file are separated by a two-byte exclusive
ELENGTH_PREFIX
length field.
The records in the CMPIN file are separated by a two-byte inclusive
ILENGTH_PREFIX
length field.
The records in the CMPIN file are separated by a new-line character.This
keyword may only be specified if the field values do not contain
characters interpreted as new-line (i.e. if there are only unpacked,
NEWLINE_SEPARATOR
alphanumeric and Unicode fields, and the alphanumeric and Unicode
fields contain only printable characters). This keyword and the USERISN
parameter are mutually exclusive.
The records in the CMPIN file contain data that has been transfered from
an IBM host using the FTP site rdw option. ADACMP is able to process
such data without having to use cvt_fmt first (in previous versions, the
unsupported tool cvt_fmt was used for such format conversions). For
example:
RDW % ftp IBM-host
ftp> binary
200 Representation type is Image
ftp> site rdw
200 Site command was accepted
ftp> get decomp
% setenv CMPIN decomp
% adacmp fdt record_structure=rdw source=(ebcdic,high)
VARIABLE_BLOCKED The variable blocked format from BS2000 or IBM.
SEPARATOR
If you specify this option, ADACMP expects the fields in the raw data record to be separated by the
character specified. You can omit the apostrophes round the character specification if the character has no
special meaning for the Adabas utilities. The same fields in different records are then permitted to be of
different lengths.
If a format buffer is specified using the FIELDS parameter, the order of the specified field names must
correspond with the order in which the fields are specified in the FDT. A mismatch results if this is not the
case.
If the FDT contains multiple value fields or periodic groups, a format buffer must be specified with the
FIELDS parameter. Members of periodic groups must be specified one after the other (see examples
below).
44
Adabas Utilities ADACMP (Compression Of Data)
Because no binary data is expected in the input file using the SEPARATOR option, the
RECORD_STRUCTURE parameter will be set to NEWLINE_SEPARATOR.
Example 1
FDT: 1, AA, 2, U
1, AB, 8, U
1, AC, 2, A
CMPIN: 12;12345678;AA
1234;5;BB
adacmp
fdt
separator=\;
or for UNIX
or
In this example, 2 records are compressed with the default FDT, the separator character is the semicolon,
and the default record structure is NEWLINE_SEPARATOR. Note that the semicolon must be preceded
by a backslash, otherwise it would be treated as the start of a comment. If you enter the parameters under
UNIX directly from the command line, it is necessary to precede the backslash and the semicolon by
additional backslashes or to put them in quotes or double quotes since they are special characters.
Example 2
FDT: 1, XX, PE
1, AA, 8, A
1, AB, 8, U
1, YY, 2, A
CMPIN: aaaa,1,bbbb,2,yy
In this example, 1 record with fields given in the format buffer is compressed, the separator character is
the comma.
Example 3
FDT: 1, AA, 8, A
1, MA, 1, A, MU
CMPIN: aaaa%2%A%B
bbbb%3%C%D%E
In this example, 2 records with fields given in the format buffer are compressed, the occurrence count or
the multiple value field MA is different in different records. The separator character is the percent
character.
45
ADACMP (Compression Of Data) Adabas Utilities
[NO]SHORT_RECORDS
[NO]SHORT_RECORDS
If SHORT_RECORDS is specified, it is possible to omit fields at the end of the decompressed record that
contain null values.
You can only omit complete fields; it is not possible to truncate the last value:
Example
Assuming you have specified the parameters for a file containing alphanumeric fields AA and AB:
FIELDS
AA,20,AB,20
END_OF_FIELDS
SHORT_RECORDS
[NO]SINGLE_FILE
[NO]SINGLE_FILE
If the SINGLE_FILE option is set, ADACMP writes the Descriptor Value Table (DVT) and the
compressed user data to a single file (CMPDTA) instead of writing them to separate files.
SKIPREC
SKIPREC = number
This parameter specifies the number of records to be skipped before compression is started.
46
Adabas Utilities ADACMP (Compression Of Data)
SOURCE_ARCHITECTURE
This parameter specifies the format (character set, floating-point format and byte order) of the input data
records. The following keywords can be used:
If no keyword of a keyword group is specified, the default for this keyword group is the keyword that
corresponds to the architecture of the machine on which ADACMP is running.
Note:
The FDT is always input in ASCII format.
Example
If the input records that are to be compressed are in IBM format, the user must specify the following:
SOURCE_ARCHITECTURE = (EBCDIC, IBM_370_FLOATING, HIGH_ORDER_BYTE_FIRST)
47
ADACMP (Compression Of Data) Adabas Utilities
[NO]USEREXIT
[NO]USEREXIT
This option specifies whether a user exit is to be taken or not. If USEREXIT is specified, the environment
variable ADAUEX_6 must point to a loadable user-written routine (shared library).
[NO]USERISN
[NO]USERISN
If this option is set to USERISN, the ISN for each record in the input file will be assigned by the user.
If USERISN is specified, the user must give the ISN to be assigned to each record as a four-byte binary
number immediately preceding each data record.
ISNs may be assigned in any order and must be unique (for the file). The ISN must not exceed the
maximum number of records (MAXISN) specified for the file (see the file definition utility ADAFDU for
more detailed information).
ADACMP does not check for unique ISNs or for ISNs which exceed MAXISN. These checks are
performed by the mass update utility ADAMUP (if an error is detected, the ADAMUP run terminates with
an error message).
WCHARSET
WCHARSET = char_set
This parameter specifies the default encoding used in the decompressed file based on the encoding names
listed at http://www.iana.org/assignments/character-sets - most of the character sets listed there are
supported by ICU, which is used by Adabas for internationalization support.
48
Adabas Utilities ADACMP (Compression Of Data)
Output
The ADACMP utility outputs three files:
1. Compressed data
2. Descriptor values
If the output file contains no records (no records on the input file or all records rejected), the output may
still be used as input for the mass update utility ADAMUP.
Compressed data records and descriptor value tables are written to one file if the SINGLE_FILE option is
specified.
Report
The ADACMP report begins with a display of the field definition entered if CMPFDT is used for input.
Any statement which contains a syntax error will be printed with a message immediately following the
statement.
Following the display of the data-definition statements, a descriptor summary, the number of input records
processed, the number of input records rejected, and the number of input records compressed are printed.
Restart Considerations
ADACMP does not have a restart capability. An interrupted ADACMP run must be re-started from the
beginning.
ADACMP does not change the database; therefore, no considerations need to be made concerning
database status before restarting ADACMP.
49
ADADBA (DBA Workbench) Adabas Utilities
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running.
Functional Overview
The DBA Workbench is a graphical user interface that is used to create, operate and maintain Adabas
databases and files on the local node.
The DBA Workbench can be started either from the command line in the same manner as any other utility
(UNIX and Windows), or by clicking the icon for the DBA Workbench in the Adabas folder on the
desktop (Windows only).
Additional information is available as context-sensitive online help when the DBA Workbench is running.
The online help can also be started from an icon on the desktop (Windows only).
50
Adabas Utilities ADADBA (DBA Workbench)
Procedure Flow
51
ADADBM (Database Modification) Adabas Utilities
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Restart Considerations: This describes what to do if the utility is for some reason unable to run to
completion.
Functional Overview
The ADADBM utility consists of the following functions which may be used to make modifications to the
database:
The ADD_CONTAINER function adds a new container file to the Associator or Data Storage data
set;
The ADD_FIELDS function adds new fields to the end of a files FDT;
The ALLOCATE NI, UI, AC or DS function increases the Normal Index, Upper Index, Address
Converter or Data Storage space assigned to a file;
The CHANGE function changes the standard length of a field in the Field Definition Table (FDT);
The DEALLOCATE functions are the inverse functions of ALLOCATE. The NI, UI, AC or DS
function returns the Normal Index, Upper Index, Address Converter or Data Storage space which is
no longer required by a file to the free space table (FST);
The DELCP function deletes old checkpoint records from the checkpoint file in the specified range
of dates;
The DELETE function deletes a single Adabas file or a range of Adabas files from the database;
The DROP_FIELDS function marks the specified fields as not existing, which means that they can
no longer be accessed ;
52
Adabas Utilities ADADBM (Database Modification)
The EXTEND_CONTAINER function extends the last container file defined for the database.
The NEWWORK function allocates and formats a new Adabas WORK data set;
The PGM_REFRESH function enables or disables refreshing an Adabas file inside an application
program with an E1 command.
The RECOVER function returns lost space to the free space table;
The REDUCE_CONTAINER function reduces the size of the last container file defined for the
database.
The REFRESH function resets a single file or a range of files to the state of zero records loaded;
The REMOVE_CONTAINER function removes a container file from the Associator, or Data
Storage data set;
The REMOVE_DROP function, used in conjunction with a subsequent REFRESH, removes dropped
fields from the FDT;
The RENAME function changes the database name or names of loaded files;
The RENUMBER function renumbers a loaded file or exchanges the numbers of loaded files;
The REUSE function controls the reusage of Data Storage space or ISNs by Adabas.
53
ADADBM (Database Modification) Adabas Utilities
Procedure Flow
Online Mode
If the Adabas nucleus is active, ADADBM calls the nucleus to modify the database containers. For some
tasks, no checkpoints are written, but the activity is logged in the database log, and in the case of a
recovery, the activity is re-executed automatically.
54
Adabas Utilities ADADBM (Database Modification)
Offline Mode
If the Adabas nucleus is not active, ADADBM itself modifies the database containers.
Environment Storage
Data Set Additional Information
Variable Medium
Associator ASSOx Disk
Data storage DATAx Disk
Control
stdin Utilities Manual
statements
ADADBM
stdout Messages and Codes
messages
Protection Utilities Manual
NUCPLG Disk
Log ADAPLP
New WORK data set for the NEWWORK function. After
Temporary
TEMP1 Disk this function is performed, the Work logical name must be
storage
changed to point to the new Work data set.
Work WORK1 Disk
55
ADADBM (Database Modification) Adabas Utilities
Checkpoints
The following table shows the nucleus requirements for each function and the checkpoints written:
Nucleus
Nucleus must NOT be Nucleus is Checkpoint
Function must
active NOT required written
be active
ADD_CONTAINER X SYNP
SYNP (see note
ADD_FIELDS X
2)
ALLOCATE X SYNP
CHANGE X -
DEALLOCATE X SYNP
DELCP X SYNP
SYNP (offline)
DELETE X
SYNX (online)
DISPLAY X -
SYNP (see note
DROP_FIELDS X
2)
DROP_LOBFILE X SYNP
for ASSO or
EXTEND_CONTAINER for WORK SYNP
DATA
NEW_DBID X (see note 1) SYNP
NEWWORK X (see note 1) SYNP
PGM_REFRESH X SYNP
RECOVER X SYNP
for ASSO or
REDUCE_CONTAINER SYNP
DATA
REFRESH X SYNP
REMOVE_CONTAINER X SYNP
RENAME X SYNP
RENUMBER X SYNP
RESET X SYNX
REUSE X SYNP
Notes:
56
Adabas Utilities ADADBM (Database Modification)
57
ADADBM (Database Modification) Adabas Utilities
Control Parameters
The following control parameters are available:
ADD_CONTAINER = keyword
D [,BLOCKSIZE=number[K] ]
,SIZE = number [B|M]
M DBID = number
DISPLAY = UCB
DROP_LOBFILE = number
NEW_DBID = number
RECOVER
REMOVE_CONTAINER = keyword
[NO]REMOVE_DROP
58
Adabas Utilities ADADBM (Database Modification)
ADD_CONTAINER
ADD_CONTAINER = keyword
[,BLOCKSIZE=number[K] ]
,SIZE = number [B|M]
The ADD_CONTAINER function adds a new container file to an existing Associator or Data Storage
dataset in accordance with the keyword used. The keyword can take the values ASSO or DATA .
The new container file may be allocated on the same device as the current container files or it may be
allocated on a different device type.
The placement of the new container file depends on the environment variable ASSOx or DATAx. This
variable has to be set to a legal file name with its whole path name. If ASSOx or DATAx is not set, the
container files are created in the current directory.
Notes:
1. If you add a new DATA container, free space is required on the existing Associator for the Data
Storage Space Table (DSST): 1 byte is required for each new DATA block. Therefore, you should
add a new ASSO container first if the existing Associator is full.
2. If you add a new container while the Adabas nucleus is active, the container is not added by
ADADBM, but by ADANUC. In this case, you should consider the following, depending on the way
the container files are specified: if the container files are specified as environment variables, you can
only add the new container if you have already defined the corresponding environment variable for
the curent nucleus session. If you havent, you have to terminate the current nucleus session before
you can add the new container. If, on the other hand, the container files are specified in the
DBnnn.INI files (which, for example, are generated if you use the Workbench to administrate
Adabas), you can enter the new container in the file just before you add the container, since the
nucleus re-reads the file before the container is added (please refer to the Adabas Extended Operation
for further information about the DBnnn.INI files).
BLOCKSIZE = number[K]
This parameter specifies the block size in bytes (or in kilobytes, if "K" is specified after the number) of the
new container file.
Adabas rounds up the value you specify to the next multiple of 1K. The minimum and maximum block
sizes allowed are:
Note:
(*) the minimum and maximum values for the ASSO1 container file differ from these values. See
ADAFRM for details.
59
ADADBM (Database Modification) Adabas Utilities
The default value for BLOCKSIZE is the block size of the last container file of the dataset in question that
is currently present in the database.
This parameter specifies the number of blocks (B) or megabytes (M) to be allocated for the new container
file. By default, the size is given in megabytes.
Example
adadbm: add_container=data, size=10
%ADADBM-I-CREATED, dataset DATA2 , file /FS/fs0395/Adabas/adadb/db076/DATA2 created
%ADADBM-I-FUNC, function ADD_CONTAINER executed
A new container file of 10 megabytes is added to the Data Storage. The block size is the same as the block
size of DATA1.
ADD_FIELDS
The ADD_FIELDS function adds one or more new fields to the end of the file defined by number.
Specifying a LOB file is not permitted. The function is completed by entering END_OF_FIELDS. The
field specification list is entered in the same way as the FDT input in ADAFDU:
The NN option is not permitted. DE is only permitted when the Adabas nucleus is active and together with
the NU or NC option. Otherwise use the ADAINV utility to give the new fields descriptor status. UQ is
only permitted together with the DE option.
FDT
This parameter displays the FDT of the file to which the fields are to be added.
Example
adadbm: add_fields=12
adadbm: fdt
60
Adabas Utilities ADADBM (Database Modification)
1 I AI I 1 I A I FI I
1 I AJ I 6 I U I NU I SP
1 I AK I I I I
2 I AL I 3 I A I NU I
2 I AM I 4 I P I NU,MU I
-------------------------------------------------------------------------------
Type I Name I Length I Format I Options I Parent field(s) Fmt
-------------------------------------------------------------------------------
SUPER I AN I 4 I B I NU I AJ ( 5 - 6 ) U
I I I I I AJ ( 3 - 4 ) U
-------------------------------------------------------------------------------
SUPER I AO I 22 I A I NU I AG ( 1 - 2 ) U
I I I I I AD ( 1 - 20 ) A
-------------------------------------------------------------------------------
adadbm: 01,dd,1,a
adadbm: 01,gr
adadbm: 02,g1,20,a,fi
adadbm: fdt
adadbm: end_of_fields
%ADADBM-I-FUNC, function ADD_FIELDS executed
61
ADADBM (Database Modification) Adabas Utilities
ALLOCATE
Depending on the keyword specified (AC, DS, NI or UI), the ALLOCATE function increases the Normal
Index (NI), Upper Index (UI), Address Converter (AC) or Data Storage (DS) by a given size. Each extent
for the required type is checked to see whether it can be extended or not. A new extent is created if none
of the current extents can be extended.
This function lets the DBA override the automatic extension method and can be used to preallocate
smaller or larger extents. This can be useful when adding a large number of records. Exclusive control of
the file is NOT required for this function.
FILE = number
RABN = number
This parameter specifies the allocation start RABN. For NI or UI allocation for a LOB file, the block size
of the RABN specified must be less than 16 KB. For DS allocation for a LOB file, the block size of the
RABN specified must be 32 KB.
This parameter specifies the size of the expansion area. If a B is appended to size, the size is in blocks,
otherwise it is in megabytes.
Example
adadbm: allocate=ni, file=11, size=100b
%ADADBM-I-ALLOC, 100 NI blocks allocated (611 - 710)
CHANGE
This function changes the standard length of a field in the file specified by number. Specifying a LOB file
is not permitted. The length of fixed and floating-point fields cannot be changed.
Changing the length of a field does not lead to any modifications within the Data Storage, but may affect
programs that use the standard length.
62
Adabas Utilities ADADBM (Database Modification)
FIELD = string
This parameter specifies the field whose standard length is to be changed. The field must be defined in the
Field Definition Table for this file.
LENGTH = number
Example
adadbm: change=12, field=ac, len=11
%ADADBM-I-FUNC, function CHANGE executed
DBID
DBID = number
Note:
Utility functions which require or allow the nucleus to be shut down need logical assignments for the data
sets.
Examples
adadbm: dbid=76
%ADADBM-I-DBOFF, database 76 accessed offline
adadbm: dbid=76
%ADADBM-I-DBON, database 76 accessed online
DEALLOCATE
Depending on the keyword specified (AC, DS, NI or UI), this function releases a given amount of space
from the Address Converter (AC), Data Storage (DS), Normal Index (NI) or Upper Index (UI).
If too much space is allocated to an extent, either automatically or manually, the DBA can release this
space and return it to the Free Space Table (FST).
Deallocation is done for only one extent at a time. To release space from multiple extents,
DEALLOCATE has to be called several times.
63
ADADBM (Database Modification) Adabas Utilities
FILE = number
RABN = number
This parameter specifies the first RABN to be deallocated. If this parameter is omitted, deallocation starts
at the end of the last extent.
SIZE = numberB
Example
adadbm: deallocate=ni, file=11, size=110b
SIZE=110B
^
%ADADBM-E-VALUP, value has to be less-equal 100
%ADADBM-I-ABORTED, 14-NOV-2002 14:44:01, elapsed time: 00:00:00
DELCP
Examples
adadbm: delcp=13-NOV-2006:15:09:48
%ADADBM-I-DELCP, 1 record deleted from CHECKPOINT file
adadbm: delcp=(13-NOV-2006:15:09:48,)
%ADADBM-I-DELCP, 81 records deleted from CHECKPOINT file
adadbm: delcp=(,14-NOV-2006:14:37:24)
%ADADBM-I-DELCP, 41 records deleted from CHECKPOINT file
adadbm: delcp=(14-NOV-2006:14:37:25,14-NOV-1996:14:38:15)
%ADADBM-I-DELCP, 42 records deleted from CHECKPOINT file
64
Adabas Utilities ADADBM (Database Modification)
adadbm: delcp=*
%ADADBM-I-DELCP, 20 records deleted from CHECKPOINT file
DELETE
The DELETE function deletes one or more files or ranges of files from the database and returns all space
which was allocated for this file to the Free Space Table (FST). LOB files specified are ignored, but the
LOB files assigned to all base files specified are deleted too.
ADADBM does not request confirmation of the files to be deleted, i.e. care should be taken when entering
the file numbers.
Example
adadbm: delete=(4-11,14)
%ADADBM-I-DELETED, file 11 deleted
%ADADBM-I-DELETED, file 14 deleted
DISPLAY
DISPLAY = UCB
The DISPLAY function displays the utility communication block. This function can also be executed
during a pending AUTORESTART.
Example:
adadbm: display=ucb
DATE/TIME shows the date and time on which the given files were locked.
MODE shows the mode in which the files are being accessed.
FILES shows the file numbers of the files that are locked.
65
ADADBM (Database Modification) Adabas Utilities
DROP_FIELDS
The DROP_FIELDS function drops one or more fields from the file defined by number - the specified
fields are marked as no longer existing and they cannot be accessed. Specifying a LOB file is not
permitted. The function is completed by entering END_OF_FIELDS.
If you specify a group or a periodic group, all of the fields that belong to the group or periodic group are
dropped. You must not specify a field that is a descriptor or from which a descriptor is derived - if you
want to drop such a field, you must first release all corresponding descriptors with ADAINV.
Once the DROP_FIELDS function has been executed, you can redefine the names of the dropped fields,
for example using ADADBMs ADD_FIELDS function.
Notes:
1. The DROP_FIELDS function does not physically remove the fields. You should not drop and then
add fields repeatedly, since this can cause the data records or the FDT of the file in question to
overflow.
2. ADAMUP is not able to load data into a file that contains the same visible fields but which contains
different dropped fields.
FDT
This parameter displays the FDT of the file from which the fields are to be dropped.
DROP_LOBFILE
DROP_LOBFILE = number
The number must specify the file number of a base file with an empty assigned LOB file to be deleted.
EXTEND_CONTAINER
The EXTEND_CONTAINER function extends the last Associator, Data Storage or WORK container file
defined for the database in accordance with the keyword used. The keyword can take the values ASSO,
DATA or WORK.
Note:
The WORK container can only be extended in the offline mode.
66
Adabas Utilities ADADBM (Database Modification)
This parameter specifies the size of the expansion area in blocks (B) or megabytes (M). By default, the
size is in megabytes.
NEW_DBID
NEW_DBID = number
This function is used to change the identifier of the database in use. The new identifier may not already be
in use by another active database.
Example
adadbm: new_dbid=77
%ADADBM-I-FUNC, function NEW_DBID executed
NEWWORK
This function removes the existing WORK1 and WORK2 container file and replaces them with a new
WORK1 container file. The new WORK1 container file is allocated and then formatted, if required.
Before a new WORK can be created, the nucleus and all utilities using the database must have been
successfully terminated. Since this function requires the current WORK, it must not be deleted before
NEWWORK has been executed. TEMP1 must point to the new work file when this function is used.
Note:
The new WORK can be directed to a disk section or to a file system. If TEMP1 points to the same disk
section as WORK1, then ADADBM tries to extend/reduce the existing WORK file. In each case the name
of the new WORK container file is WORK1. If the function completes successfully, the old WORK1 gets
deleted.
BLOCKSIZE = number[K]
This parameter specifies the block size in bytes (or in kilobytes, if "K" follows the number) of the new
container file.
Adabas rounds up the value you specify to the next multiple of 1024.
The minimum block size allowed is 3072 and the maximum block size allowed is 32768.
In addition to these minimum and maximum values, the following size restrictions apply in general to the
block sizes for ASSO and WORK:
67
ADADBM (Database Modification) Adabas Utilities
where MAX(ASSOBLS) represents the largest ASSO block size and WORKBLS represents the WORK
block size.
The default value for BLOCKSIZE is the block size of the old WORK file.
This parameter specifies the number of blocks or megabytes to be allocated for the new WORK file. By
default, the size is in megabytes.
PGM_REFRESH
This function is used to disable or enable refreshing an Adabas file inside an application program with an
E1 command (ISN = 0, CID = BLANK). Specifying a LOB file is not permitted. The keyword can take
the values YES or NO.
FILE = number
RECOVER
RECOVER
This function returns lost space within the Associator and Data Storage to the Free Space Table (FST).
Example
adadbm: recover
%ADADBM-I-FUNC, function RECOVER executed
REDUCE_CONTAINER
The REDUCE_CONTAINER function reduces the size of the last Associator or Data Storage container
file defined for the database in accordance with the keyword used. The keyword can take the values ASSO
or DATA.
The requested number of blocks must not be in use at the end of the container specified. If the complete
space of one or more container extents is to be released, the container extents are removed. Note that the
message informing you that a container extent is removed is not displayed by ADADBM if ADADBM is
executed online - instead, it is included in the nucleus log.
68
Adabas Utilities ADADBM (Database Modification)
SIZE = number B
This parameter specifies the size by which the container is to be reduced, in blocks.
69
ADADBM (Database Modification) Adabas Utilities
REFRESH
This function resets the files specified by number to the state of zero records loaded. Only the first
extents for Normal Index, Address Converter and Data Storage are kept. The remaining extents are
returned to the Free Space Table (FST). The Upper Index is rebuilt and the unused Upper Index extents
are then returned to the Free Space Table. LOB files specified are ignored, but the LOB files assigned to
all base files specified are refreshed too.
ADADBM does not request confirmation of the files to be refreshed, i.e. care should be taken when
entering the file numbers.
This function is useful for clearing a test file in a test environment. This method is faster than deleting and
reloading the file.
If the REMOVE_DROP function has been specified, dropped fields are removed from the FDT.
Example
adadbm: refresh=13
%ADADBM-I-REFRESH, file 13 refreshed
REMOVE_CONTAINER
REMOVE_CONTAINER = keyword
This function removes the last database container file from an existing Associator or Data Storage data set
in accordance with the keyword used. The keyword can take the values ASSO or DATA.
The container file to be removed must not be in use when this function is executed, i.e. all of the blocks in
the file must be free.
The container file will be deleted from the file system or from the raw disk section.
Before a container file can be removed, the nucleus and all of the utilities using the database must have
terminated successfully.
Example
adadbm: remove_container=data
%ADADBM-I-DMCONREM, container DATA2 removed
70
Adabas Utilities ADADBM (Database Modification)
REMOVE_DROP
[NO]REMOVE_DROP
If you specify REMOVE_DROP, subsequent REFRESH functions will remove dropped fields from the
FDT.
If you specify NOREMOVE_DROP, subsequent REFRESH functions will not remove dropped fields
from the FDT.
Example
adadbm: remove_drop
adadbm: refresh=2
%ADADBM-I-REFRESH, file 2 refreshed
adadbm: refresh=3
%ADADBM-I-REFRESH, file 3 refreshed
adadbm: noremove_drop
adadbm: refresh=4
%ADADBM-I-REFRESH, file 4 refreshed
File 2 has been refreshed and dropped fields have been removed from the FDT. File 3 has been refreshed
and dropped fields have been removed from the FDT. File 4 has been refreshed and dropped fields have
not been removed from the FDT.
RENAME
This function changes the name of a file or a database. number is the number of the file whose name is
to be changed. If number is 0, the name of the database is changed.
NAME = string
Example
adadbm: rename=11, name=employee-file
%ADADBM-I-FUNC, function RENAME executed
RENUMBER
71
ADADBM (Database Modification) Adabas Utilities
This function changes the file number of a loaded Adabas file. If, however, the files new number already
belongs to a loaded file, the numbers of these files are exchanged.
The first number is the file number currently assigned to the file. The second number is the new file
number to be assigned to the file.
Example:
adadbm: renumber=(12,14)
%ADADBM-I-RENUM, File 12 renumbered to 14
%ADADBM-I-RENUM, File 14 renumbered to 12
RESET
UCB
This function removes one or more entries from the utility communication block (UCB). This option can
also be used during a pending AUTORESTART.
The UCB is used to control access to certain resources (the whole database, one or more files, etc.) within
a database. It saves information about the Adabas utilities processing the database and the resources
attached to them.
An entry is made in the UCB each time a utility is granted access to a resource. This entry contains
information about the utility and the resources it locks. The utility automatically removes the entry when
the resource is no longer required. Please refer to the DISPLAY=UCB function of this utility for
information about how to display the contents of the UCB.
However, certain special conditions (e.g. an aborted ADAMUP) can cause entries to remain in the UCB
and keep allocated resources locked. The RESET function releases these resources by removing one or
more entries from the UCB.
Resetting a UCB entry also removes the associated entry from the user queue and returns lost blocks to the
free space table if the nucleus is active. Otherwise, the resource can be returned to the free space table by
using the RECOVER function.
This parameter specifies the unique ID of the entry to be removed. * removes all entries.
Example
adadbm: reset=ucb, ident=233
%ADADBM-I-RESUCB1, 1 entry deleted from UCB
72
Adabas Utilities ADADBM (Database Modification)
REUSE
The REUSE function controls the reuse of Data Storage space or ISNs by Adabas.
The File Control Block (FCB) for the specified file is modified to indicate the type of allocation technique
to be used when adding new records or moving updated records.
If the DS keyword is specified, Adabas scans the Data Storage Space Table (DSST) in order to locate a
block with sufficient space. In this case, the first block found with sufficient space is used.
If the NODS keyword is specified, then all newly-added records, together with records that have to be
moved to another block (as a result of record expansion caused by updating), are placed in the last used
block in the Data Storage extent allocated to the file. If there is not sufficient space in this block, the next
block is used.
If the ISN keyword is specified, Adabas may reuse the ISN of a deleted record.
If the NOISN keyword is specified, Adabas does not reuse the ISN of a deleted record for a new record.
Each new record will be assigned the next-highest unused ISN.
ISN and NOISN are mutually exclusive. The default is REUSE = NOISN.
FILE = number
Example
adadbm: reuse=nods, file=11
%ADADBM-I-FUNC, function REUSE executed
Restart Considerations
ADADBM has no restart capability. At the end of each function, however, the system reports whether
execution was successfully completed or not. If it is not successfully completed, the function has to be
re-started.
73
ADADCU (Decompression Of Data) Adabas Utilities
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Input and Output Data: This describes the required format of the input data as well as the files which
result from the utility processing.
Restart Considerations: This describes what to do if the utility is for some reason unable to run to
completion.
Functional Overview
The decompression utility ADADCU decompresses records produced by the ADACMP, ADAMUP and
ADAULD utilities.
The output of the decompression utility ADADCU can be used as input for a program using standard
operating system file access methods.
It can also be used as input for the compression utility ADACMP once any required changes have been
made to the data structure or once the data definitions of the file have been changed. A warning message
is issued if the decompressed output file (DCUOUT file) created by the utility is empty.
ADADCU also decompresses files produced with the SINGLE option of the utilities ADAULD and
ADACMP, but no parameter is required since this can be determined by the utility.
Complete records can be decompressed to the formats and lengths described in the FDT. A one-byte
count field precedes each multiple-value field or periodic group in the output record.
If several fields are decompressed, the fields can be re-arranged within a record, i.e. the record structure
may be changed as follows:
74
Adabas Utilities ADADCU (Decompression Of Data)
Space can be allocated for subsequent addition of new fields using the literal element or blank
element.
If the utility writes records to the error file, it will exit with a non-zero status.
Procedure Flow
The sequential files DCUDTA and DCUERR can have multiple extents. For detailed information about
sequential files with multiple extents, see Administration, Using Utilities.
75
ADADCU (Decompression Of Data) Adabas Utilities
Environment Storage
Data Set Additional Information
Variable Medium
Compressed
DCUDTA Disk, Tape (* see note) Output of ADACMP or ADAULD
data records
Rejected data DCUERR Disk, Tape (* see note) Output of ADADCU
Output of ADADCU
Output data FDT DCUFDT Disk, Tape (* see note)
Utilities Manual
Decompressed records DCUOUT Disk, Tape (* see note) Utilities Manual
Control statements stdin Utilities Manual
ADADCU messages stdout Messages and Codes
Note:
(*) A named pipe can be used for this sequential file (see Administration, Using Utilities for details).
Checkpoints
The utility writes no checkpoints.
76
Adabas Utilities ADADCU (Decompression Of Data)
Control Parameters
The following control parameters are available:
D [NO]DCUFDT
FDT
D MUPE_C_L = {1|2|4}
MUPE_OCCURRENCES
D [NO]NULL_VALUE
D NUMREC = number
D RECORD_STRUCTURE = keyword
SKIPREC = number
D TARGET_ARCHITECTURE = (keyword[,keyword[,keyword]])
D [NO]TRUNCATION
D [NO]USERISN
WCHARSET = char_set
[NO]DCUFDT
[NO]DCUFDT
If this option is set to DCUFDT, the FDT information of the decompressed records is written to the
sequential file DCUFDT. The default is NODCUFDT.
If you have used the FIELDS parameter (see below), the fields are written to the sequential file DCUFDT
in the order specified in FIELDS. Thus, the fields in DCUFDT might be in a different order to those in the
original FDT.
FDT
FDT
This parameter displays the FDT of the file containing the compressed records.
77
ADADCU (Decompression Of Data) Adabas Utilities
FIELDS
The new structure of the output record can be defined, i.e. the fields in the record can be rearranged. The
fields to be decompressed are specified by the field name, format and length. The syntax and semantics
are the same as for the format buffer, with the exception that implicit indices for MU fields/PE groups and
MU fields within periodic groups are not supported (e.g. specify MU1,MU2... and not MU,MU...). See
Administration, Loading And Unloading Data, Uncompressed Data Format for further information.
While entering the specification list, the FDT function can be used to display the FDT of the file to be
decompressed. The specification list can be terminated or interrupted by entering END_OF_FIELDS or
.. The . option is an implicit END_OF_FIELDS and is compatible with the format buffer syntax.
FIELDS must always be entered on a line by itself, whereas the . may be entered on a line by itself or at
the end of the format buffer elements. Processing may be continued after setting any option or parameter
by entering FIELDS.
Example
adadcu: fields
adadcu: ; This is a comment line
adadcu: AA,AB,6,A,AC,P ; - inline comment -
adadcu: AD,AF,CBC,CB1-N . ; implicit END_OF_FIELDS
Field AA is output with default length and format, field AB with 6 byte alphanumeric and field AC with
default length packed. Fields AD and AF are output in default length and format, followed by the one-byte
binary multiple field count of field CB and all its occurrences.
MUPE_C_L
MUPE_C_L = {1|2|4}
If the data contain multiple-value fields or periodic groups, they are preceded by a binary count field with
the length of MUPE_C_L bytes in the decompressed data.
The default is 1.
MUPE_OCCURRENCES
MUPE_OCCURRENCES
This parameter is used to print a list of all multiple fields and periodic groups together with their
maximum occurrence. Such information is important because the decompressed data can become very
large; if the range specified is too large, it is even possible to exceed the limit for the size of a
decompressed record.
78
Adabas Utilities ADADCU (Decompression Of Data)
Example
Note:
A record is consisdered to be incorrect if it has too many occurrences of a periodic group containing an
MU field, and thus causes an internal overflow. It is not possible to decompress this record including the
periodic group.
[NO]NULL_VALUE
[NO]NULL_VALUE
This parameter can be used to decompress records according to the standard FDT if the record contains
NC option fields and their status values (S-elements). It is required if one or more fields have the null
value, otherwise these records are put in the error file.
Example
If the FDT entry for field AA is: 1, AA, 2, A, NC, the effect of NULL_VALUE is as follows:
NULL_VALUE: 1st output record (in hex) 00004141 (AA has a value), 2nd output record (in hex)
FFFF2020 (AA has the null value).
NONULL_VALUE: 1st output record (in hex) 4141 (AA has a value), 2nd output record (in hex) AA
is null, therefore the record will be put into the error file.
79
ADADCU (Decompression Of Data) Adabas Utilities
NUMREC
NUMREC = number
This parameter specifies the number of records to be read from the input file and decompressed. If
NUMREC is not specified and SKIPREC is also not specified, all records are processed.
Example
adadcu: numrec = 100
RECORD_STRUCTURE
RECORD_STRUCTURE = keyword
This parameter specifies the type of record separation used in the output file with the logical name
DCUOUT. The following keywords can be used:
Keyword Meaning
The records in the DCUOUT file are separated by a two-byte exclusive
ELENGTH_PREFIX length field. There is no separator character and the use of this format is
not subject to any restrictions.
The records in the DCUOUT file are separated by a two-byte inclusive
ILENGTH_PREFIX length field. There is no separator character and the use of this format is
not subject to any restrictions.
The records in the DCUOUT file are separated by a new-line character. If
the DCUOUT file is to be used as input for ADACMP, this keyword can
only be specified if the field values of the output do not contain the
NEWLINE_SEPARATOR new-line character (i.e. if there are only unpacked, alphanumeric and
Unicode fields, and if the alphanumeric and Unicode fields only contain
printable characters).
This keyword and the USERISN parameter are mutually exclusive.
The records in the DCUOUT file are formatted such that they can be
RDW
transferred to an IBM host using the FTP site rdw option.
The records are stored as blocks. Each record begins with an inclusive
VARIABLE_BLOCKED
four-byte length field.
80
Adabas Utilities ADADCU (Decompression Of Data)
SKIPREC
SKIPREC = number
This parameter specifies the number of records to be skipped before decompression is started.
TARGET_ARCHITECTURE
TARGET_ARCHITECTURE = (keyword[,keyword[,keyword]])
This parameter specifies the format (character set, floating-point format and byte order) of the output data
records. The following keywords can be used:
If no keyword of a keyword group is specified, the default for this keyword group is the keyword that
corresponds to the architecture of the machine on which ADADCU is running.
Note:
The FDT is always output in ASCII format.
Example
If the output records are to be decompressed into IBM format, the user must specify the following:
TARGET_ARCHITECTURE = (EBCDIC, IBM_370_FLOATING, HIGH_ORDER_BYTE_FIRST)
[NO]TRUNCATION
[NO]TRUNCATION
NOTRUNCATION is the default. In this case, all the records with truncated alphanumeric field values are
written to the error file.
81
ADADCU (Decompression Of Data) Adabas Utilities
Numeric values may not be truncated, and the value must fit into the standard or specified length. If
truncated numeric values occur, the records concerned are written to the error file.
[NO]USERISN
[NO]USERISN
This parameter indicates whether the ISN is to be output together with each decompressed record or not.
The user can specify whether the ISN currently assigned to the record is to be output with the
decompressed data or whether it is to be omitted. If the user intends to reload the file with the same ISNs,
the USERISN option must be set.
If this parameter is omitted, the ISN is not output with each record.
Example
adadcu: userisn
WCHARSET
WCHARSET = char_set
This parameter specifies the default encoding used in the decompressed file based on the encoding names
listed at http://www.iana.org/assignments/character-sets - most of the character sets listed there are
supported by ICU, which is used by Adabas for internationalization support.
ADADCU decompresses each input record in accordance with the FIELDS specifications and writes the
resulting record to the file with the logical name DCUOUT. The records are written in variable-length
format. By default, the records are separated by a two-byte exclusive length field (see the parameter
RECORD_STRUCTURE in this section for more detailed information).
If USERISN is specified, the data record is preceded by its ISN in the form of a four-byte binary number.
82
Adabas Utilities ADADCU (Decompression Of Data)
ADADCU Output
The sequential file DCUFDT (field definition information of the decompressed records) can be used as
input for the file definition utility ADAFDU or for the compression utility ADACMP.
Restart Considerations
ADADCU does not have a restart capability. An interrupted ADADCU run must be re-executed from the
beginning.
ADADCU does not update the database, therefore, no considerations regarding the status of the database
need to be made before re-executing an interrupted ADADCU execution.
83
ADADEV (Disk Space Management) Adabas Utilities
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Note:
This utility only applies to UNIX platforms.
Functional Overview
The ADADEV utility provides several functions for managing disk space to be used by Adabas via the
raw disk I/O interface.
ADADEV requires READ/WRITE access to the specified disk-section device file. See Installation,
Installing Adabas for information about raw disk-section usage in your system.
Each disk section used by Adabas must be initialized once with ADADEV. Preallocation for Adabas
container files or for Adabas sequential files is not necessary, but can be useful sometimes. Disk space is
allocated automatically when creating container extents with ADAFRM or when creating Adabas
sequential files with an Adabas utility. If space has not been preallocated, a best-fit algorithm is used for
container extents. For Adabas sequential files, one half of the largest available free space is allocated if it
is larger than 1 MB. If the allocated space is exceeded, an automatic extension is performed if the
immediate right neighbor is a free space area.
The number of container extents and sequential files per raw section is limited to 338.
84
Adabas Utilities ADADEV (Disk Space Management)
Procedure Flow
Environment
Data Set Storage Medium Additional Information
Variable
Control statements stdin Utilities Manual
ADADEV messages stdout Messages and Codes
Adabas sequential file DEVxyz (see note 1) Disk, Tape (see note 2)
Notes:
1. xyz = PLG, CLG, 00n, OUT, ERR, LOG, EXP, DTA, DVT.
2. A named pipe can be used for this sequential file (see Administration, Using Utilities for details).
The sequential files DEVPLG, DEVCLG, DEV00n, DEVOUT, DEVERR, DEVEXP, DEVDTA,
DEVDVT and DEVLOG can have multiple extents. For detailed information about sequential files with
multiple extents, see Administration, Using Utilities.
Checkpoints
The utility writes no checkpoints.
85
ADADEV (Disk Space Management) Adabas Utilities
Control Parameters
The following control parameters are available:
CHANGE = (keyword,keyword)
DBID = number
DEALLOCATE = {*|keyword}
FREE_SPACE
INITIALIZE
LAYOUT
D [NO]MOUNTCHECK
REALLOCATE = {*|keyword}
RESET
RESIZE
M SECTION = string
UNLOCK = keyword
ALLOCATE
In accordance with the keyword specified, this function allocates space for an Adabas container file or
Adabas sequential file. The space is allocated using a best-fit algorithm if no start sector is specified. The
keyword can take the values ASSOx, DATAx, WORKx, TEMPx and SORTx (where x is a number
between 1 and the maximum number of extents allowed, as described in Administration, Using Utilities),
PLG, CLG, BCK, BCKOUT, RECOUT, ERR, MUPLOG, MUPTMP, ORDEXP, DTA or DVT. The
DBID parameter must be set before space can be allocated to an ASSO, DATA or WORK file, or to PLG,
CLG, BCK, BCKOUT or RECOUT.
86
Adabas Utilities ADADEV (Disk Space Management)
The DBA can use this function to preallocate container files or Adabas sequential files. Reasons for using
it include performance aspects, avoiding fragmentation (by specifying the start sectors) and reserving
space for a database that is to be created in the future.
If ADADBM or ADAFRM are used to create a container file in a disk section, the preallocated space is
taken if it is available. If there was no preallocation made, the allocation is made using a best-fit
algorithm. The same sizes must be used when preallocating and creating container files.
START_SECTOR = number
BLOCKSIZE = numberKB
Values up to 32KB can be used to specify the container block-size when the allocation is being made in
blocks. The defaults are 2KB for ASSO container files, 4KB for all other container files and 1 KB for
Adabas sequential files.
This parameter specifies the size of the area to be allocated in blocks or megabytes. If B is appended to
the number, the size is in blocks. By default, the size is given in megabytes.
CHANGE
This function changes the type of the container file or Adabas sequential file specified by the first
keyword into the type specified by the second keyword.
From To
WORK1 TEMP1, SORT1, SORT2
TEMP1 WORK1, SORT1, SORT2
SORT1 WORK1, TEMP1, SORT2
SORT2 WORK1, TEMP1, SORT1
DTA MUPLOG
MUPLOG DTA
RECOUT PLG (* see note)
BCKOUT BCK (* see note)
Note:
(*) If RECOUT [BCKOUT] is a copy of PLG.n [BCK00n], the new Adabas sequential file name will be
the corresponding name.
87
ADADEV (Disk Space Management) Adabas Utilities
The DBID parameter must be set before the keywords WORK1, RECOUT or BCKOUT are used.
The WORK1 container of a given database can only be changed to a SORT or TEMP container if there is
no autorestart pending.
COMBINE
This parameter combines multiple Adabas sequential file extents into a single extent. The keyword can
take the values PLG.n, CLG.n, BCK00n, BCKOUT, RECOUT.n, ERR, MUPLOG, ORDEXP, DTA or
DVT. The keywords can also be followed by an extent label (m). In some cases, the DBID parameter must
be set (see ALLOCATE for further information).
A COMBINE can start at an arbitrary extent, but must end with the final (end-of-file) extent. All
subsequent extents can be specified interactively, or by predefined environment variables. If DEVxyz is
set, the first extent is taken from the default path name. If DEVxyz is not set, Adabas looks in the current
disk section to find the first extent.
string is either the path name of the device file that represents the raw interface of a disk section, the
path name of a tape device, the (path) name of a non-existent file of a file system or a period (".").
Example 1:
In this example, PLOG 2 of database 100 consists of 3 extents that are all located at the same disk section
/dev/rdsk/c4d0s2.
All extents of PLOG 2 are combined into one file which will be written into the file system under the
name PLOG_2. The section must be specified twice in DEVPLG so that it can flip-flop.
Example 2:
In this example, PLOG 3 of database 100 consists of 9 extents, and the extents 5 to 9 are distributed across
four disk sections:
88
Adabas Utilities ADADEV (Disk Space Management)
Extents 5 to 9 of PLOG 3 are combined into one extent in PLOG 3 with the extent number 5 and the EOF
label. The combined PLOG extent is created in the current directory under the name PLOG.3(5).
COPY
This function copies a container file (ASSO1, DATA1, etc.) or an Adabas sequential file (RECOUT,
DVT, etc.) from its present location to a specified destination (DESTINATION=string).
Valid keywords for the container files are ASSOx, DATAx and WORKx, where x is a number between 1
and the maximum number of extents allowed, as described in Administration, Using Utilities.
Valid keywords for the Adabas sequential files are PLG.n, CLG.n, BCK00n, BCKOUT, RECOUT.n,
ERR, MUPLOG, ORDEXP, DTA, and DVT. The n extension on the Adabas sequential file keywords
designates an extent number.
If a container file is to be copied, you must first set the appropriate environment variable (e.g. ASSO1) to
the source location before the copy is attempted.
If an Adabas sequential file is to be copied into the current disk section, as specified by the SECTION
parameter (e.g. SECTION=/dev/c5d0s2), the environment variable DEVxyz (where xyz may take the
values PLG, CLG, 00n, OUT, ERR, LOG, EXP, DTA, and DVT) must be set to the Adabas sequential file
or device file.
The DESTINATION keyword may be specified as either a path name for a raw disk section, a path name
of a tape device, a path name of a non-existent file in the file system, a named pipe or a period ., which
indicates that the file will be copied into the current disk section.
In some cases, the DBID must be specified in order to uniquely identify the file before the COPY function
can be executed: please refer to the ALLOCATE function for a list of those files that require the DBID.
89
ADADEV (Disk Space Management) Adabas Utilities
Examples:
adadev: section=/dev/rlv02
adadev: dbid=23
adadev: copy=WORK1, destination=/FS/fs0395/SAG/ada/db023/WORK1.023
DBID
DBID = number
This parameter specifies the database of an ASSO, DATA or WORK container file, or of a PLG, CLG,
BCK, BCKOUT or RECOUT Adabas sequential file.
DEALLOCATE
DEALLOCATE = { * | keyword }
In accordance with the keyword specified, this function deallocates space from an Adabas container file or
Adabas sequential file, or from all of the extents of a given database (DEALLOCATE=*). The keyword
can take the values ASSOx, DATAx, WORKx, TEMPx and SORTx (where x is a number between 1 and
the maximum number of extents allowed, as described in Administration, Using Utilities), PLG, PLG.n,
PLG*, CLG, CLG.n, CLG*, BCK, BCK00n, BCK*, BCKOUT, RECOUT, RECOUT.n, ERR, MUPLOG,
MUPTMP, ORDEXP, DTA or DVT. The Adabas sequential file keywords can also be followed by an
extent label (m) or (*). In some cases, the DBID parameter must be set (see ALLOCATE for further
information).
The DBA can use this function to deallocate space from container files, e.g. when a database is no longer
required or e.g. when a PLOG extent is saved to tape. The deallocated space is managed as free space and
can be allocated to other containers.
FREE_SPACE
FREE_SPACE
This function displays the areas of free space on the current disk section. It is a subset of the LAYOUT
function. In order to make it easier to allocate space in units of the default block sizes, this function also
lists the size of the free areas in units of 2KB and 4KB.
90
Adabas Utilities ADADEV (Disk Space Management)
INITIALIZE
INITIALIZE
Some sectors at the beginning of each disk section are used to manage the allocated and free space areas.
This function initializes this management part. Each disk section to be used by Adabas must be initialized
beforehand. When a disk section is accessed for Adabas purposes, the first step is for the management part
to be verified. A disk section can only be initialized if this verification fails.
LAYOUT
LAYOUT
This function provides a summary of the disk section usage. It lists the container and Adabas sequential
areas as well as the free space areas. It also displays the status of a container area (allocated or created).
Adabas sequential files can also have the status "during creation". This means that the Adabas sequential
file is growing: some of the allocated space has been used up, but some of it is still free.
Following a power failure, TEMP and SORT containers may be locked for read or write (status: rlocked
or wlocked). Please refer to the UNLOCK function in this section for further information about unlocking
container files.
[NO]MOUNTCHECK
[NO]MOUNTCHECK
If MOUNTCHECK is used, ADADEV checks if a file system is mounted on the disk specified in the
ADADEV SECTION parameter. If a file system is mounted, ADADEV terminates. This check can be
skipped if NOMOUNTCHECK is specified before the SECTION parameter is used.
MOVE
MOVE is essentially the same as COPY, however, with the difference that the source file is removed (see
COPY for further information).
91
ADADEV (Disk Space Management) Adabas Utilities
NEW_DBID
This function changes the DBID of Adabas files within raw sections (for example, when the number of a
database has been changed and the PLOGs are to be applied to the database with the new number).
all containers/sequential files with an associated database ID (ASSO, DATA, PLG ...)
wildcard character * with PLOG and CLOG (PLG*, CLG*) to change all files within the section
when specifying a given PLOG (e.g. PLG.175) and there are sequential file extents (PLG.175(1)
etc.), all these occurrences are changed
Example
REALLOCATE
REALLOCATE = { * | keyword }
This function deallocates space and directly allocates it in a single step. The keyword can take the same
values as for the DEALLOCATE function. Adabas sequential file areas that are <=50 KB are always
deallocated.
This function can be used as a short cut when deallocating a container file and then allocating it again at
the same location. It is particularly useful if ADAFRM aborts while creating a database, with some
container files already created and preallocated at given start sectors.
There is a flag for each container in a disk section, which indicates whether the container or Adabas
sequential file has actually been created or whether the space has only been allocated for it. For security
reasons, an existing container or Adabas sequential file cannot be overwritten just by creating it again: it
must be deallocated or reallocated first.
92
Adabas Utilities ADADEV (Disk Space Management)
RESET
RESET
The management part of the current disk section is set to binary zero if the section is initialized. This
function is used if a disk section which has the same start sector as an overlapping, initialized disk section
is to be initialized.
RESIZE
RESIZE
If a new, overlapping disk section is used with the same start sector as the current disk section, this
function updates the size of the section to the size of the new section. The new section can be larger or
smaller than the current section. If it is larger, the free space at the end of the section is increased. If it is
smaller, existing free space at the end of the section is decreased.
SECTION
SECTION = string
This parameter selects the disk section to be used. The (path) name of the device file that represents the
raw I/O interface of the disk section must be specified.
UNLOCK
UNLOCK = keyword
This parameter is used to unlock a container of an abnormally terminated utility (for example kill -9). The
keyword can take the values TEMP1, SORT1 or SORT2.
Following a power failure, locked container files must be unlocked using the UNLOCK function in order
to use them further. If an Adabas sequential file consists of more than one physical extent, the last extent
is marked with EOF in the status field.
93
ADAERR (Error File Report) Adabas Utilities
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Format of Rejected Data Records: This describes the format of data records rejected by other Adabas
utilities.
Functional Overview
The ADAERR utility displays the contents of error files generated by the utilities
ADACMP
ADADCU
ADAINV
ADAMUP
ADAREC
Procedure Flow
94
Adabas Utilities ADAERR (Error File Report)
Environment
Data Set Storage Medium Additional Information
Variable
Error data ERRIN Disk, Tape (* see note)
Error messages stdout
Note:
(*) A named pipe can be used for this sequential file (see Administration, Using Utilities for details).
The sequential file ERRIN can have multiple extents. For detailed information about sequential files with
multiple extents, see Administration, Using Utilities.
Checkpoints
The utility writes no checkpoints.
Control Parameter
The following control parameter is available:
D [NO]DUMP
[NO]DUMP
[NO]DUMP
If NODUMP is specified, only a description (length of record, ISN of the record etc.) of each error record
will be output, but not the actual record content. See the section Rejected Data Records in this section for
information on the contents of the error records.
If DUMP is specified, the record content will be dumped in addition to the record description. For
ADACMP, the decompressed record will be dumped, whereas for ADADCU the compressed record will
be dumped.
Example
$ adaerr
95
ADAERR (Error File Report) Adabas Utilities
ADACMP
ADADCU
ADAINV
ADAMUP
ADAREC
The structure of the error records is contained as a header file in the Adabas distribution kit.
96
Adabas Utilities ADAFDU (File Definition)
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Control Statement Examples: This section provides some examples of using ADAFDU.
Functional Overview
The file definition utility ADAFDU defines a new base file and/or a LOB file in a data-base. It does not
require the Adabas nucleus to be active.
The field definitions for a base file are read from the sequential file FDUFDT; the field definition of a
LOB file is predefined. Additional input for ADAFDU is provided by parameters.
See Administration, FDT Record Structure for information about the syntax and use of the data definitions
to define the logical structure of the file in the database.
See Administration, Loading And Unloading Data, File Space Estimation for information about formulae
for calculating the Associator and Data Storage space requirements for a file.
97
ADAFDU (File Definition) Adabas Utilities
Procedure Flow
Offline Mode
If the nucleus is not active, ADAFDU itself creates the new file in ASSO and DATA
98
Adabas Utilities ADAFDU (File Definition)
Online Mode
If the nucleus is active, ADAFDU calls the nucleus to create the new file in ASSO and DATA. In this
case, no checkpoint is written, but the file creation is logged in the database log, and in case of a recovery,
the file is created automatically.
99
ADAFDU (File Definition) Adabas Utilities
Environment Storage
Data Set Additional Information
Variable Medium
Associator ASSOx Disk
Data storage DATAx Disk
Control statements stdin Utilities Manual
ADAFDU messages stdout Messages and Codes
FDT information FDUFDT Disk,Tape (* see note)
Utilities Manual
Protection Log NUCPLG Disk
ADAPLP
Note:
(*) A named pipe can be used for this sequential file (see Administration, Using Utilities for details).
Checkpoints
The utility writes a SYNP checkpoint if it is performed offline. If the utility is performed online, the file
definition is written to the PLOG, and hence no checkpoint is required.
Control Parameters
The following control parameters are available:
100
Adabas Utilities ADAFDU (File Definition)
ACBLOCKSIZE = numberK
ACRABN = number
ADAM_KEY = key
D ADAM_OVERFLOW = number
D ADAM_PARAMETER = number
ADD_LOBFILE = (number,number)
D ASSOPFAC = number
D [NO]BT
D [NO]CIPHER
D DATAPFAC = number
M DBID = number
DSBLOCKSIZE = numberK
DSRABN = number
D DSSIZE = number[B|M]
FDT
FILE = number
D [NO]FORMAT
M MAXISN = number
D NAME = string
NIBLOCKSIZE = numberK|(numberK,numberK)
NIRABN = number|(number,number)
D NISIZE = number[B|M]|(number[B|M],number[B|M])
[NO]PGM_REFRESH
UIBLOCKSIZE = numberK|(numberK,numberK)
UIRABN = number|(number,number)
D UISIZE = number[B|M]|(number[B|M],number[B|M])
101
ADAFDU (File Definition) Adabas Utilities
ACBLOCKSIZE
ACBLOCKSIZE = numberK
This parameter allows you to specify a block size for the allocation of the address converter extent.
Example:
acblocksize = 6k
If the database does not contain enough space with this block size, ADAFDU aborts.
ACRABN
ACRABN = number
This parameter specifies the RABN at which the space allocation for the Address Converter is to start.
This parameter can be used to allocate the Address Converter to a given container file extent.
ADAM_KEY
ADAM_KEY = key
If this parameter is specified, the file is defined as an ADAM file. The key can be either a descriptor name
or the keyword ISN. If an ADAM key is used, it must be defined with the UQ option in the FDT. It must
not be a sub-, super-, phonetic or hyperdescriptor. It must not be a multiple-value field or a field within a
periodic group. It must not have the NU/NC option.
102
Adabas Utilities ADAFDU (File Definition)
ADAM_OVERFLOW
ADAM_OVERFLOW = number
This parameter specifies the number of DATA overflow blocks for the file. Overflow blocks are required
in case ADAM-calculated blocks get full. The overflow blocks are taken from the end of the files DATA
blocks.
The default is 1.
ADAM_PARAMETER
ADAM_PARAMETER = number
This parameter specifies the number of consecutive ISNs to be stored in one block if the keyword ISN is
specified for the ADAM_KEY parameter.
If the ADAM key is a descriptor with fixed-point format, the parameter specifies the number of
consecutive values for one block. For other key formats, it specifies an offset into the values. See
Administration for more information.
ADD_LOBFILE
The parameter ADD_LOBFILE is used to create a LOB file and assign it to an existing base file that is
specified by the first number, the base file must not yet have an assigned LOB file. A LOB file, with the
file number specified by the second number, is generated and assigned to the base file, and the base file is
enabled for LOB processing. A file with the specified file number must not yet exist. You can specify the
parameters describing the data storage, the address converter, the normal and upper index of the LOB file,
103
ADAFDU (File Definition) Adabas Utilities
The block size for LOB file data blocks must be 32 KB.
The block size for LOB NI and UI blocks must be < 16 KB.
It is not possible to specify FILE if you specify ADD_LOBFILE, and vice versa.
Because there are some predefined requirements for a LOB file, not all the other ADAFDU pa-rameters
make sense in connection with ADD_LOBFILE, for example the ADAM_* parameters. These parameters
are ignored by ADAFDU when the LOB file is added.
ASSOPFAC
ASSOPFAC = number
This parameter specifies the padding factor to be used for the files index. The number specified is the
percentage of each index block which is not to be used by a subsequent run of the mass update utility
ADAMUP. This padding area is reserved for future use if additional entries have to be added to the block
by the Adabas nucleus. This avoids the necessity of having to relocate overflow entries to another block.
A small padding factor (0 to 10) should be specified if little or no descriptor updating is expected. A larger
padding factor (10 to 50) should be specified if there is a large amount of descriptor updating in which
new descriptor values are created.
You can change the padding factor at a later time using the utility ADAORD.
[NO]BT
[NO]BT
If NOBT is specified, this file will be a no-BT file, which means that modifications to this file are not
made within normal transaction logic, and all modifications are kept in the database even if a transaction
is backed out.
BT is the default.
Note:
The following points should be considered if the nucleus crashes:
All database modifications for a no-BT file issued before the last ET command are applied to the
database.
104
Adabas Utilities ADAFDU (File Definition)
It is not defined whether database modifications for a no-BT file issued after the last ET command
are applied to the database or not.
[NO]CIPHER
[NO]CIPHER
Ciphering prevents the unauthorized analysis of Adabas container files. If ciphering is enabled, data
records are ciphered when they are stored in a database by either the Adabas nucleus or by the mass
update utility ADAMUP. The data records are then deciphered when they are requested by a user or
application: this means that the ciphering is completely transparent to the user or application. See
Administration, Adabas Security Facilities for further information about ciphering.
CONTIGUOUS
This parameter is used to control ADAFDUs space allocations. If specified, ADAFDU ensures that only
the first logical extent of the types specified is used.
DATAPFAC
DATAPFAC = number
This parameter specifies the padding factor to be used for the files Data Storage. The number specified is
the percentage of each data block which is not to be used when subsequently adding new records to the
file with the mass update utility ADAMUP or with the Adabas nucleus. This padding area is reserved for
future use if any record in the block requires additional space as a result of record updating by the Adabas
nucleus. This avoids the necessity of having to relocate the record to another block.
A small padding factor (0 to 10) should be specified if there is little or no record expansion. A larger
padding factor (10 to 50) should be specified if there is a large amount of record updating which will
cause expansion.
You can change the padding factor at a later time using the utility ADAORD.
105
ADAFDU (File Definition) Adabas Utilities
DBID
DBID = number
DSBLOCKSIZE
DSBLOCKSIZE = numberK
This parameter allows you to specify a block size for the allocation of the data storage extent.
Example:
dsblocksize = 6k
If the database does not contain enough space with this block size, ADAFDU aborts.
DSRABN
DSRABN = number
This parameter specifies the RABN at which the space allocation for Data Storage is to start.
This parameter can be used to allocate Data Storage to a given container file extent.
DSSIZE
This parameter specifies the number of blocks or megabytes to be assigned to Data Storage. By default,
the size is given in megabytes.
The value specified for DSSIZE determines the size of the logical extent allocated to Data Storage for the
file.
If this parameter is omitted, Adabas calculates a reasonable number of blocks to be used for data storage.
106
Adabas Utilities ADAFDU (File Definition)
FDT
FDT
If this parameter is specified, the FDT contained in the sequential file FDUFDT is displayed.
FILE
FILE = number
This parameter is required when a base file is to be created; it specifies the file number to be assigned to
the file.
The number specified must not be currently assigned to another file in the database and must not exceed
the maximum file number defined for the database.
It is not possible to specify FILE if you specify ADD_LOBFILE, and vice versa.
[NO]FORMAT
[NO]FORMAT
This option is used to control whether the RABNs allocated for the files index and Data Storage are to be
formatted or not. The RABNs of the files Address Converter are always formatted.
LOBFILE
If LOBFILE is specified, a LOB file with the specified number is generated and assigned to the base file
to be created, and the base file is enabled for LOB processing. A LOB file with the specified file number
must not already exist. You should take the following into consideration:
The block size for LOB file data blocks will be 32 KB.
The block size for LOB NI and UI blocks will be < 16 KB.
LOBSIZE specifies the size in Data storage of the LOB file, analogously to the parameter DSSIZE.
107
ADAFDU (File Definition) Adabas Utilities
Adabas calculates reasonable sizes for the Address converter, the normal and upper index of the LOB
file. If you want to specify these values yourself, you should create the base file first without specifying
LOBFILE, and then you should call ADAFDU again and add the LOB file with the ADD_LOBFILE
parameter.
MAXISN
MAXISN = number
This parameter specifies the highest ISN expected in the file. The file definition utility ADAFDU uses this
parameter to determine the amount of space to be allocated for the files Address Converter (AC).
108
Adabas Utilities ADAFDU (File Definition)
NAME
NAME = string
This parameter specifies the name to be assigned to the file. This name will appear together with data
about this file in the database status report produced by the report utility ADAREP. A maximum of 16
characters are permitted.
NIBLOCKSIZE
NIBLOCKSIZE = numberK|(numberK,numberK)
This parameter allows you to specify a block size for the allocation of the Normal Index. Note that the
Normal Index requires a block size >= 16 KB for large index values > 253 bytes, while a smaller block is
allocated for descriptors with smaller descriptor values. The following must be taken into consideration:
If you specify one block size, the file is created with all normal index blocks having this size.
If you specify two block sizes, one value should be < 16K, and one value should be >= 16K. You
should also specify two values for NISIZE; the first value for NIBLOCKSIZE corresponds to the
first value of NISIZE, and the second value for NIBLOCKSIZE corresponds to the second value of
NISIZE.
Examples:
niblocksize = 6k
The normal index will be allocated with 1000 blocks of block size 8 KB and 10 MB of block size 32 KB.
If the database does not contain enough space with this block size, ADAFDU aborts.
NIRABN
NIRABN = number|(number,number)
This parameter specifies the RABN at which the space allocation for the Normal Index is to start. This
parameter can be used to allocate the Normal Index to a given container file extent.
If two RABNs have been specified, one should have a block size < 16KB, and the other should have a
block size of >= 16KB.
109
ADAFDU (File Definition) Adabas Utilities
If both NIBLOCKSIZE and NIRABN are specified, the block sizes of the RABNs specified as NIRABN
must be equal to the values specified as NIBLOCKSIZE.
NISIZE
This parameter defines the number of blocks or megabytes to be assigned to the Normal Index. By default,
the size is in megabytes.
If the block size cannot be derived from the NIBLOCKSIZE or the NIRABN parameter, the first value for
NISIZE is used for blocks < 16KB, and the second value is used for blocks >= 16KB.
If this parameter is omitted, Adabas calculates a reasonable number of blocks to be used for the normal
index.
Examples:
adafdu: nisize = 100b
If the block size cannot be derived from the NIBLOCKSIZE or NIRABN parameter, 100 blocks with
block size < 16KB are allocated for the Normal Index.
adafdu: nisize = (10m,1000b)
If the block size cannot be derived from the NIBLOCKSIZE or NIRABN parameter, 10 MB of blocks
with block size < 16KB and 1000 blocks of block size >= 16KB are allocated for the Normal Index.
[NO]PGM_REFRESH
[NO]PGM_REFRESH
If PGM_REFRESH is specified, the file can be refreshed by an E1 command (reset to a state of zero
records loaded) when it is loaded.
REUSE
The REUSE parameter controls the reuse of Data Storage space or ISNs by Adabas.
110
Adabas Utilities ADAFDU (File Definition)
REUSE = [NO]DS
NODS causes all newly-added records, together with records that have to be moved to another block (as a
result of record expansion caused by updating) to be placed in the last used block in the Data Storage
extent allocated to the file. If there is not sufficient space in this block, the next block is used.
If the DS keyword is specified, Adabas will scan the Data Storage Space Table (DSST) in order to locate a
block with sufficient space. In this case, the first block found with sufficient space will be used.
The file control block for the specified file is modified to indicate the type of allocation to be used when
adding new records or moving updated records.
REUSE = [NO]ISN
If REUSE is set to NOISN, Adabas does not reuse the ISN of a deleted record for a new record. Each new
record will be assigned the next-highest unused ISN.
The ISN keyword specifies that Adabas may reuse the ISN of a deleted record.
Examples
adafdu: reuse = (isn, ds)
ISNs of deleted records can be reassigned to new records. The DSST is scanned for free space when a
record is added to the database or when an updated record is moved in the database.
adafdu: reuse = isn
Reuse of data storage and no reuse of ISNs is specified. This is the default setting.
UIBLOCKSIZE
UIBLOCKSIZE = numberK|(numberK,numberK)
This parameter allows you to specify a block size for the allocation of the Upper Index. Note that the
Upper Index requires a block size >= 16 KB for large index values > 253 bytes, while a smaller block is
allocated for descriptors with smaller descriptor values. The following must be taken into consideration:
If you specify one block size, the file is created with all normal index blocks having this size.
If you specify two block sizes, one value should be < 16K, and one value should be >= 16K. You
should also specify two values for UISIZE; the first value for UIBLOCKSIZE corresponds to the
first value of UISIZE, and the second value for UIBLOCKSIZE corresponds to the second value of
UISIZE.
111
ADAFDU (File Definition) Adabas Utilities
Examples:
uiblocksize = 6k
The upper index will be allocated with 1000 blocks of block size 8 KB and 10 MB of block size 32 KB.
If the database does not contain enough space with this block size, ADAFDU aborts.
UIRABN
UIRABN = number|(number,number)
This parameter specifies the RABN at which the space allocation for the Upper Index is to start. This
parameter can be used to allocate the Upper Index to a given container file extent.
If two RABNs have been specified, one should have a block size < 16KB, and the other should have a
block size of >= 16KB.
If both UIBLOCKSIZE and UIRABN are specified, the block sizes of the RABNs specified as UIRABN
must be equal to the values specified as UIBLOCKSIZE.
UISIZE
UISIZE = number [B | M]
This parameter defines the number of blocks or megabytes to be assigned to the Upper Index. By default,
the size is in megabytes.
If the block size cannot be derived from the UIBLOCKSIZE or the UIRABN parameter, the first value for
UISIZE is used for blocks < 16KB, and the second value is used for blocks >= 16KB.
If this parameter is omitted, Adabas calculates a reasonable number of blocks to be used for the upper
index.
112
Adabas Utilities ADAFDU (File Definition)
Examples
Example:
adafdu: dbid = 1, file = 6, maxisn = 20000, dssize = 100B,
adafdu: assopfac = 10, datapfac = 10,
adafdu: uisize = 20b, nisize = 5
File 6 is to be loaded. The maximum number of expected records preset for the file is 20000. 100 blocks
are allocated for Data Storage. The Associator and Data Storage block padding factors are both 10
percent. 20 blocks are allocated for the Upper Index and 5 megabytes for the Normal Index. The Normal
Index ISN size is implicitly set to 2.
Example:
adafdu: dbid = 1, file = 7, maxisn = 350000,
adafdu: assopfac = 5, datapfac = 15,
adafdu: dssize = 100,
adafdu: uisize = 2, nisize = 30
File 7 is to be loaded. The maximum number of expected records preset for the file is 350000. The
Associator padding factor is 5 percent. The Data Storage padding factor is 15 percent. 100 megabytes are
allocated for Data Storage. The Normal Index ISN size is implicitly set to 4.
Example:
adafdu: dbid = 1, file = 8,
adafdu: maxisn = 10000, dssize = 20,
adafdu: uisize = 10b, nisize = 50b
File 8 is to be loaded. The maximum number of expected records preset for the file is 10000. 20
megabytes are allocated to Data Storage. The padding factor for both the Associator and Data Storage is 5
percent (default).
Example:
adafdu: dbid = 1, file = 9, maxisn = 55000, dssize = 2000b, dsrabn = 30629,
adafdu: uisize = 50b, nisize = 300b,
adafdu: assopfac = 20, datapfac = 10
File 9 is to be loaded. The maximum number of expected records preset for the file is 55000. 2000 blocks
are allocated for Data Storage. The Data Storage allocation will start at RABN 30629. 50 blocks are
allocated for the Upper Index. 300 blocks are allocated for the Normal Index. The padding factor for the
Associator is 20 percent. The padding factor for Data Storage is 10 percent.
Example:
adafdu: dbid = 1, file = 10, maxisn = 20000
File 10 is to be loaded. The maximum number of records expected for the file is set to 20000. All space
allocation will be calculated by Adabas.
113
ADAFIN (File Information Report) Adabas Utilities
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Functional Overview
The file information utility ADAFIN displays
the FDT,
the number of blocks in the Data Storage, Normal Index or Upper Index and their usage
114
Adabas Utilities ADAFIN (File Information Report)
Procedure Flow
Environment Storage
Data Set Additional Information
Variable Medium
Associator ASSOx Disk
Data storage DATAx Disk
Control statements stdin Utilities Manual
ADAFIN messages stdout Messages and Codes
Work WORK1 Disk
Checkpoints
The utility writes no checkpoints.
Control Parameters
The following control parameters are available:
115
ADAFIN (File Information Report) Adabas Utilities
ADAM_DS = keyword
M DBID = number
FDT
D [NO]HISTOGRAM
ADAM_DS
ADAM_DS = keyword
This parameter can be used in conjunction with USAGE=DS for ADAM files. It selects the data section of
the ADAM file for which information is to be displayed. The following keywords can be used:
Keyword Meaning
FULL All of the DS space is selected
ADAM Only the ADAM area is selected
OVERFLOW Only the ADAM overflow area is selected
DBID
DBID = number
116
Adabas Utilities ADAFIN (File Information Report)
DESCRIPTOR
This function defines the list of descriptors for which information is to be displayed. If more than one file
is selected, information may only be requested for all descriptors (DESCRIPTOR = *).
The DESCRIPTOR function can only be executed if the selected files are not opened for update with the
nucleus running. This function can only be selected in conjunction with the FILE parameter.
The DESCRIPTOR function does not synchronize against parallel updates (for example ADAINV
REINVERT).
Examples
adafin: file=13, descriptor=ca
117
ADAFIN (File Information Report) Adabas Utilities
118
Adabas Utilities ADAFIN (File Information Report)
Highest PE-occurrence: 5
119
ADAFIN (File Information Report) Adabas Utilities
120
Adabas Utilities ADAFIN (File Information Report)
Total of 18 descriptors
FDT
FDT
This parameter displays the Field Definition Tables (FDTs) of the files selected with the FILE parameter.
This function can only be selected in conjunction with the FILE parameter.
Example
adafin: file=9, fdt
Database 1, File 9 (EMPLOYEES ) 27-OCT-2006 08:11:42
121
ADAFIN (File Information Report) Adabas Utilities
-------------------------------------------------------------------------------
SUPER I H1 I 4 I B I NU I AU ( 1 - 2 ) U
I I I I I AV ( 1 - 2 ) U
-------------------------------------------------------------------------------
SUB I S1 I 4 I A I I AO ( 1 - 4 ) A
-------------------------------------------------------------------------------
SUPER I S2 I 26 I A I NU I AO ( 1 - 6 ) A
I I I I I AE ( 1 - 20 ) W
-------------------------------------------------------------------------------
SUPER I S3 I 12 I A I NU,PE I AR ( 1 - 3 ) A
I I I I I AS ( 1 - 9 ) P
-------------------------------------------------------------------------------
FILE
This parameter selects one or more files from a database and displays information about these files in
accordance with the following parameter. Specifying FILE = * selects all files.
[NO]HISTOGRAM
[NO]HISTOGRAM
If the HISTOGRAM option is selected, a graphical overview of the descriptor-value length distributions
will be provided in all the information that is subsequently displayed by the DESCRIPTOR function.
Using the HISTOGRAM option does not lead to additional I/Os on the data sets.
122
Adabas Utilities ADAFIN (File Information Report)
adafin:
Keyword Meaning
Each value n shown in this column indicates that there is a descriptor value
with a length of n bytes in the file.
Length The range of values in this column lies between the minimum (column
"min") and maximum (column "max") values shown in the table before the
histogram.
The value shown in this column indicates the number of descriptor values
for the given descriptor length.
Frequency
The sum of the values in the frequency column is equal to the total number
of values for the descriptor in question.
If all of the descriptor values are of the same length, the histogram will be of an unusual type, e.g.:
adafin: file=9, histogram, descriptor=aa
Database 1, File 9 (EMPLOYEES ) 27-OCT-2006 08:15:16
123
ADAFIN (File Information Report) Adabas Utilities
This histogram shows that the file only contains descriptor values that have a length of 8 bytes. The file
contains a total of 1107 values for the descriptor AA.
USAGE
Depending on the keyword specified, this parameter displays the percentage of used blocks in the file.
Keyword Meaning
DS Displays statistics of used blocks in the Data Storage;
NI Displays statistics of used blocks in the Normal Index;
UI Displays statistics of used blocks in the Main/Upper Index.
Example
adafin: file=13, usage=ds
0%: 0 blocks
5%: 0 blocks
10%: 0 blocks
15%: 0 blocks
124
Adabas Utilities ADAFIN (File Information Report)
20%: 0 blocks
25%: 0 blocks
30%: 0 blocks
35%: 0 blocks
40%: 0 blocks
45%: 0 blocks
50%: 0 blocks
55%: 0 blocks
60%: 0 blocks
65%: 0 blocks
70%:**** 2 blocks
75%: 0 blocks
80%:** 1 block
85%:************* 6 blocks
90%:***************************** 13 blocks
95%:************************************************************* 27 blocks
100%: 0 blocks
Information about the used data blocks of file 13 in database 76 is displayed. 50 DS blocks are allocated,
of which 49 are in use and 1 is unused. The total number of records is 179, with the record length varying
between a maximum of 1991 and a minimum of 260. The average record length is 997.47. The following
lines give an overview of the number of blocks that are used up to a given level. The majority of the
blocks (27) is used up to between 90% and 95%.
125
ADAFIN (File Information Report) Adabas Utilities
85%: 0 blocks
90%: 0 blocks
95%: *** 3 blocks
100%: * 2 blocks
Information about all data blocks of file 8, which is an ADAM file, is displayed. The ADAM parameter is
set to 5. 94 blocks are used for the ADAM area, with 1 block reserved for overflow. The ADAM area
contains 3860 records, and 3 records are in the overflow area.
126
Adabas Utilities ADAFRM (Format And Create A New Database)
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Restart Considerations: This describes what to do if the utility is for some reason unable to run to
completion.
Control Statement Examples: This section gives some examples of using ADAFRM.
Functional Overview
The utility ADAFRM creates the container files (ASSO, DATA, WORK) assigned to the database and
establishes the database including the database system files. It can also be used to format the TEMP and
SORT files.
For the raw device interface, the utility ADADEV can be used if placement control is required. Raw
devices and files in the file system may be used for database container files.
You can create up to 255 ASSO and 255 DATA container files. You can add more containers later using
ADADBMs ADD_CONTAINER function. You can also create up to 2 WORK container files.
After ADAFRM creates the container files, it initializes the global Adabas blocks, inserts the 3 Adabas
system files (checkpoint file, ET data file, security file) and allocates space for them. The checkpoint file
is allocated 3000 records, the ET data file is allocated 3000 records and the security file is allocated 200
records.
Block sizes from 1 kilobyte to 32 kilobytes may be used for database container files.
If you try to reformat a container file, the utility terminates with an error message. This ensures that the
database is not accidentally overwritten.
127
ADAFRM (Format And Create A New Database) Adabas Utilities
Procedure Flow
If a database is to be formatted:
Environment
Data Set Storage Medium Additional Information
Variable
Associator ASSOx Disk
Data storage DATAx Disk
Control statements stdin Utilities Manual
ADAFRM messages stdout Messages and Codes
Work WORK1 Disk
Environment
Data Set Storage Medium Additional Information
Variable
Sort storage SORTx Disk
Control statements stdin Utilities Manual
ADAFRM messages stdout Messages and Codes
Temporary storage TEMPx Disk
128
Adabas Utilities ADAFRM (Format And Create A New Database)
Checkpoints
The utility writes no checkpoints.
Control Parameters
The following control parameters are only used when establishing a new database:
DBID = number
D NAME = string
D WORKBLOCKSIZE = number[K]
M WORKSIZE = number[M | B]
ASSOBLOCKSIZE
This parameter specifies the block sizes that are to be used for the Associator container file(s). The first
block size corresponds to ASSO1, the second to ASSO2 etc.
For ASSO1, only blocks sizes from 2K to 8K can be specified. For ASSO2 to ASSOn, block sizes
between 1K and 32K are permitted.
ASSOSIZE
This parameter specifies the number of blocks or megabytes to be assigned to the Associator.
129
ADAFRM (Format And Create A New Database) Adabas Utilities
If the Associator is to be contained in more than one physical file, the size of each file must be specified.
DATABLOCKSIZE
This parameter specifies the block sizes that are to be used for the Data Storage container file(s). The first
block size corresponds to DATA1, the second to DATA2 etc.
If block sizes are not specified, the default of 32K will be used.
DATASIZE
This parameter specifies the number of blocks or megabytes to be assigned to the Data Storage.
If the Data Storage is to be contained in more than one file, the size of each file must be specified.
DBID
DBID = number
Note:
This parameter only needs to be set when formatting ASSO, DATA and WORK. It must not be entered
when formatting only SORT or TEMP.
NAME
NAME = string
This parameter specifies the name to be assigned to the database. This name will appear in the title of the
database status report produced by the report utility ADAREP.
130
Adabas Utilities ADAFRM (Format And Create A New Database)
SORTSIZE
This parameter specifies the number of megabytes to be assigned to the SORT dataset.
If the SORT dataset is consists more than one extent, the size of each extent must be specified. Up to 50
extents can be specified. The SORT dataset can be formatted independently.
SYSFILES
This parameter specifies the file numbers to be reserved for the Adabas system files. These file numbers
must not be used subsequently for user files.
The first value specifies the file number of the checkpoint file.
The second value specifies the file number of the security file.
The third value specifies the file number of the user data file.
TEMPSIZE
If the TEMP dataset is to be contained in more than one physical file, the size of each file must be
specified.
WORKBLOCKSIZE
WORKBLOCKSIZE = number[K]
This parameter specifies the block size that is to be used for the WORK file.
131
ADAFRM (Format And Create A New Database) Adabas Utilities
WORKSIZE
Restart Considerations
ADAFRM does not have a restart capability. An interrupted ADAFRM run must be restarted from the
beginning. Associator, Data Storage and WORK must be formatted together.
A new database is established with the number 1 and the name "DATABASE_1". Two ASSO container
files are created: ASSO1 has a size of 200 megabytes and a blocksize of 2 kilobytes, and ASSO2 has a
size of 100 megabytes and a blocksize of 4 kilobytes. There are three DATA containers. DATA1 and
DATA3 have a blocksize of 4 kilobytes, DATA2 has a blocksize of 16 kilobytes. There is a single WORK
container file with a block size of 16 kilobytes. The file numbers 1, 2 and 3 will be used for the 3 system
files.
Explanation: Two container files, each 10 megabytes in length, are to be formatted as SORT1 and
SORT2. A container file, 10 megabytes in length, is to be formatted as TEMP1.
132
Adabas Utilities ADAINV (Creating, Removing And Verifying Inverted Lists)
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Restart Considerations: This describes what to do if the utility is for some reason unable to run to
completion.
Functional Overview
The inverted list utility ADAINV creates, removes and verifies inverted lists for loaded files in a database.
It does not require the Adabas nucleus to be active. The nucleus may, however, be active or shut down
while ADAINV is running. The following functions are available:
The SUMMARY function displays the descriptor space summary for the specified descriptors and
the required sizes to process these descriptors;
A LOB file can only be specified for the functions REINVERT, SUMMARY and VERIFY.
These functions are mutually exclusive and only one of them may be executed each time this utility is run.
133
ADAINV (Creating, Removing And Verifying Inverted Lists) Adabas Utilities
If the utility writes records to the error file, it will exit with a non-zero status.
Procedure Flow
The sequential file INVERR can have multiple extents. For detailed information about sequential files
with multiple extents, see Administration, Using Utilities.
134
Adabas Utilities ADAINV (Creating, Removing And Verifying Inverted Lists)
Environment Storage
Data Set Additional Information
Variable Medium
Associator ASSOx Disk
Data storage DATAx Disk
Disk, Tape (* see
Rejected data INVERR output of ADAINV
note)
SORTx Administration Manual, temporary working
Sort storage Disk
TEMPLOCx space
Control
stdin Utilities Manual
statements
ADAINV
stdout Messages and Codes
messages
Temporary
TEMPx Disk
storage
Work storage WORK1 Disk
Note:
(*) A named pipe can be used for this sequential file (see Administration, Using Utilities for details).
In cases without an active nucleus and no pending AUTORESTART, the WORK may be used as TEMP
by setting the environment variable TEMP1 to the path name or raw disk section of a WORK container.
Checkpoints
Checkpoints
The following table shows the nucleus requirements for each function and the checkpoints written:
Note:
(*) When processing an Adabas system file.
135
ADAINV (Creating, Removing And Verifying Inverted Lists) Adabas Utilities
Control Parameters
The following control parameters are available:
M DBID = number
INVERT = number,
FIELDS {field_name [,UQ] [,TR] | derived_descriptor_definition | FDT}, ... [END_OF_FIELDS]
[,FDT]
D [,LWP = number[K]]
D [,UQ_CONFLICT = keyword]
REINVERT = number,
{ALL_FIELDS | FIELDS {descriptor_name | FDT}, ... [END_OF_FIELDS]}
[,FDT]
D [,[NO]FORMAT]
D [,LWP = number[K]]
D [,UQ_CONFLICT = keyword]
RELEASE = number,
{ALL_FIELDS | FIELDS {descriptor_name | FDT}, ... [END_OF_FIELDS]}
[,FDT]
D [,[NO]FORMAT]
RESET_UQ = number,
{ALL_FIELDS | FIELDS {descriptor_name | FDT}, ... [END_OF_FIELDS]}
[,FDT]
SET_UQ = number,
{ALL_FIELDS | FIELDS {descriptor_name | FDT}, ... [END_OF_FIELDS]}
[,FDT]
D [,UQ_CONFLICT = keyword]
SUMMARY = number,
{ALL_FIELDS | FIELDS
{descriptor_name | derived_descriptor_definition | FDT}, ... [END_OF_FIELDS]}
[,FDT]
D [,FULL]
VERIFY = number,
{ALL_FIELDS | FIELDS {descriptor_name | FDT}, ... [END_OF_FIELDS]}
D [,ERRORS = number]
[,FDT]
D [,LWP = number[K]]
DBID
DBID = number
INVERT
136
Adabas Utilities ADAINV (Creating, Removing And Verifying Inverted Lists)
INVERT = number,
FIELDS {field_name [,UQ] [,TR] | derived_descriptor_definition | FDT}, ... [END_OF_FIELDS]
[,FDT]
[,LWP = number[K]]
[,UQ_CONFLICT = keyword]
This function establishes new elementary, sub-, super-, hyper- and phonetic descriptors at any time after a
file has been initially loaded. number specifies the file containing the fields to be inverted. You are not
allowed to specify the number of a LOB file.
FDT
This parameter displays the FDT of the selected file. This option may be specified before or within the
field specification list.
field name,
phonetic descriptor or
specifications, each starting on a separate line. See Administration, FDT Record Structure for valid
specifications of field names, phonetic, sub-, super- or hyperdescriptors.
The options UQ and TR are used to specify whether the field in question is a unique descriptor or whether
index truncation will be performed. See Administration, Definition Options for further information about
the UQ and TR options.
Note:
Only fields for which the values are stored in the base file can be used as descriptors or parent fields of
derived descriptors. For this reason, an invert function will be aborted if a field to be inverted or a parent
field of a derived descriptor to be created has the LA or LB option and values are stored in the LOB file.
LA and LB fields can be used as descriptors or parent fields of derived descriptors, but then all values are
limited to 16 KB 3, and the base record including these LA or LB field values must fit into one data
block.
LWP = number[K]
This parameter specifies the size of the Work Pool in bytes or in kilobytes (K) to be used for the sort while
creating the inverted lists.
You can use the SUMMARY function to determine the required value for this parameter.
137
ADAINV (Creating, Removing And Verifying Inverted Lists) Adabas Utilities
UQ_CONFLICT = keyword
This parameter determines which action is to be taken when duplicate values are found for a unique
descriptor. keyword may take the values ABORT or RESET. If ABORT is specified, ADAINV
terminates execution and returns an error status if duplicate UQ descriptor values are found. If RESET is
specified, the UQ status of the descriptors in question is removed and processing continues.
REINVERT
REINVERT = number,
{ALL_FIELDS | FIELDS {descriptor_name | FDT}, ... [END_OF_FIELDS]}
[,FDT]
[,[NO]FORMAT]
[,LWP = number[K]]
[,UQ_CONFLICT = keyword]
This function performs an implicit RELEASE and INVERT. This reduces the probability of a typing
error, especially for sub- and superdescriptors.
ALL_FIELDS
This parameter specifies that all descriptors of the selected file are to be released/inverted.
FDT
This parameter displays the FDT of the selected file. This option may be specified before or within the
fields specification list.
This parameter specifys the descriptors to be released/re-inverted. It can be followed by one or more field
names, each starting on a separate line. See Administration, FDT Record Structure for a description of
valid field name specifications.
[NO]FORMAT
If a descriptor is released or re-inverted, the new index created is generally smaller than the old index and
requires less disk space. The FORMAT option can be used to format the blocks that are no longer used by
the index but which are still allocated to the file.
LWP = number[K]
This parameter specifies the size of the Work Pool to be used for the sort. This is an internal sort to
recover lost index blocks when rebuilding the upper index.
You can use the SUMMARY function to determine the required value for this parameter.
138
Adabas Utilities ADAINV (Creating, Removing And Verifying Inverted Lists)
UQ_CONFLICT = keyword
This parameter determines which action is to be taken when duplicate values are found for a unique
descriptor. keyword may take the values ABORT or RESET. If ABORT is specified, ADAINV
terminates execution and returns an error status if duplicate UQ descriptor values are found. If RESET is
specified, the UQ status of the descriptors in question is removed and processing continues.
RELEASE
RELEASE = number,
{ALL_FIELDS | FIELDS {descriptor_name | FDT}, ... [END_OF_FIELDS]}
[,FDT]
[,[NO]FORMAT]
This function removes elementary, sub-, super-, hyper- and phonetic descriptors from the file specified by
number. You are not allowed to specify the number of a LOB file.
ALL_FIELDS
This parameter specifies that all descriptors of the selected file are to be released.
FDT
This parameter displays the FDT of the selected file. This option may be specified before or within the
fields specification list.
This parameter specifys the descriptors to be released. It can be followed by one or more field names, each
starting on a separate line. See Administration, FDT Record Structure for a description of valid field name
specifications.
[NO]FORMAT
If a descriptor is released or re-inverted, the new index created is generally smaller than the old index and
requires less disk space. The FORMAT option can be used to format the blocks that are no longer used by
the index but which are still allocated to the file.
RESET_UQ
RESET_UQ = number,
{ALL_FIELDS | FIELDS {descriptor_name | FDT}, ... [END_OF_FIELDS]}
[,FDT]
139
ADAINV (Creating, Removing And Verifying Inverted Lists) Adabas Utilities
This function removes the unique status from elementary, sub-, hyper- and superdescriptors defined in the
file specified by number. You are not allowed to specify the number of a LOB file.
ALL_FIELDS
This parameter specifies that the unique status is to be removed from all unique descriptors in the
specified file.
FDT
This parameter displays the Field Definition Table (FDT) of the selected file. This option may be
specified before or within the fields specification list.
This parameter specifys the descriptors that are to have unique status removed. It can be followed by one
or more field names, each starting on a separate line. See Administration, FDT Record Structure for a
description of valid field name specifications.
SET_UQ
SET_UQ = number,
{ALL_FIELDS | FIELDS {descriptor_name | FDT}, ... [END_OF_FIELDS]}
[,FDT]
[,UQ_CONFLICT = keyword]
This function establishes the unique status for elementary, sub-, hyper- and superdescriptors defined in the
file specified by number. You are not allowed to specify the number of a LOB file.
ALL_FIELDS
This parameter specifies that the unique status is to be established for all elementary, sub-, hyper- and
superdescriptors defined in the specified file.
FDT
This parameter displays the FDT of the selected file. This option may be specified before or within the
fields specification list.
This parameter specifys the descriptors for which the unique status is to be established. It can be followed
by one or more field names, each starting on a separate line. See Administration, FDT Record Structure
for a description of valid field name specifications.
UQ_CONFLICT = keyword
This parameter determines which action is to be taken when duplicate values are found for a unique
descriptor. keyword may take the values ABORT or RESET. If ABORT is specified, ADAINV
terminates execution and returns an error status if duplicate descriptor values are found. If RESET is
specified, the UQ status of the descriptors in question is not established and processing continues.
140
Adabas Utilities ADAINV (Creating, Removing And Verifying Inverted Lists)
SUMMARY
SUMMARY = number,
{ALL_FIELDS | FIELDS
{descriptor_name | derived_descriptor_definition | FDT}, ... [END_OF_FIELDS]}
[,FDT]
[,FULL]
This function displays the descriptor space summary (DSS) for the specified descriptors and the required
sizes to process the descriptors.
Note:
Processing the exact size would be too complicated. It may be that sizes a little smaller than those
displayed are sufficient. If the file is updated during or after the SUMMARY function, the displayed
values might also be too small.
ALL_FIELDS
This parameter specifies that all descriptors of the selected files are to be checked.
FDT
This parameter displays the FDT of the selected file. This option may be specified before or within the
fields specification list.
This parameter specifys the descriptors for which the unique status is to be established. It can be followed
by one or more field names, phonetic descriptors, subdescriptors, superdescriptors or hyperdescriptors,
each starting on a separate line. You can specify fields that are descriptors or fields that are not
descriptors. See Administration, FDT Record Structure for a description of valid field name specifications.
FULL
If this is specified, each descriptor is displayed along with the sizes that are required for the descriptor.
This can be helpful if not all of the specified fields are to be processed.
VERIFY
VERIFY = number,
{ALL_FIELDS | FIELDS {descriptor_name | FDT}, ... [END_OF_FIELDS]}
[,ERRORS = number]
[,FDT]
[,LWP = number[K]]
This function checks the integrity of inverted lists of the file specified by number.
141
ADAINV (Creating, Removing And Verifying Inverted Lists) Adabas Utilities
ALL_FIELDS
This parameter specifies that all descriptors of the selected file are to be checked.
ERRORS = number
This parameter specifies the number of errors that have to be reported in order to terminate the verification
of a descriptor.
FDT
This parameter displays the FDT of the selected file. This option may be specified before or within the
fields specification list.
This parameter specifiys the descriptor fields to be verified. It can be followed by one or more field
names, each starting on a separate line. See Administration, FDT Record Structure for a description of
valid field name specifications.
LWP = number[K]
This parameter specifies the size of the Work Pool to be used for the sort while verifying the inverted lists.
You can use the SUMMARY function to determine the required value for this parameter.
Restart Considerations
ADAINV has no restart capability. However, it may or may not be possible to re-start an abnormally
terminated ADAINV from the beginning.
If ADAINV terminates abnormally, it can usually be restarted from the beginning. However, if ADAINV
has modified the index, the following points have to be considered:
The function REINVERT ... FIELDS is the same as the function RELEASE ... FIELDS followed by
the function INVERT ... FIELDS. So if ADAINV has aborted in the INVERT phase, perform the
function INVERT ... FIELDS to restart the operation.
If ADAINV is performed offline, there is a very small amount of time where a few records that
together form a logical unit are written to disk. If ADAINV terminates after the first of these records
has been written and before the last has been written, ADAINV cannot be restarted. In this case, the
function REINVERT ... ALL_FIELDS is required. This cannot happen if ADAINV is performed
online.
If ADAINV terminates abnormally, it can happen that some index blocks are lost. These index
blocks can only be recovered by the function REINVERT ... ALL_FIELDS or by using the utility
ADAORD or by using the utilities ADAULD and ADAMUP.
142
Adabas Utilities ADAINV (Creating, Removing And Verifying Inverted Lists)
Examples
Example 1
adainv: dbid=1
adainv: invert=10, fields
adainv: HO
Example 2
adainv: dbid=1
adainv: invert=10
adainv: lwp=600k
adainv: fields
adainv: ph=phon(na)
adainv: sp=na(1,3),yy(1,2),uq
adainv: bb,uq
Three new descriptors are established for file 10 in database 1. PH is a phonetic descriptor based on the
field NA. SP is a unique superdescriptor derived from bytes 1 to 3 of field NA and bytes 1 to 2 of field
YY. The elementary field BB is changed to descriptor status and the unique flag is set. The size of the
work pool to be used for the sort is increased to 600 K.
Example 3
adainv: dbid=1
adainv: release=10
adainv: fields
adainv: ho
adainv: ph
The two descriptors HO and PH from the examples above are released.
Example 4
adainv: dbid = 1, verify = 10
adainv: errors = 5
adainv: fields
adainv: sp
adainv: na
adainv: end_of_fields
The descriptors SP and NA are verified. The descriptor value table entries generated for descriptor NA are
checked against the decompressed values of this field. Verification is terminated if more than five errors
are reported for each descriptor.
Example 5
adainv: dbid = 1, reinvert = 10
adainv: fields
adainv: na
143
ADAINV (Creating, Removing And Verifying Inverted Lists) Adabas Utilities
The descriptor NA in file 10 of database 1 is to be re-inverted (this may be necessary if errors are reported
in example 4).
Example 6
adainv: dbid = 1, set_uq=10
adainv: fields
adainv: na
adainv: end_of_fields
adainv: uq_conflict=reset
The unique status is to be established for the descriptor NA in file 10 of database 1. If there is more than
one ISN per descriptor value, the conflicting ISNs are written to the error log and the unique status is
removed.
Example 7
adainv: dbid = 1, reset_uq=10
adainv: fields
adainv: sp
Example 8
adainv: db=33
adainv: summary=112
adainv: fields
adainv: ab
adainv: ae
adainv: s1=ap(1,1),aq(1,1),ar(1,1)
adainv: s2=ac(1,3),ad(1,8),ae(1,9)
adainv: s3=ao(2,3)
144
Adabas Utilities ADAMUP (Mass Add And Delete)
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Restart Considerations: This describes what to do if the utility is for some reason unable to run to
completion.
SORT Data Set Placement: This section provides advice on where to place the SORT data set in
order to maximize performance.
TEMP Data Set Placement: This section provides some comments on the use of the TEMP data set.
Functional Overview
The mass update utility ADAMUP adds records to, or deletes records from a file in a database. It does not
require the Adabas nucleus to be active.
The output files produced by the compression utility ADACMP or the unload utility ADAULD may be
used as input for a mass add.
Input files produced by ADACMP or ADAULD with the SINGLE_FILE option or from a previous run of
ADAMUP using the DELETE function with the LOG option can also be used.
Input files produced without descriptor value tables (SHORT option in ADAULD or LOG=SHORT
option in ADAMUP) can be processed if the database file to be processed does not contain any
descriptors.
The input for the DELETE function is provided in an input file. Each record contains one or more ISNs or
ISN ranges.
Records may be both added to and deleted from a database file during a single run of ADAMUP.
If the utility writes records to the error file, it will exit with a non-zero status.
145
ADAMUP (Mass Add And Delete) Adabas Utilities
Procedure Flow
ADD Function
The sequential files MUPDTA, MUPDVT, MUPTMP and MUPERR can have multiple extents. For
detailed information about sequential files with multiple extents, see Administration, Using Utilities.
146
Adabas Utilities ADAMUP (Mass Add And Delete)
Environment Storage
Data Set Additional Information
Variable Medium
Associator ASSOx Disk
Data storage DATAx Disk
Compressed input
MUPDTA Tape, Disk
data
Descriptor values MUPDVT Tape, Disk
Disk, Tape (* see
Rejected data MUPERR
note)
Normal index MUPTMP Disk, Tape
SORTx Administration Manual, temporary working
Sort storage Disk
TEMPLOCx space
Control statements stdin Utilities Manual
ADAMUP
stdout Messages and Codes
messages
Temporary storage TEMPx Disk
Work WORK1 Disk
Note:
(*) A named pipe can be used for this sequential file (see Administration, Using Utilities for details).
In cases without an active nucleus and no pending AUTORESTART, the WORK may be used as TEMP
by setting the environment variable TEMP1 to the same value as WORK1.
147
ADAMUP (Mass Add And Delete) Adabas Utilities
DELETE Function
The sequential files MUPTMP, MUPLOG and MUPERR can have multiple extents. For detailed
information about sequential files with multiple extents, see Administration, Using Utilities.
148
Adabas Utilities ADAMUP (Mass Add And Delete)
Environment Storage
Data Set Additional Information
Variable Medium
Associator ASSOx Disk
Data storage DATAx Disk
Disk, Tape (* see
Rejected data MUPERR
note)
ISNs to be deleted MUPISN Disk, Tape
Compressed data MUPLOG Disk, Tape
Normal index MUPTMP Disk, Tape
SORTx Administration Manual, temporary working
Sort storage Disk
TEMPLOCx space
Control statements stdin Utilities Manual
ADAMUP
stdout Messages and Codes
messages
Work WORK1 Disk
Note:
(*) A named pipe can be used for this sequential file (see Administration, Using Utilities for details).
Checkpoints
The following table shows the nucleus requirements for each function and the checkpoints written:
Note:
(*) When updating an Adabas system file.
Control Parameters
The following control parameters are available:
149
ADAMUP (Mass Add And Delete) Adabas Utilities
M DBID = number
FDT
SUMMARY
DBID
DBID = number
FDT
FDT
This parameter displays the Field Definition Table (FDT) of the selected file in the database. If records are
to be added to a file, the FDT of the sequential input file containing these records can also be displayed.
This parameter may also be used in an ADD/DELETE specification.
Depending on the context in which the FDT parameter is used, the Field Definition Table contained in the
sequential input file MUPDTA and/or the Field Definition Table contained in the selected database file is
displayed.
SUMMARY
SUMMARY
This parameter displays the Descriptor Space Summary (DSS) on the sequential input file that contains
the compressed records. This display is identical to the one at the end of the ADACMP, ADAULD or
ADAMUP run which generated this input file, and can be used to estimate the space required in the index.
Because the information has to be obtained from the last block of the input file on magnetic tape, a
mechanical fast wind is required and some delay should be expected.
150
Adabas Utilities ADAMUP (Mass Add And Delete)
recommended TEMP size (the size required to do the index update in one pass)
Recommended size of LWP and SORT (if LWP is large enough to allow a smaller SORT size to be
used).
Note:
If the default LWP is large enough to do a memory-resident sort, SORT sizes are not displayed.
UPDATE
This function specifies the file to which records are to be added/deleted. Since ADAMUP requires
exclusive control of the file, it cannot be used for an Adabas system file while the nucleus is active. You
are not allowed to specify a LOB file
ADD
ADD
[,DE_MATCH = keyword]
[,FDT]
[,[NO]NEW_FDT]
[,NUMREC = number]
[,SKIPREC = number]
[,UQ_CONFLICT = keyword]
[,[NO]USERISN]
This parameter indicates that records are to be added to the file specified by the UPDATE parameter.
The input for mass add is produced by the compression utility ADACMP, the unload utility ADAULD or
by a previous run of the mass update utility ADAMUP using the DELETE function with the LOG option
set.
ADAMUP compares the FDT in the sequential input file that contains the compressed records with the
FDT of the database file specified. The FDTs must have identical layouts and must use the same field
names, formats, lengths and options.
Descriptors in the database file can be a subset of the descriptors defined in the FDT in the sequential
input file, but the input file must contain descriptor value table (DVT) entries for all descriptors defined in
the database file. Therefore, input files produced without descriptor value tables (SHORT option) can only
be processed if there are no descriptors currently defined in the database file to be updated.
151
ADAMUP (Mass Add And Delete) Adabas Utilities
If the input for mass update contains LOB data, the Adabas file must have an assigned LOB file.
DE_MATCH = keyword
This parameter is used to indicate which action is to be taken if a descriptor provided with the input data is
not a descriptor in the actual FDT of the file. If keyword = IDENTICAL, ADAMUP terminates processing
and returns an error message. If keyword = SUBSET, ADAMUP ignores a descriptor which is in the input
file, but which has been removed from the database file.
[NO]NEW_FDT
If NEW_FDT is specified, the FDT of the file is replaced by the FDT of the MUPDTA file. NEW_FDT
can only be specified if the file is empty when ADAMUP is started.
NEW_FDT must be specified if the FDT of the file in the database and the FDT of the MUPDTA file are
different - a mass update is not possible if the FDTs are different and the file is not empty.
NUMREC = number
This parameter specifies the number of records to be added. If NUMREC is specified, ADAMUP
terminates after adding the predefined number of records, unless an end-of-file condition on the input file
causes ADAMUP processing to end. If NUMREC is omitted and SKIPREC is not specified, all records in
the input file are added.
SKIPREC = number
This parameter specifies the number of records in the input file to be skipped before starting to add
records.
UQ_CONFLICT = keyword
This parameter is used to indicate which action is to be taken if duplicate values are found for a unique
descriptor. keyword may take the values ABORT or RESET. If ABORT is specified, ADAMUP
terminates execution and returns an error status if duplicate UQ descriptor values are found. If RESET is
specified, conflicting ISNs are written to the error log, the UQ status of the descriptors in question is
removed and processing continues.
[NO]USERISN
This option indicates whether the ISN to be assigned to each record is to be taken from the input file or
not.
This option should be set to USERISN if the user wants to control ISN assignment for each record added
to the database file. Each ISN provided must be:
152
Adabas Utilities ADAMUP (Mass Add And Delete)
within the current limit (MAXISN) for the file - the files Address Converter is not automatically
extended;
Note that problems could arise if this option is set to USERISN for an input file created by an unload that
is based on a descriptor which is a multiple-value field. This is because the same record may have been
unloaded more than once. Please refer to the ADAULD utility, SORTSEQ parameter for more
information.
If this option is set to NOUSERISN, the ISN for each record is assigned by ADAMUP. However, the ISN
of a DVT record that has been previously re-vectored by a hyperexit will not be changed by ADAMUP.
DELETE
DELETE
[,DATA_FORMAT = keyword]
[,FDT]
[,ISN_NOT_PRESENT = keyword]
[,LOG = keyword | ,NOLOG]
This parameter indicates that records are to be deleted from the file specified by the UPDATE parameter.
The ISNs of the records to be deleted are given in an input file.
DATA_FORMAT = keyword
This parameter defines the data type of the records in the input file containing the ISNs to be deleted. Each
record contains one or more ISNs or ISN ranges.
In accordance with the formats supported, keyword may take the following values:
153
ADAMUP (Mass Add And Delete) Adabas Utilities
Keyword Meaning
A single ISN is contained in a 4 byte binary value, an ISN range is contained in
two consecutive binary values, with the high-order bit set in the second value.
ADAMUP validates all input records in a first step. ADAMUP displays the line number and the offset for
each error that is detected. If an error is detected, ADAMUP terminates execution once the input file has
been completely parsed.
ISN_NOT_PRESENT = keyword
This parameter indicates the action to be taken when an ISN given in the input file of records to be deleted
is:
Keyword Meaning
ADAMUP aborts execution and returns an error message if a conflicting ISN is
ABORT
detected.
IGNORE ADAMUP writes the conflicting ISNs to the error log and continues processing.
LOG = keyword
NOLOG
LOG=keyword indicates that the deleted records are logged in a sequential file. The records are written in
compressed format and are identical to those produced by the compression utility ADACMP and the
unload utility ADAULD. Because each data record is preceded by its ISN, these ISNs can be used as user
ISNs when reloading or mass-adding this file (see the USERISN option described above).
154
Adabas Utilities ADAMUP (Mass Add And Delete)
Keyword Meaning
The descriptor values which are required to build the index, are included in the
FULL
output file.
The descriptor values which are required to build the index, are omitted from the
SHORT
output file.
ADAMUP writes both the compressed data records and the descriptor values generated to a single file.
[NO]FORMAT
This option may be used to format blocks at the end of the files Normal Index (NI) and Upper Index (UI)
extents if the new index (after the modifications have been made) requires less space than the old index
did. This may be the result of deletions within the index, recovery of lost index blocks or re-establishing
the padding factor.
Because these blocks are returned to the files unused blocks, there are no side-effects if the data stored in
these blocks is not deleted. If this option is set to FORMAT, ADAMUP overwrites these blocks with
binary zeros.
LWP = number[K]
This parameter specifies the size of the Work Pool to be used for the sort during ADAMUP execution.
Restart Considerations
ADAMUP has no restart capability. An abnormally terminated ADAMUP must be rerun from the
beginning.
If the Data Storage space becomes exhausted, ADAMUP will not abort, but will attempt to build the index
for the records that have already been loaded; this means that the file is consistent, and the remaining
records can then be loaded with the SKIPREC option after additional Data Storage space has been
allocated.
The SORT data set may be omitted when adding only small amounts of data. ADAMUP then performs an
in-core sort.
155
ADAMUP (Mass Add And Delete) Adabas Utilities
Use the SUMMARY function to get information about the required SORT and LWP sizes.
Examples
Example 1:
adamup: dbid=1
adamup: update=10
adamup: add, userisn
File 10 of database 1 is updated by adding new records. The ISN given with each input record is used.
Example 2:
adamup: dbid=1
adamup: update=10
adamup: delete
The records identified by the ISNs provided on the input file are to be deleted from file 10 of database 1.
The ISNs to be deleted are in binary format.
Example 3:
adamup: dbid=1
adamup: update=10
adamup: add, skiprec=1000
adamup: delete, data_format=decimal, log=full
New records are to be added while old ones are deleted from file10 of database 1. The first thousand
records found on the input file are not added. The ISN for each record added is assigned by ADAMUP.
The ISNs of the records to be deleted are supplied in decimal format on the input file. All records which
have been deleted are logged on an output file. The values required to re-create the inverted list when
reloading are included in the log.
156
Adabas Utilities ADANUC (Starting The Database, Defining Nucleus Parameters)
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Summary of ADANUC Parameters: This section provides a table of the names of the nucleus
parameters, stating where appropriate the minimum and maximum allowed values, default values,
and whether the parameter can be altered while the nucleus is active.
Functional Overview
The nucleus parameters are used to define the Adabas nucleus runtime environment.
The setting of various Adabas session parameters, such as the maximum Adabas buffer size and the
transaction and user non-activity time limits;
The type and amount of command data to be logged during the Adabas session. These parameters
apply to statistical information and not to the logging of database updates on the Adabas data
protection log.
Notes:
1. If ADANUC terminates with a stop error during nucleus startup, e.g. STP055 or STP997, the reason
is probably that there are not enough operating system resources (for example memory) available in
order to start the nucleus with the specified parameters. You can prevent the stop error from
occurring by reducing the values of some nucleus parameters (for example NT or LBP).
2. At the start of the first nucleus session after a database has been created or restored, the Adabas
nucleus initializes all of the blocks of the WORK container. For a large WORK container this may
take a few minutes. The database will only be available after the initialization of the WORK
157
ADANUC (Starting The Database, Defining Nucleus Parameters) Adabas Utilities
Procedure Flow
The sequential files NUCPLG and NUCCLG can have multiple extents. For detailed information about
sequential files with multiple extents, see Administration, Using Utilities.
158
Adabas Utilities ADANUC (Starting The Database, Defining Nucleus Parameters)
Environment
Data Set Storage Medium Additional Information
Variable
Associator ASSOx Disk
Utilities Manual,
Command log NUCCLG Disk, Tape
ADACLP
Data storage DATAx Disk
Utilities Manual,
Protection log NUCPLG Disk
ADAPLP
Control statements stdin Utilities Manual
ADANUC messages stdout Messages and Codes
Work WORK1 Disk
Adabas dump
CSA dump ADA_CSA_DUMP Disk
(see ADAOPR RESPONSE_CHECK)
Checkpoints
The following table shows the checkpoints written by the nucleus:
Control Parameters
The following control parameters are available:
159
ADANUC (Starting The Database, Defining Nucleus Parameters) Adabas Utilities
D AR_CONFLICT = keyword
BFIO_PARALLEL_LIMIT = number
D [NO]BI
D CLOGBMAX = number [K | M]
D CLOGLAYOUT = [5 | 6]
M DBID = number
D LAB = number [K | M]
D LBP = number [K | M]
D LPXA = number
D LWP = number [K | M]
D MGC = number
D NCL = number
D NISNHQ = number
D NT = number
D NU = number
D OPTIONS = (keyword[,keyword]...)
D [NO]PLOG
D TNAA = number
D TNAE = number
D TNAX = number
D TT = number
USEREXITS = (number[,number]...)
D WRITE_LIMIT = number
ADABAS_ACCESS
160
Adabas Utilities ADANUC (Starting The Database, Defining Nucleus Parameters)
If ADABAS_ACCESS = GROUP is specified, only those users that belong to the group of the user
starting Adabas, for example sag, may perform Adabas calls.
Note:
This parameter only applies to local Adabas calls in UNIX environments.
AR_CONFLICT
AR_CONFLICT = keyword
This parameter specifies the action to be taken if a restart detects that the last system crash was during a
buffer flush. The following keywords can be used:
Keyword Meaning
ABORT no restart is performed
CONTINUE the system tries to perform a restart
It is recommended to keep the setting AR_CONFLICT=ABORT. Only if the nucleus does not come up
due to an interrupted buffer flush, then temporarily AR_CONFLICT=CONTINUE should be set.
Note:
You should be aware of the possibility of inconsistencies in the case of a restart with
AR_CONFLICT=CONTINUE. Consistency should be checked with the ADAINV VERIFY function in
this case.
BFIO_PARALLEL_LIMIT
BFIO_PARALLEL_LIMIT = number
This parameter is used to limit the number of parallel I/O requests by a buffer flush and to allow earlier
processing of concurrent I/Os from other threads. A large buffer flush, for example, can cause the I/O
queue to be very busy, and other I/Os (such as buffer pool read I/Os and WORK I/Os) can be enqueued
for a long time, slowing down command throughput and possibly causing applications to stall if a buffer
flush is active.
If BFIO_PARALLEL_LIMIT is specified, the buffer flush sets up the specified number of I/Os and waits
until these have been processed before issuing the next packet. The maximum value for number is
defined by the Adabas system, If a value of 0 is specified, the number of buffer flush I/Os is unlimited.
161
ADANUC (Starting The Database, Defining Nucleus Parameters) Adabas Utilities
Examples
adanuc: bfio_parallel_limit = 20
[NO]BI
[NO]BI
This option is used to specify whether before images are written to the PLOG (BI) or not (NOBI).
The before images on the PLOG are used during a regenerate in order to verify the data consistency (for
example, whether the appropriate PLOG is being used). If NOBI is set, the PLOG is smaller, but the
consistency verifications cannot be performed.
Note that if you specify NOBI, this will reduce the amount of consistency checking possible when using
the ADAREC REGENERATE function. See ADAREC for more details.
CLOGBMAX
CLOGBMAX = number[K | M]
This parameter specifies the maximum Adabas buffer length that is logged in the command log. If an
Adabas buffer is larger than the value specified, the buffer is truncated in the command log. 0 means that
the complete buffers are always logged.
Example
adanuc: clogbmax = 4k
The logging of Adabas buffers is limited to the first 4 kilobytes of each buffer.
CLOGLAYOUT
CLOGLAYOUT = [5|6]
If you specify CLOGLAYOUT=5, the command log has the same layout as for Adabas Version 5 when
command logging is enabled. Since this layout does not support the ACBX interface, only the subset of
information that is also available in the old ACB interface is logged for ACBX calls. The command log
162
Adabas Utilities ADANUC (Starting The Database, Defining Nucleus Parameters)
can be evaluated with the ADACLP utility that already existed in old versions of Adabas.
If you specify CLOGLAYOUT=6, the command log is generated in the new layout that is supported by
Adabas Version 6. The command log can be evaluated with the new utility PRILOGC.
DBID
DBID = number
This mandatory parameter selects the database to be used. number is in the range from 1 to 255.
Example:
adanuc: dbid = 2
Database 2 is used.
LAB
LAB = number[K | M]
This parameter specifies the size of the attached buffer area to be used during the Adabas session. The
attached buffer area is used for allocating the user buffers during command execution.
Adabas rounds up the given value to the next multiple of 32 kilobytes to allocate the attached buffer area.
The high water mark for this parameter can be displayed using the DISPLAY parameter in ADAOPR.
The minimum value is 32 kilobytes, the default value is 800 kilobytes, however, if the value specified is
less than the value of the NCL parameter in kilobytes, the value for LAB is automatically increased to that
value.
Note:
The attached buffers must be large enough to contain, for each local client thread, the maximum total size
of user buffers for an Adabas call performed by this thread. Additional space may be required for the
administration of the user buffers and for waste resulting from the different sizes required for different
threads. You should only use the minimum value for LAB if the total size of all user buffers (including
some administration data) is less than 1KB for all Adabas calls for the database.
LBP
LBP = number[K | M]
163
ADANUC (Starting The Database, Defining Nucleus Parameters) Adabas Utilities
This parameter specifies the size in bytes of the Adabas buffer pool during the session.
The high water mark for this parameter can be displayed using the DISPLAY parameter in ADAOPR.
The minimum value is 16 megabytes, the default value is the maximum of (NT , 16) in megabytes (see the
description of the parameter NT below).
Example:
adanuc: lbp=16m
LOGGING
This parameter specifies logging of the buffers as defined in the keyword list.
Keyword Meaning
CB log Adabas control block
FB log format buffers
RB log record buffers
SB log search buffer
VB log value buffer
IB log ISN buffer
ABD log Adabas buffer descriptions
IO log I/O activity
OFF perform no logging
Logging parameters may also be specified while a session is executing by using operator commands as
described in the section on the utility ADAOPR.
Example
adanuc: logging=(cb)
Command logging is performed for the current Adabas session; all of the Adabas control blocks will be
logged.
164
Adabas Utilities ADANUC (Starting The Database, Defining Nucleus Parameters)
LPXA
LPXA = number
This parameter specifies the number of blocks reserved for data protection information on the Adabas
WORK in the XA context if OPTIONS=XA is specified. These blocks are used to save protection
information for transactions which run in the XA context and are in the pending state (prepared but not yet
committed) at nucleus shutdown or for a long time. Each such transaction uses at least one of these blocks.
If there are no free blocks in this area, Adabas will heuristically commit such transactions.
LWP
LWP = number[K | M]
This parameter specifies the size of the Adabas WORK pool to be used for the Adabas session.
The high water mark for this parameter can be displayed using the DISPLAY parameter in ADAOPR.
Example:
adanuc: lwp=750k
MGC
MGC = number
This parameter specifies the maximum group-commit count. This defines the maximum limit of ET
command grouping before the PLOG buffers are written back to disk. If this limit is reached, and the final
I/O has been performed, all remaining users will be posted.
The high water mark for this parameter can be displayed using the DISPLAY parameter in ADAOPR.
The minimum value is 1, the default value is 50 and the maximum value is 500.
165
ADANUC (Starting The Database, Defining Nucleus Parameters) Adabas Utilities
Example:
adanuc: mgc=80
NCL
NCL = number
This parameter specifies the number of client threads locally accessing the database.
The minimum value is 2. The default value is the value for the NU parameter but at least 50.
Note that Net-Work Version 7 also uses several threads to access the database; please refer to the
Net-Work documentation for further details.
NISNHQ
NISNHQ = number
This parameter specifies the maximum number of records that can be placed into hold at any time by a
single user.
If a user attempts to place more records in the hold status than permitted, he will receive a non-zero
response code, even though there may still be space in the hold queue.
The high water mark for this parameter can be displayed using the DISPLAY parameter in ADAOPR.
The minimum value is 0 - where 0 means unlimited, the default value is 0 (unlimited).
Example
adanuc: nisnhq=50
The maximum number of records which can be in the hold status for a single user is 50.
NT
NT = number
This parameter specifies the number of threads to be established for the Adabas session.
Each Adabas command is assigned to a thread. A thread is released when the command has been
processed.
166
Adabas Utilities ADANUC (Starting The Database, Defining Nucleus Parameters)
The high water mark for this parameter can be displayed using the DISPLAY parameter in ADAOPR.
The minimum value is 1, the maximum value 100 and the default value is 6.
Example:
adanuc: nt=8
NU
NU = number
This parameter specifies the number of user queue elements to be established for the Adabas session.
A user queue element is assigned to each active Adabas user. A user queue element is assigned when the
user issues an OP command or when the first Adabas command is issued. A user queue element is
released when the user issues a CL command or when the user queue element is deleted on a timeout.
The high water mark for this parameter can be displayed using the DISPLAY parameter in ADAOPR.
Example:
adanuc: nu=100
Note:
The NU parameter is used for two different purposes:
For single-threaded applications, the number of required communication blocks is not larger than the
number of user queue elements, but for multi-threaded applications you need one communication block
for each thread of an application that performs Adabas calls. Therefore the required value of the NU
parameter may be much higher than the number of Adabas users.
OPTIONS
OPTIONS = (keyword[,keyword]...)
This parameter is used to define the mode(s) in which the nucleus is started.
167
ADANUC (Starting The Database, Defining Nucleus Parameters) Adabas Utilities
Keyword Meaning
AUTO_EXPAND If AUTO_EXPAND is selected, the database will increase the
existing container extents or create a new container extent if there is
no free space available for increasing an existing Adabas file or for
adding a new Adabas file. See the section Container Files in the
Administration section for further information.
AUTORESTART_ONLY The AUTORESTART_ONLY keyword shuts down the nucleus
immediately after its startup sequence has completed. If an autorestart
is pending, the autorestart will be performed. No user commands or
utility calls will be accepted by the nucleus.
FAULT_TOLERANT_AR When FAULT_TOLERANT_AR is selected, the nucleus behaviour
in the event of an Adabas error during autorestart can be controlled. If
an error occurs for a given file, a detailed entry is made in the nucleus
log, but the autorestart continues. When the autorestart completes, the
DBA can restore and regenerate the file by using ADABCK
RESTORE and ADAREC REGENERATE for the affected file. If
however the error occurred for the index of a file, it is sufficient to
rebuild the files index by using the REINVERT function of
ADAINV. If FAULT_TOLERANT_AR is not selected, Adabas
aborts an autorestart if an error is detected, and this can cause the
database to be in an inconsistent state.
LOCAL_UTILITIES If LOCAL_UTILITIES is selected, ADANUC rejects all remote
utility calls, i.e. the Adabas utilities cannot be run from a remote node
across a network. This setting is recommended if security is important
in your operating environment.
168
Adabas Utilities ADANUC (Starting The Database, Defining Nucleus Parameters)
Keyword Meaning
UTILITIES_ONLY If UTILITIES_ONLY is selected, all calls other than for utilities will
be rejected, giving the DBA exclusive control over all of the files in
the database. Note, however, that this restriction only applies to new
users; users who were already active when
OPTIONS=UTILITIES_ONLY was specified can continue
processing normally. If you want exclusive utility control over files or
the entire database, use the LOCK function of ADAOPR instead.
Example:
adanuc: options = utilities_only
All non-utility calls are rejected and the DBA has exclusive control over all database files.
[NO]PLOG
[NO]PLOG
The database cannot be regenerated if the disk is physically damaged and if there is no protection log. In
this case, the database has to be restored using the last database dump. All updates made since this last
dump was taken are then lost.
TNAA
TNAA = number
This parameter specifies the maximum elapsed time (in seconds) that an access-only user may be active
without issuing an Adabas command. This value can be changed dynamically with the ADAOPR utility.
169
ADANUC (Starting The Database, Defining Nucleus Parameters) Adabas Utilities
The OP command allows you to override this value. See Command Reference, OP command for details.
See Command Reference, Time Limits for a table with timeout conditions.
Note that the figure you specify for this parameter is only approximate. In any particular instance, the
actual amount of time can vary from this value by up to 10 seconds.
The minimum value is 20, the default value is 900 and the maximum value is 2592000.
Example:
adanuc: tnaa=180
TNAE
TNAE = number
This parameter specifies the maximum elapsed time (in seconds) that an ET logic user may be active
without issuing an Adabas command. This value can be changed dynamically with the ADAOPR utility.
The OP command allows you to override this value. See Command Reference, OP command for details.
See Command Reference, Time Limits for a table with timeout conditions.
Note that the figure you specify for this parameter is only approximate. In any particular instance, the
actual amount of time can vary from this value by up to 10 seconds.
The minimum value is 20, the default value is 900 and the maximum value is 2592000.
Example:
adanuc: tnae=180
TNAX
TNAX = number
This parameter specifies the maximum elapsed time (in seconds) that an exclusive update user who does
not use ET logic may be active without issuing an Adabas command. This value can be changed
dynamically with the ADAOPR utility.
The OP command allows you to override this value. See Command Reference, OP command for details.
See Command Reference, Time Limits for a table with timeout conditions.
170
Adabas Utilities ADANUC (Starting The Database, Defining Nucleus Parameters)
Note that the figure you specify for this parameter is only approximate. In any particular instance, the
actual amount of time can vary from this value by up to 10 seconds.
The minimum value is 20, the default value is 900 and the maximum value is 2592000.
Example:
adanuc: tnax=180
The non-activity time limit for exclusive update users is 180 seconds.
TT
TT = number
This parameter specifies the maximum elapsed time (in seconds) permitted for a logical transaction issued
by an ET logic user. This value can be changed dynamically with the ADAOPR utility.
The OP command allows you to override this value. See Command Reference, OP command for details.
The time measurement for a logical transaction starts when the first command that places a record in hold
status is issued, and terminates when an ET, BT, or CL command is issued. Adabas takes the following
action when this time limit is exceeded:
1. All database updates made during the transaction are backed out;
This time limit does not apply to non-ET logic users. The value specified for TT directly influences the
required size of the Adabas Work data set.
The high water mark for this parameter can be displayed using the DISPLAY parameter in ADAOPR.
Note that the figure you specify for this parameter is only approximate. In any particular instance, the
actual amount of time can vary from this value by up to 10 seconds.
The minimum value is 20, the default value is 300 and the maximum value is 2592000.
Example:
adanuc: tt=50
171
ADANUC (Starting The Database, Defining Nucleus Parameters) Adabas Utilities
UNBUFFERED
This parameter is relevant only for UNIX platforms, and if database containers or the protection log are
stored in a file system. Usually, write I/Os are buffered by the file system. However, if you specify the
O_DSYNC option for the corresponding open call, write I/O operations are performed unbuffered. This
may improve the performance, in particular, if specified for WORK and PLOG, as it is required that the
corresponding log information is really on disk at the end of a transaction. With the parameter
UNBUFFERED, the usage of the O_DSYNC operation may be defined.
Keyword Meaning
DATABASE ASSO and DATA containers in a file system are opened with the option
O_DSYNC.
NODATABASE ASSO and DATA containers in a file system are not opened with the option
O_DSYNC.
WORK A WORK container in a file system is opened with the option O_DSYNC.
NOWORK A WORK container in a file system is not opened with the option O_DSYNC.
PLOG A protection log in a file system is opened with the option O_DSYNC.
NOPLOG A protection log in a file system is not opened with the option O_DSYNC.
Example:
adanuc: unbuffered=(nowork)
O_DSYNC is not used for ASSO and DATA containers because NODATABASE is the default.
O_DSYNC is not used for WORK container because NOWORK has been specified.
USEREXITS
172
Adabas Utilities ADANUC (Starting The Database, Defining Nucleus Parameters)
This parameter, used in conjunction with the user exit facility, specifies one or more user exits. The
specified user exit(s) must be loadable at execution time.
Notes:
See Administration, User Exits and Hyperexits for further information about the user exits available.
WRITE_LIMIT
WRITE_LIMIT = number
This parameter specifies the percentage of modified blocks permitted in the buffer pool before an implicit
buffer flush is taken.
A number in the range from 0 to 70 may be specified; 0 means that Adabas will dynamically choose an
appropriate value.
Note:
If you have a large buffer pool, it is useful to specify a small value for WRITE_LIMIT in order to reduce
the time required for an auto restart of the nucleus: during an auto restart, ADANUC must read the update
log in the WORK container and reapply all changes in the database that had not yet been written to disk.
A smaller value for WRITE_LIMIT means a smaller amount of data not yet written to disk, and therefore
less updates to be made during the auto restart.
Example:
adanuc: write_limit=40
An implicit buffer flush is taken when 40% of the blocks in the buffer pool have been modified.
173
ADANUC (Starting The Database, Defining Nucleus Parameters) Adabas Utilities
Dynamic
Min. Max.
Parameter Use Default (see note
Value Value
3)
None
Limit of parallel
BFIO_PARALLEL_LIMIT 0 (see note 0 Yes
buffer flush IOs
4)
Write before image
[NO]BI BI No
to PLOG
Length of Adabas
CLOGBMAX 0 (complete) No
buffers logged
Select layout of
CLOGLAYOUT 5 No
CLOG
DBID Database 1 255 None No
Attached buffer
LAB 32K None 96K
area
None
Maximum Adabas
LBP 100000 (see note NT megabytes No
Buffer Pool Size
1)
LOGGING Command Logging OFF Yes
XA data protection 65535 10 blocks if the
LPXA 1 block No
area size blocks XA option is set
Length of Adabas
LWP 100000 None 170000 No
Work Pool
Maximum Group-
MGC 1 500 50 No
Commit Count
Number of local
NCL 2 50 250 No
client threads
Maximum Number
NISNHQ of ISNs in Hold per 0 None 0 Yes
User
NT Number of Threads 1 100 6 No
NU User Queue Size 2 users None 20 users No
OPTIONS Various Options No option Some
[NO]PLOG Protection Logging PLOG No
Non-Activity
900
TNAA Time Limit 20 2592000 Yes
seconds
(ACC Only Users)
Non-Activity
900
TNAE Time Limit 20 2592000 Yes
seconds
(ET Logic Users)
174
Adabas Utilities ADANUC (Starting The Database, Defining Nucleus Parameters)
Dynamic
Min. Max.
Parameter Use Default (see note
Value Value
3)
Non-Activity
900
TNAX Time Limit 20 2592000 Yes
seconds
(EXU,EXF Users)
Transaction 300
TT 20 2592000 Yes
Time Limit seconds
Setting of the
O_DSYNC option NODATABASE,
UNBUFFERED No
(UNIX platforms WORK, PLOG
only)
User Exit(s)
USEREXITS None No
to be used
WRITE_ Buffer Pool
0 70 None (see note 2) Yes
LIMIT Modification Limit
Notes:
1. A limit may be given by the operating system, for example via the maximum size of a shared
memory segment.
2. If not specified, Adabas dynamically chooses an appropriate value.
3. If the value of a dynamic parameter is changed using ADAOPR, the new value takes effect
immediately, without the nucleus having to be restarted. In the case of non-dynamic parameters, the
nucleus must first be stopped and restarted for the new value to take effect.
4. A value of 0 means there is no limit.
175
ADAOPR (Operator Utility) Adabas Utilities
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Functional Overview
The DBA uses this utility to operate the Adabas nucleus.
Procedure Flow
176
Adabas Utilities ADAOPR (Operator Utility)
Environment
Data Set Storage Medium Additional Information
Variable
Control statements stdin Utilities Manual
ADAOPR messages stdout Messages and Codes
Checkpoints
The following table shows the nucleus requirements for each function and the checkpoint written:
177
ADAOPR (Operator Utility) Adabas Utilities
Control Parameters
The following control parameters are available:
ABORT
BFIO_PARALLEL_LIMIT = number
CANCEL
CSA = string
DBID = number
ES_ID = number
D [NO]ET_SYNC
FILE = number
ID = number
LOGIN_ID = number
178
Adabas Utilities ADAOPR (Operator Utility)
MGC = number
NISNHQ = number
NODE_ID = string
RESET = keyword
D [NO]RESPONSE_ABORT
RESPONSE_CHECK = (number[-number][,number[-number]]...)
SET_FILE_STATS = (number[-number][,number[-number]]...)
SHUTDOWN
STOP = (number[-number][,number[-number]]...)
TNAA = number
TNAE = number
TNAX = number
TT = number
USER_ID = string
WRITE_LIMIT = [number]
ABORT
ABORT
This function terminates the Adabas session immediately. All command processing is immediately
stopped. The session is terminated abnormally with a pending AUTORESTART.
ABORT causes the SMP dump file to be written to the databasess default directory. The name of the
SMP dump file is SMPPOS.APP.hh:mm:ss (UNIX platforms only).
BFIO_PARALLEL_LIMIT
BFIO_PARALLEL_LIMIT = number
179
ADAOPR (Operator Utility) Adabas Utilities
This function sets the number of parallel I/O requests by a buffer flush, allowing earlier processing of
concurrent I/Os from other threads. A large buffer flush, for example, can cause the I/O queue to be very
busy, and other I/Os (such as buffer pool read I/Os and WORK I/Os) can be enqueued for a long time,
slowing down command throughput and possibly causing applications to stall if a buffer flush is active.
If BFIO_PARALLEL_LIMIT is specified, the buffer flush sets up the specified number of I/Os and waits
until these have been processed before issuing the next packet. The maximum value for number is
defined by the Adabas system, If a value of 0 is specified, the number of buffer flush I/Os is unlimited.
CANCEL
CANCEL
This function terminates the Adabas session immediately. A BT command is issued for each active ET
user and the session is terminated.
The communication link to the database is cut but the shared memory is still held. In this case, display
functions are still possible with ADAOPR but parameter modification commands are no longer permitted.
CLEAR_FILE_STATS
This function disables the collection of I/O statistics enabled by SET_FILE_STATS for the specified
file(s).
CSA
CSA = string
string is a file specification of a file containing status information from an Adabas nucleus, a so-called
database section file. This file may be created by an ADAOPR ABORT function, by an abnormal
termination of Adabas, or by response check trapping (refer to the RESPONSE_CHECK function for
further information).
Adabas.xxx.hh:mm:ss
Adabas.xxx.RSPyyy.hh:mm:ss
Adabas.xxx.hhmmss
Adabas.xxx.RSPyyy.hhmmss
180
Adabas Utilities ADAOPR (Operator Utility)
For example, if the database ID is 5, and the file creation was initiated by a trapped response code 113, the
file name will start with Adabas.005.RSP113, and then the time of creating will be appended, e.g.
Adabas.005.RSP113.12:16:50.
For example, if the database ID is 5, and the file creation was initiated by a trapped response code 113, the
file name will start with Adabas.005.RSP113, and then the time of creating will be appended, e.g.
Adabas.005.RSP113.121650.
The file will be created in the directory that is pointed to by the environment variable ADA_CSA_DUMP.
The default is the directory from which the nucleus was started. If a file with the same name already exists
in this directory, it will be overwritten.
181
ADAOPR (Operator Utility) Adabas Utilities
DBID
DBID = number
This parameter selects the database to which all subsequent ADAOPR commands apply. Multiple DBIDs
are supported within one session.
Example:
adaopr: dbid=1
adaopr: shutdown
adaopr: dbid=2
adaopr: shutdown
adaopr: dbid=3
adaopr: shutdown
adaopr: quit
DISPLAY
182
Adabas Utilities ADAOPR (Operator Utility)
Keyword Meaning
ACTIVITY Database activities display.
BP_STATISTICS Buffer pool statistics display.
COMMANDS Command table display.
CQ Command queue display.
DYNAMIC_PARAMETERS Dynamic nucleus parameters display.
FILE_IO File I/O display.
FP_STATISTICS Format pool statistics display.
HIGH_WATER High water marks display.
HQ Hold queue display.
ICQ Internal command queue display.
PLOG_STATISTICS Protection log statistics.
STATIC_PARAMETERS Static nucleus parameters display.
TT Thread table display.
UCB Utility communication block.
UQ User queue display.
UQ_FILES User file list display.
UQ_FULL Full information about user queue element.
UQ_TIME_LIMITS User time limits display.
The following examples show the information produced by the various keywords, together with
explanations of the information that is displayed.
Some of the following displays include percentages. The corresponding values are always truncated. An
undefined value (divided by 0) is specified with " *%" and an overflow with "***%".
Example: DISPLAY=ACTIVITY
adaopr: display=activity
183
ADAOPR (Operator Utility) Adabas Utilities
physical buffer pool I/Os (physical read I/Os + physical write I/Os);
INTERRUPTS shows the current and total number of workpool space waits;
the buffer pool hit rate. This is the relationship between the logical read I/Os and the physical
read I/Os. The buffer pool hit rate is calculated using the following formula:
hit rate (in %) = ((logical read I/Os - physical read I/Os) * 100)
/ logical read I/Os
the format pool hit rate. This is the relationship between the number of format buffer requests
(required FBs) and the required format buffers already translated in the format pool (translated
FBs). The format pool hit rate is calculated using the following formula:
THROWBACKS shows:
the number of commands waiting for session context because internal commands were running;
the number of commands waiting because ISNs are held by another user;
the number of commands thrown back because of dynamic work pool overflow.
EXAMPLE: DISPLAY=BP_STATISTICS
adaopr: display=bp_statistics
184
Adabas Utilities ADAOPR (Operator Utility)
the size in bytes and percentage of the buffer pool that is currently in use;
the size in bytes and percentage of the buffer pool high water mark (see also the display for
DISPLAY=HIGH_WATER).
the number of ASSO, DATA and WORK RABNs currently in the buffer pool.
the total number of logical and physical buffer pool read I/Os (both numbers are required in
order to calculate the buffer pool hit rate);
the buffer pool hit rate (please refer to the example for DISPLAY=ACTIVITY for the buffer
pool hit-rate formula);
the total number of buffer flushes that were made in order to get free space;
the size in bytes and percentage of the buffer pool write limit. If the modified bytes in the buffer
pool reach this limit, an automatic buffer flush is started. The buffer pool write limit is
automatically adjusted if not explicitly set in ADANUC or ADAOPR;
the size in bytes and percentage of the currently modified bytes in the buffer pool.
Example: DISPLAY=COMMANDS
adaopr: display=commands
A1 req-count 0
Rda req-count 7
A1 892 L2 553 OP 25
BT 736 L3 1,124 RC 89
C1 40 L4 569 RE 0
C3 0 L5 420 RI 0
185
ADAOPR (Operator Utility) Adabas Utilities
C5 10 L6 436 S1 1,511
CL 32 L9 456 S2 81
E1 1,006 LF 20 S4 12
ET 72 MC 0 S8 230
HI 0 N1 877 S9 50
L1 643 N2 0
This command displays the total numbers of Adabas commands issued in the current session. For MC
commands, the value displayed is the number of MC calls plus the number of single Adabas commands
contained in the MC calls.
A read command that is issued while the multifetch option is set is counted as a single command.
Example: DISPLAY=CQ
adaopr: display=cq
NODE ID shows the node identification string. The local node is represented by an empty string;
The final line of the display shows how many command queue entries were selected according to the
currently active selection criteria, and how many entries are used in total in the command queue.
186
Adabas Utilities ADAOPR (Operator Utility)
Status Meaning
Completed Command processing completion;
Marked For Deletion Command is marked for delete, user is no longer active;
New Command is ready to be inserted in the scheduling queue;
Ready To Run Placed in queue and ready for scheduling;
Running Running in a thread (see DISPLAY=TT);
Waiting For Complex Complex command is waiting to run;
Waiting For Et Sync Waiting for ET synchronization;
Waiting For Group
Waiting for group ET. No entry in thread table;
Commit
Waiting for ISN in file shown in column "File" in the display. No entry in
Waiting For Isn <isn>
thread table;
Waiting For Space Waiting for working space. No entry in thread table.
Waiting for user queue entry. The required entry is locked by an active
Waiting For Uqe
internal command;
Note:
The display may show command codes such as "U0", which are only used internally by Adabas (for
example, during a utility run).
The "RUNNING" and "COMPLETED" values may differ even if the user has not specified an explicit
selection criterion.
Example: DISPLAY=DYNAMIC_PARAMETERS
adaopr: display=dynamic_parameters
This display shows the current values of the dynamic nucleus parameters.
187
ADAOPR (Operator Utility) Adabas Utilities
Example: DISPLAY=FILE_IO
adaopr: display=file_io
Reads Hit
File Logical Physical Rate Writes
---- ------- -------- ---- ------
11 145,341 180 99% 2,869
12 99,070 148 99% 2,149
This display shows the logical and physical reads, their hit rate and the writes the buffer pool manager has
made for every file since database was started. The formula for the hit rate value is given in the
description of DISPLAY=ACTIVITY.
The I/Os are only counted if the ADAOPR function SET_FILE_STATS is activated.
Example: DISPLAY=FP_STATISTICS
adaopr: display=fp_statistics
Replacements 0 0
Overflows 0 0
the size in bytes and percentage of the local and global format pools that are currently in use;
the size in bytes and percentage of the local and global format pool high water marks.
188
Adabas Utilities ADAOPR (Operator Utility)
the total number of scans and hits of valid format buffers in the format pool (both numbers are
required in order to calculate the format pool hit rate);
the format pool hit rate (please refer to the example DISPLAY=ACTIVITY for the format pool
hit-rate formula);
the total number of valid format buffers that are overwritten in the format pool (replacements).
Overflows. This is the number of times that a format buffer exceeded the format pool size,
resulting each time in a response 42.
Example: DISPLAY=HIGH_WATER
adaopr db=076 display=high_water
This display shows the high water marks for the current session:
SIZE shows the size in bytes of pools and buffers. For queues, threads and hold queue user limit, it
shows the number of entries.
HIGH WATER shows the maximum quantity required simultaneously for the given area/entry.
% shows the relationship between the high water mark and the size. If the high water mark exceeds
the size, the value in this column can be larger than 100 %. For example, this can occur if the value is
decreased by ADAOPR.
189
ADAOPR (Operator Utility) Adabas Utilities
DATE/TIME shows the date/time at which the high water mark occurred. There is no output in this
column if the high water mark is 0.
The entries in the column AREA/ENTRY correspond to the ADANUC parameters NU (user queue), NC
(command queue), NCL (client queue), NH (hold queue), NISNHQ (hold queue user limit), NT (threads),
LWP (workpool), LS (ISN sort, complex search), LBP (buffer pool), LAB (attached buffer), LP
(protection area), MGC (group commit), TT (transaction time).
The entry "ACTIVE AREA" is the largest part of WORK part 1 that can be used by a single transaction. If
a transactions protection information spans more space than allowed by "Active Area", it receives a
response 9 (LP), the nucleus displays a PLOVFL message and a value of more than 100 in the "%"
column of the highwater display.
Users who have set user-specific timeout values in their OP call are not included in the values for
Transaction Time.
Note:
1. Values for Attached Buffer and Command Queue are not displayed correctly if the nucleus cannot be
contacted by ADAOPR (for example, if the ADAOPR parameter CSA is used.
2. Threads are used in a round-robin manner. Therefore, the high water mark for threads will be the same
as the value shown in the Size column in most cases.
Example: DISPLAY=HQ
adaopr: file=11, display=hq
ID shows the internal user identification of the user holding the ISN;
NODE ID shows the node identification string. The local node is represented by an empty string;
USER ID shows the user identification. Adabas utilities use the utility name preceded by an asterisk
as the USER ID;
FILE shows the number of the Adabas file in which the ISN is located;
190
Adabas Utilities ADAOPR (Operator Utility)
LOCKS shows the kind of lock for the ISN. In Adabas Version 5.1 only X = exclusive lock is
supported;
The final line of the display shows how many hold queue entries were selected according to the currently
active selection criteria, and how many entries are used in total.
Example: DISPLAY=ICQ
adaopr: display=icq
Command Meaning
AR Autorestart
BT Back out transaction
BTCL Back out open transaction and close user
CANCEL Cancel nucleus
DELUQE Release file list and delete user queue element
ETSYNC Start an ET-SYNC status check after a global transaction has received a timeout
SHUT Shut down nucleus
STOP STOP from ADAOPR
TIMEOUT Non-activity timeout
The status of internal commands can be READY TO RUN, RUNNING, WAITING FOR ET SYNC or
WAITING FOR UQE.
The final line of the display shows how many internal command queue entries were selected according to
the currently active selection criteria, and how many entries are used in total.
Example: DISPLAY=PLOG_STATISTICS
adaopr: display=plog_statistics
191
ADAOPR (Operator Utility) Adabas Utilities
Active PLOG
-----------
Session Number : 37
Extent : 2
Example: DISPLAY=STATIC_PARAMETERS
adaopr: display=static_parameters
Logging: PLOG, BI
Options: TRUNCATION
Userexits: 4
Example: DISPLAY=TT
adaopr: display=tt
This display shows the entries in the thread table. The number of displayed entries is simultaneously the
high water mark for threads.
CMD COUNT shows the total number of Adabas commands processed from the corresponding
thread context. The sum of these counts will normally differ from the sum shown by
DISPLAY=COMMANDS, because internal commands are also counted.
FILE shows the file number of the Adabas command that is currently being processed from the
corresponding thread context. The file number is 0 if the corresponding thread context is not active,
or if the command is a global one which is not linked to a particular file.
192
Adabas Utilities ADAOPR (Operator Utility)
CMD shows the command string of the Adabas command that is currently being processed from the
corresponding thread context. There is no output in this column if the corresponding thread context is not
active.
STATUS shows the command type and the status of the corresponding thread context.
Update
Simple
Complex
Possible entries for the thread status are shown in the following table:
Status Meaning
free available for allocation
ready ready to run
active running
waiting for io waiting for i/o completion of block
<rabn>/<block type> <rabn>
waiting for waiting for access/update synchronization of
<rabn>/<block type> block <rabn>
waiting for space waiting for <size> bytes of work pool
<size> bytes space
Example: DISPLAY=UCB
adaopr: display=ucb
DATE/TIME shows the date and time on which the given files were locked.
193
ADAOPR (Operator Utility) Adabas Utilities
MODE shows the mode in which the files are being accessed. The possibilities are:
UTI open for exclusive access (no parallel access or update allowed)
Files shows the file numbers of the files that are locked.
Example: DISPLAY=UQ
adaopr: display=uq
NODE ID shows the node identification string. The local node is represented by an empty string.
ET ET user
194
Adabas Utilities ADAOPR (Operator Utility)
UT utility user.
E user at ET status
P pending ET (XA)
The final line of the display shows how many user queue entries were selected according to the currently
active selection criteria, and how many entries are used in total.
Example: DISPLAY=UQ_FILES
adaopr: display=uq_files
TYPE shows the user type (please refer to the DISPLAY=UQ example for more information).
MODE shows the mode in which the files are being accessed:
195
ADAOPR (Operator Utility) Adabas Utilities
EXF open for exclusive access (no parallel access or update allowed)
UTI open for exclusive access (no parallel access or update allowed)
FILES shows the Adabas file list of the user entry. If the list is too large to be displayed in one line,
several lines will be used: file numbers are not omitted.
The final line of the display shows how many user queue entries were selected according to the currently
active selection criteria, and how many entries are used in total.
Example: DISPLAY=UQ_FULL
adaopr: file=13, display=uq_full
Example: DISPLAY=UQ_TIME_LIMITS
adaopr: display=uq_time_limits
196
Adabas Utilities ADAOPR (Operator Utility)
This display shows the current timeout limits for the user queue entries.
T a timeout is pending, response 9 has not been collected yet by the client.
REMAINING TIME shows the amount of time remaining until the next timeout mark.
START DATE/TIME shows the starting date and time of the entry.
The final line of the display shows how many user queue entries were selected according to the currently
active selection criteria, and how many entries are used in total.
ES_ID
ES_ID = number
This function influences the output of the DISPLAY options CQ, HQ, ICQ, UQ, UQ_FILES, UQ_FULL,
UQ_TIME_LIMITS. Only entries with the specified environment-specific ID are displayed.
197
ADAOPR (Operator Utility) Adabas Utilities
[NO]ET_SYNC
[NO]ET_SYNC
This option controls the behaviour of the FEOF=PLOG function. It must be specified before specifying
FEOF=PLOG. Refer to the FEOF=PLOG function for more information.
EXT_BACKUP
This function is used to backup a database using an external backup system, which can be considerably
faster with very large databases than using ADABCK.
The keyword PREPARE prepares the database for backup. During this phase, the following restrictions
apply:
the functions SHUTDOWN, CANCEL, LOCK, STOPUSER, UNLOCK and FEOF=PLOG are not
permitted once the EXT_BACKUP = PREPARE call has finished processing
The keyword CONTINUE is used to resume normal database operations following completion of the
external backup. The following actions are performed:
The keyword ABORT is used to abort an external backup for which a PREPARE has already been issued.
In this case, the PLOG isnt switched and no checkpoint is written.
Example
The following scenario shows a backup and restore using a third-party backup tool (tar is not a real
alternative, and is used for demonstration purposes only):
198
Adabas Utilities ADAOPR (Operator Utility)
FEOF
In accordance with the keywords specified, the log file(s) are closed and a new log file is created.
Keyword Meaning
CLOG closes command log file.
PLOG closes protection log file.
If NOET_SYNC is specified:
The current PLOG extent will be closed when the next PLOG block is written, and
a new extent of the same PLOG will be created. The PLOG number is not
incremented and the users do not have to be synchronized at ET status.
Example (PLOG is on raw device): if the current PLOG is PLG.5, then the
command "adaopr db=1 et_sync feof=plog" results in the PLOGs PLG.5 and
PLG.6, whereas the command "adaopr db=1 noet_sync feof=plog" results in the
PLOGs PLG.5(1) and PLG.5(2).
Example (PLOG is in file system): if the current PLOG is NUCPLG.0005, then the
command "adaopr db=1 et_sync feof=plog" results in the PLOGs NUCPLG.0005
and NUCPLG.0006, whereas the command "adaopr db=1 noet_sync feof=plog"
results in the PLOGs NUCPLG.0005(1) and NUCPLG.0005(2).
The FEOF command will be rejected if the keyword PLOG is used while running ADAREC
REGENERATE = * (see ADAREC for more detailed information).
199
ADAOPR (Operator Utility) Adabas Utilities
FILE
FILE = number
This influences the output of the DISPLAY options HQ, ICQ, UQ, UQ_FILES, UQ_FULL and
UQ_TIME_LIMITS. Only entries related to the specified file number are displayed.
ID
ID = number
This function influences the output of the DISPLAY options CQ, HQ, ICQ, UQ, UQ_FILES, UQ_FULL
and UQ_TIME_LIMITS. Only entries related to the specified internal ID are displayed.
ISN
This function influences the output of the DISPLAY option HQ. Only entries related to the specified ISNs
are displayed.
[UN]LOCK
The file(s) specified by the file number(s) are locked or unlocked. You are not allowed to specify a LOB
file. The specified files are locked for all non-utility use; Adabas utilities can use the file(s) normally.
For users who have one or more files to be locked in their open file list, a STOP <user-ID> command is
issued internally. Refer to the description of the ADAOPR STOP parameter for more details.
LOGGING
This parameter starts command logging for the buffers specified in the list of keywords.
200
Adabas Utilities ADAOPR (Operator Utility)
Keyword Meaning
CB Enables logging of control block
FB Enables logging of format buffers
RB Enables logging of record buffers
SB Enables logging of search buffer
VB Enables logging of value buffer
IB Enables logging of ISN buffer
ABD Enables logging of Adabas buffer descriptions
IO Enables I/O list logging
OFF Stops logging of all buffers, but keeps the command log file open
If the nucleus was started with LOGGING=OFF and buffer logging is requested, then the CLOG file will
be created.
LOGIN_ID
LOGIN_ID = number
This function influences the output of the DISPLAY options CQ, HQ, ICQ, UQ, UQ_FILES, UQ_FULL
and UQ_TIME_LIMITS. Only entries with the specified login ID are displayed.
MGC
MGC = number
This parameter specifies the maximum group-commit count. This defines the maximum limit of ET
command grouping before the PLOG buffers are written back to disk. If this limit is reached, and the final
IO has been performed, all remaining users will be posted.
If the specified value is less than the corresponding high-water value, a warning is issued.
NISNHQ
NISNHQ = number
This parameter specifies the maximum number of records that can be placed into hold at any time by a
single user.
201
ADAOPR (Operator Utility) Adabas Utilities
If the specified value is less than the corresponding high-water value, a warning is issued.
NODE_ID
NODE_ID = string
This function influences the output of the DISPLAY options CQ, HQ, ICQ, UQ, UQ_FILES, UQ_FULL
and UQ_TIME_LIMITS. Only entries for the specified node are displayed.
OPTIONS
OPTIONS = (keyword[,keyword])
Keyword Meaning
[NO]LOCAL_UTILITIES If LOCAL_UTILITIES is specified, the nucleus rejects all
remote utility calls, i.e. the Adabas utilities cannot be run from a
remote node across a network.
[NO]UTILITIES_ONLY If UTILITIES_ONLY is selected, all calls other than for utilities
will be rejected. Note, however, that this restriction only applies
to new users; users who were already active when
OPTIONS=UTILITIES_ONLY was specified can continue
processing normally. If you want exclusive utility control over
files or the entire database, use the LOCK function of ADAOPR
instead.
These options can be disabled using the prefix NO, e.g. OPTIONS=NOUTILITIES_ONLY.
RESET
RESET = keyword
RESET=HIGH_WATER resets the high water mark values to the value currently in use.
[NO]RESPONSE_ABORT
[NO]RESPONSE_ABORT
202
Adabas Utilities ADAOPR (Operator Utility)
The setting of the [NO]RESPONSE_ABORT option can only be changed before the
RESPONSE_CHECK parameter. The same applies for XA_RESPONSE_CHECK.
RESPONSE_CHECK
RESPONSE_CHECK = [(number[-number][,number[-number]]...)]
This function enables the DBA to gather information if one of a list of Adabas response codes occurs. The
information written may be used to analyze possible problems in the databases operation. If a response
check for an Adabas response code is enabled, the database section file is written to disk if this response
code occurs.
Depending on the setting of the RESPONSE_ABORT option, the nucleus either aborts or continues
operation:
if the RESPONSE_ABORT option is set, the database section file (Adabas.xxx.hh:mm:ss) is written
to the databases default directory. See ADANUC and the environment variable ADA_CSA_DUMP
for more information. Also refer to the ADAOPR FILE parameter;
if the NORESPONSE_ABORT option is set (default setting), the nucleus continues running and the
database section file (Adabas.xxx.RSPyyy.hh:mm:ss) is written to the databases default directory.
See ADANUC and the environment variable ADA_CSA_DUMP for more information. Also refer to
the ADAOPR FILE parameter.
The database section file is also called the CSA dump file.
When the CSA dump file is written, the SMP dump file is also written. The name of the SMP dump file is
SMPPOS.APP.hh:mm:ss (UNIX platforms only).
if the RESPONSE_ABORT option is set, the database section file (Adabas.xxx.hh-mm-ss) is written
to the databases default directory. See ADANUC and the environment variable ADA_CSA_DUMP
for more information. Also refer to the ADAOPR FILE parameter;
if the NORESPONSE_ABORT option is set (default setting), the nucleus continues running and the
database section file (Adabas.xxx.RSPyyy.hh-mm-ss) is written to the databases default directory.
See ADANUC and the environment variable ADA_CSA_DUMP for more information. Also refer to
the ADAOPR FILE parameter.
203
ADAOPR (Operator Utility) Adabas Utilities
Note:
Some response codes can be generated outside the nucleus (e.g. by ADALNK and ENTIRE
NET-WORK). If this happens, they cannot be trapped by Adabas. The response codes in question for
ADALNK are: 9, 17, 22, 40, 146-154, 241, 255.
Note:
Some response codes can be generated outside the nucleus (e.g. by ADALNK and ENTIRE
NET-WORK). If this happens, they cannot be trapped by Adabas. The response codes in question for
ADALNK are: 9, 17, 22, 40, 146-154, 241, 252, 255.
SET_FILE_STATS
SET_FILE_STATS = [(number[-number][,number[-number]]...)]
This function enables the file level I/O statistics for the specified files. Only these files will be displayed
by DISPLAY = FILE_IO.
SHUTDOWN
SHUTDOWN
This function terminates the Adabas session normally. No new users are accepted. ET-user updating is
continued until the end of the current transaction for each user. When all update activity has ended as
described above, the Adabas session is terminated.
The communication link to the database is cut but the shared memory is still held. In this case, display
functions are still possible with ADAOPR but parameter modification commands are no longer permitted.
STATUS
This function influences the output of the DISPLAY parameter options HQ, ICQ, UQ, UQ_FILES,
UQ_TIME_LIMITS, UQ_FULL. Only entries in the specified state will be displayed.
204
Adabas Utilities ADAOPR (Operator Utility)
Keyword Meaning
[NO]TIMEOUT User without or with "T" status.
[NO]ET_STATUS Users at "ET" status with open transactions.
[NO]PENDING_ET Users without or with "P" status.
STOP
STOP = (number[-number][,number[-number]]...)
This parameter terminates the user with the specified ID (internal identification). The ID can be retrieved
with DISPLAY = UQ.
The message "Stop handling started for n users" is displayed, where "n" is the number of users who will
be stopped.
Note:
Utilities cannot always be stopped in this way.
The actions that Adabas takes when a user is stopped depend on the user type, and also whether the
nucleus requires an explicit OP (open) command at the start of a user session, as shown in the following
table.
The abbreviation SUQE used in the table means "Stop user queue element", and consists of the following
actions: release all Command IDs, scratch the file list, scratch the user ID, scratch the user type, set
response 9 for the next call.
205
ADAOPR (Operator Utility) Adabas Utilities
ADAREC REGENERATE = *
TNAA
TNAA = number
This parameter sets the non-activity time limit (in seconds) for access-only users who have not explicitly
specified a TNAA value in the OP command (see Command Reference, OP command).
Note that the figure you specify for this parameter is only approximate. In any particular instance, the
actual amount of time can vary from this value by up to 10 seconds.
TNAE
TNAE = number
This parameter sets the non-activity time limit (in seconds) for ET logic users who have not explicitly
specified a TNAE value in the OP command (see Command Reference, OP command).
206
Adabas Utilities ADAOPR (Operator Utility)
Note that the figure you specify for this parameter is only approximate. In any particular instance, the
actual amount of time can vary from this value by up to 10 seconds.
TNAX
TNAX = number
This parameter sets the non-activity time limit (in seconds) for EXU and EXF users who have not
explicitly specified a TNAX value in the OP command (see Command Reference, OP command).
Note that the figure you specify for this parameter is only approximate. In any particular instance, the
actual amount of time can vary from this value by up to 10 seconds.
TT
TT = number
This parameter sets the transaction time limit for ET logic users who have not explicitly specified a TT
value in the OP command (see Command Reference, OP command).
If the specified value is less than the corresponding high-water value, a warning is issued.
Note that the figure you specify for this parameter is only approximate. In any particular instance, the
actual amount of time can vary from this value by up to 10 seconds.
USER_ID
USER_ID = string
This function influences the output of the DISPLAY parameter options CQ, HQ, ICQ, UQ, UQ_FILES,
UQ_TIME_LIMITS, UQ_FULL. Only entries in the specified user ID will be displayed.
WRITE_LIMIT
WRITE_LIMIT = [number]
This parameter specifies the percentage of modified blocks permitted in the buffer pool before an implicit
buffer flush is taken.
207
ADAOPR (Operator Utility) Adabas Utilities
Note that "WRITE_LIMIT=" (keeping the equals sign but omitting the number) is equivalent to
"WRITE_LIMIT=0".
The minimum value is 0 and the maximum value is 70; 0 means that Adabas will dynamically choose an
appropriate value.
XA_RESPONSE_CHECK
This function enables the DBA to gather information if one of a list of XA response codes occurs. The
information written may be used to analyze possible problems in the databases operation. If a response
check for an XA response code is enabled, the database section file is written to disk if this response code
occurs.
Depending on the setting of the RESPONSE_ABORT option, the nucleus either aborts or continues
operation:
if the RESPONSE_ABORT option is set, the database section file (Adabas.xxx.hh:mm:ss) is written
to the databases default directory;
if the NORESPONSE_ABORT option is set (default setting), the nucleus continues running and the
database section file (Adabas.xxx.XAyyyy.hh:mm:ss) is written to disk (refer to the ADAOPR FILE
parameter for further information).
XA_RBROLLBACK
XA_RBCOMMFAIL
XA_RBDEADLOCK
XA_RBINTEGRITY
XA_RBOTHER
XA_RBPROTO
XA_RBTIMEOUT
XA_RBTRANSIENT
XA_NOMIGRATE
XA_HEURHAZ
XA_HEURCOM
XA_HEURRB
XA_HEURMIX
XA_RETRY
XAER_ASYNC
XAER_RMERR
XAER_NOTA
XAER_INVAL
208
Adabas Utilities ADAOPR (Operator Utility)
XAER_PROTO
XAER_RMFAIL
XAER_DUPID
XAER_OUTSIDE
XA_RBROLLBACK
209
ADAORD (Reorder Database Or Files, Export/Import Files) Adabas Utilities
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Restart Considerations: This describes what to do if the utility is for some reason unable to run to
completion.
Functional Overview
The reorder utility ADAORD provides functions to reorganize a whole database (REORDER) and to
migrate files between databases (EXPORT/IMPORT).
Depending on the function selected, ADAORD produces or requires a sequential file (ORDEXP).
To change the layout of a complete database. This includes increasing or decreasing the maximum
number of files permitted;
To change the space allocation or placement of a file, to reduce the number of logical extents
assigned to its index, Address Converter or Data Storage and to change or re-establish the padding
factors;
To create one or more test files that all contain the same data. This procedure requires a file to be
exported and then imported using a different file number;
To archive and subsequently reestablish a file, independent of its original placement and the database
device types used.
When exporting files from a database, the Adabas nucleus is not required. If a system file is processed, the
nucleus must be inactive. For detailed information, please refer to the table of nucleus requirements.
210
Adabas Utilities ADAORD (Reorder Database Or Files, Export/Import Files)
When importing files into a database, the Adabas nucleus is not required to be active. The nucleus may be
either started or shut down during this procedure.
Procedure Flow
Export Function
The sequential file ORDEXP can have multiple extents, but only if you are using raw devices. For
detailed information about sequential files with multiple extents, see Administration, Using Utilities.
211
ADAORD (Reorder Database Or Files, Export/Import Files) Adabas Utilities
The sequential file ORDEXP can have multiple extents, but only if you are using raw devices. For
detailed information about sequential files with multiple extents, see Administration, Using Utilities.
Environment Storage
Data Set Additional Information
Variable Medium
Associator ASSOx Disk
Data storage DATAx Disk
Export (out),
Export copy ORDEXP Disk, Tape (* see note) Reorder (in/out),
other functions (in)
Control statements stdin Utilities Manual
ADAORD messages stdout Messages and Codes
Work storage WORK1 Disk
Note:
(*) A named pipe cannot be used for this sequential file (see Administration, Using Utilities for details).
Checkpoints
The following table shows the nucleus requirements for each function and the checkpoints written:
212
Adabas Utilities ADAORD (Reorder Database Or Files, Export/Import Files)
Nucleus
Nucleus must NOT be Nucleus is NOT Checkpoint
Function must
active required written
be active
CONTENTS X -
EXPORT X(* see note) X SYNX
IMPORT X(* see note) X SYNP
IMPORT_
X(* see note) X SYNP
RENUMBER
REORDER X X SYNP
Note:
(*) When processing an Adabas system file
In the case of the EXPORT function, ADAORD writes a single checkpoint and removes the UCB entry
when all of the specified files have been exported and the sequential output file (ORDEXP) has been
closed.
In the case of the IMPORT function, ADAORD writes a checkpoint and informs the nucleus that the file
has been loaded every time a file is successfully imported.
The UCB entry is removed when all of the specified files have been imported. When the utility is
executed offline, writing multiple checkpoints increases the probability of a checkpoint block (CPB)
overflow. The checkpoint file should, therefore, always be present to allow the Adabas nucleus to be
started in order to empty the CPB.
In the case of the REORDER function, ADAORD writes a single checkpoint and removes the UCB entry
when the function terminates.
Control Parameters
The following control parameters are available:
213
ADAORD (Reorder Database Or Files, Export/Import Files) Adabas Utilities
CONTENTS
DBID = number
EXPORT = (number[-number][,number[-number]]...)
[,FDT]
D [,SORTSEQ = ({descriptor_name|ISN|PHYSICAL},...)]
IMPORT = (number[-number][,number[-number]]...)
[,ACRABN = number]
[,ASSOPFAC = number]
[,DATAPFAC = number]
[,DSRABN = number] [,DSSIZE = number[B|M] ]
[,LOBACRABN = number]
[,LOBDSRABN = number]
[,LOBNIRABN = number]
[,LOBSIZE = numberM]
[,LOBUIRABN = number]
[,MAXISN = number]
[,NIRABN = number|(number,number)]
[,NISIZE = number[B|M]|(number[B|M],number[B|M])]
[,UIRABN = number|(number,number)]
[,UISIZE = number[B|M]|(number[B|M],number[B|M])]
REORDER = *
CONTENTS
CONTENTS
This function displays the list of files contained in the sequential output file (ORDEXP) created by a
previous run of the EXPORT function.
214
Adabas Utilities ADAORD (Reorder Database Or Files, Export/Import Files)
DBID
DBID = number
EXPORT
EXPORT = (number[-number][,number[-number]]...)
[,FDT]
[,SORTSEQ = ({descriptor_name|ISN|PHYSICAL},...)]
This function exports (copies) one or more files from the database to a sequential output file (ORDEXP).
An EXPORT consists of copying each files Data Storage, together with the information that is required to
reestablish its index. All of the files to be processed are written to ORDEXP in the sequence in which they
are specified. Overlapping ranges and numbers are removed.
Note:
If the checkpoint file is included in the file list, it will be processed last.
FDT
This parameter controls the sequence in which the Data Storage is processed. If specifies either the field
name of a descriptor, subdescriptor or superdescriptor, or the keyword ISN or PHYSICAL.
Value Sequence
descriptor_name If the name of a descriptor, sub- or superdescriptor is specified, the data records are
processed in ascending logical sequence of the descriptor values to which the field
name refers.
A field with the MU, MC or NU option or one that is contained in a periodic group
or a sub- or superdescriptor derived from such a field must not be specified.
Logical sequence can be used only if a single file has been selected.
ISN If ISN is specified, the data records are processed in ascending ISN sequence.
PHYSICAL If PHYSICAL is specified or if the SORTSEQ parameter is omitted, the data
records are processed in the physical sequence in which they are stored in the Data
Storage.
215
ADAORD (Reorder Database Or Files, Export/Import Files) Adabas Utilities
The performance when processing in logical sequence and ISN sequence is better if the database is online
(provided that the buffer pool is large enough).
If one value is specified for SORTSEQ, that value is valid for all files. If more than one value is specified,
the number of values must be the same as the number of file ranges specified for the EXPORT parameter.
In this case, the first file range is exported in the first specified sort sequence, the second file range is
exported in the second specified sort sequence, and so on.
Example
File 1 is exported in the sequence of descriptor AA, files 20-30 are exported in physical sequence and file
40 is exported in ISN sequence.
FILES
This parameter is used to display information concerning the status of the specified files contained on the
sequential input file (ORDEXP).
IMPORT
IMPORT = (number[-number][,number[-number]]...)
[,ACRABN = number]
[,ASSOPFAC = number]
[,DATAPFAC = number]
[,DSRABN = number] [,DSSIZE = number[B|M] ]
[,LOBACRABN = number]
[,LOBDSRABN = number]
[,LOBNIRABN = number]
[,LOBSIZE = numberM]
[,LOBUIRABN = number]
[,MAXISN = number]
[,NIRABN = number|(number,number)]
[,NISIZE = number[B|M]|(number[B|M],number[B|M])]
[,UIRABN = number|(number,number)]
[,UISIZE = number[B|M]|(number[B|M],number[B|M])]
This function imports one or more files into a database, using the data on the sequential file (ORDEXP)
produced by a previous run of ADAORD. The file numbers specified are sorted into ascending sequence.
Overlapping ranges and numbers are removed.
The file numbers specified must not be loaded in the database and must not exceed the maximum file
number defined for the database in question.
216
Adabas Utilities ADAORD (Reorder Database Or Files, Export/Import Files)
By default, ADAORD controls the file placement and the allocation quantities. The parameters that can be
used to overwrite these defaults may be used only if a single file has been selected.
Please refer to the IMPORT_RENUMBER function for the description of the parameters.
217
ADAORD (Reorder Database Or Files, Export/Import Files) Adabas Utilities
IMPORT_RENUMBER
This function imports a file into a database, using the data on the sequential file (ORDEXP) produced by a
previous run of ADAORD. The first number given defines the file to be imported, and the second number
is the new file number to be assigned to the file. The third, optional number is the new file number for the
LOB file. If the third number is not specified, the LOB file number (if it exists) remains unchanged.
The new file number must not be loaded in the database and must not exceed the maximum file number
defined for the database in question.
Unless otherwise specified, ADAORD controls the file placement and the allocation quantities.
ACRABN = number
This parameter specifies the RABN at which the space allocation for the Address Converter (AC) is to
start.
ASSOPFAC = number
This parameter specifies the new padding factor to be used for the files index. The number specified is
the percentage of each index block which is not to be used by ADAORD or a subsequent run of the mass
update utility ADAMUP. This padding area is reserved for future use if additional entries have to be
added to the block by the Adabas nucleus. This avoids the necessity of having to relocate overflow entries
to another block.
A small padding factor (0 to 10) should be specified if little or no descriptor updating is expected. A larger
padding factor (10 to 50) should be specified if a large amount of descriptor updating is expected in which
new descriptor values are created.
If this parameter is omitted, the current padding factor in effect for the files index is used.
218
Adabas Utilities ADAORD (Reorder Database Or Files, Export/Import Files)
DATAPFAC = number
This parameter specifies the new padding factor to be used for the files Data Storage. The number
specified is the percentage of each data block which is not to be used by ADAORD. This padding area is
reserved for future use if any record in a block requires additional space as result of record updating by the
Adabas nucleus. This avoids the necessity of having to relocate overflow entries to another block.
A small padding factor (0 to 10) should be specified if there is little or no record expansion. A larger
padding factor (10 to 50) should be specified if there is a large amount of record updating which will
cause expansion.
If this parameter is omitted, the current padding factor in effect for the files Data Storage is used.
DSRABN = number
This parameter specifies the RABN at which the space allocation for the files Data Storage (DS) is to
start.
DSSIZE = number[B|M]
This parameter specifies the number of blocks (B) or megabytes (M) to be initially assigned to the files
Data Storage (DS). By default, the size is given in megabytes.
If this parameter is omitted, ADAORD calculates the size based on the old number of blocks allocated and
the difference between the old and new padding factor.
LOBACRABN=number
This parameter specifies the RABN at which the space allocation for the LOB files Address Converter
(AC) is to start.
LOBDSRABN=number
This parameter specifies the RABN at which the space allocation for the LOB files Data Storage (DS) is
to start.
LOBNIRABN=number
This parameter specifies the RABN at which the space allocation for the LOB files Normal Index (NI) is
to start.
219
ADAORD (Reorder Database Or Files, Export/Import Files) Adabas Utilities
LOBSIZE=numberM
This parameter specifies the number of megabytes to be initially assigned to the LOB files Data Storage
(DS). The AC size, NI size and UI size for the LOB file are derived from this size.
If this parameter is omitted, ADAORD calculates the size based on the old number of blocks allocated and
the difference between the old and new padding factor.
LOBUIRABN=number
This parameter specifies the RABN at which the space allocation for the LOB files Upper Index (UI) is to
start.
MAXISN = number
This parameter specifies the highest permissible ISN for the file. ADAORD uses this parameter to
determine the amount of space to be allocated for the files Address Converter (AC).
Because there is no automatic extension of the initial allocation, a value that is smaller than the files
current first free ISN will cause ADAORD to terminate execution and return an error status if there are
ISNs outside the Address Converter.
If this parameter is omitted, the value of MAXISN currently in effect for the files Address Converter is
used.
NIRABN = number|(number,number)
This parameter specifies the RABN(s) at which the space allocation for the files Normal Index (NI) is to
start. Adabas usually stores small descriptor values (<= 253 bytes) in small index blocks (block size < 16
KB) and large descriptor values in large index blocks (block size >= 16 KB. For this reason, it is possible
to specify 2 RABNs - if you specify 2 RABNs, one must have a block size < 16 KB, and the other must
have a block size >=16 KB.
NISIZE = number[B|M]|(number[B|M],number[B|M])
This parameter specifies the number of blocks (B) or megabytes (M) to be initially assigned to the files
Normal Index (NI). By default, the size is given in megabytes. If two values are specified and the
NIRABN parameter is also specified, the first value corresponds to the first value of the NIRABN
parameter, and the second value corresponds to the second value of the NIRABN parameter. If two values
are specified and the NIRABN parameter is not specified, the first value specifies the size of small normal
index blocks (> 16 KB), and the second value specifies the size of large NI blocks (>= 16 KB).
If this parameter is omitted, ADAORD calculates the size based on the old number of blocks allocated and
the difference between the old and new padding factor.
220
Adabas Utilities ADAORD (Reorder Database Or Files, Export/Import Files)
UIRABN = number|(number,number)
This parameter specifies the RABN(s) at which the space allocation for the files Upper Index (UI) is to
start. Adabas usually stores small descriptor values (<= 253 bytes) in small index blocks (block size < 16
KB) and large descriptor values in large index blocks (block size >= 16 KB. For this reason, it is possible
to specify 2 RABNs - if you specify 2 RABNs, one must have a block size < 16 KB, and the other must
have a block size >=16 KB.
UISIZE = number[B|M]|(number[B|M],number[B|M])
This parameter specifies the number of blocks (B) or megabytes (M) to be initially assigned to the files
Upper Index (UI). By default, the size is given in megabytes. If two values are specified and the UIRABN
parameter is also specified, the first value corresponds to the first value of the UIRABN parameter, and
the second value corresponds to the second value of the UIRABN parameter. If two values are specified
and the UIRABN parameter is not specified, the first value specifies the size of small upper index blocks
(> 16 KB), and the second value specifies the size of large UI blocks (>= 16 KB).
If this parameter is omitted, ADAORD calculates the size based on the old number of blocks allocated and
the difference between the old and new padding factor.
REORDER
REORDER = *
This function is used to change the layout of a whole database. It rearranges the databases global areas,
eliminates fragmentation in the DSST and the files Address Converter, Data Storage, Normal Index and
Upper Index extents by physically changing their placement. It also re-establishes the files padding
factors. Exclusive control of the database container files is required.
A REORDER database implicitly exports the files, deletes them from the database and then re-imports
them. The sequential file (ORDEXP) that is created during the REORDER is kept.
Restart Considerations
ADAORD has no restart capability.
An abnormally terminated IMPORT of one or more files will result in lost RABNs for the last file being
imported. These RABNs can be recovered by executing ADADBMs RECOVER function. The files
preceding the one being processed when the interrupt occurred will be available in the database.
Therefore, the IMPORT function should be rerun starting with the file number at which the interrupt
occurred.
An abnormally terminated IMPORT_RENUMBER will result in lost RABNs for the file being imported.
These RABNs can be recovered by executing ADADBMs RECOVER function. The
IMPORT_RENUMBER function has to be rerun from the beginning.
221
ADAORD (Reorder Database Or Files, Export/Import Files) Adabas Utilities
An abnormally terminated REORDER at the database level may result in a database that cannot be
accessed if the interrupt occurred while reordering the databases global areas (GCB, FST, DSST, etc.). In
this case, either a new empty database has to be created using ADAFRM or the old database has to be
reestablished from an Adabas backup copy, using ADABCKs RESTORE database function. If the
interrupt occurred during the re-import phase, it will result in lost RABNs for the last file being imported.
These RABNs can be recovered by executing ADADBMs RECOVER function. The files preceding the
one being processed when the interrupt occurred will be available in the database. The remaining files can
be obtained from the sequential work file (ORDEXP) by using ADAORDs IMPORT function.
Examples
In the examples below, the files 1, 2, 4, 6, 7, 8, 10, 11, 12 and 25 are loaded in database 1. Database 2
contains files 3, 6 and 11.
Example 1
adaord: dbid = 1
adaord: export = (1-4,7,10-25)
Example 2
adaord: dbid = 2
adaord: import = (1-10,12)
Example 3
adaord: dbid = 2
adaord: import_renumber = (11,19), acrabn = 131, datapfac = 20
File 11 is imported into database 2 using a new file number of 19 (because 11 is already in use). The files
Address Converter (AC) is to be allocated at ASSO RABN 131. The new padding factor for the Data
Storage (DS) is 20 percent.
Example 4
adaord: dbid = 1
adaord: reorder = *
222
Adabas Utilities ADAPLP (Protection Log Printout)
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
ADAPLP Output: This section describes the format of records output by the utility.
Functional Overview
The ADAPLP utility prints the Protection Log or WORK.
Procedure Flow
223
ADAPLP (Protection Log Printout) Adabas Utilities
Environment Storage
Data Set Additional Information
Variable Medium
Associator ASSOx Disk
Disk,
Protection log PLPPLG Utilities Manual
Tape
Only required if you process a PLOG with an extension
Protection log count > 1 and if you use the DECOMPRESS or DELTA
PLPLEX Disk
(last extent) option: you must provide the last PLOG extent before the
PLOG extent to be processed.
Control
stdin Utilities Manual
statements
ADAPLP
stdout Messages and Codes
report
Work storage WORK1 Disk
The sequential file PLPPLG can have multiple extents. For information about sequential files with
multiple extents, see Administration, Using Utilities.
Checkpoints
The utility writes no checkpoints.
224
Adabas Utilities ADAPLP (Protection Log Printout)
Control Parameters
The following control parameters are available:
M DATASET = keyword
DBID = number
D [NO]DECOMPRESSED
DELTA
D [NO]DUMP
FILE = number
D [NO]HEADER
INTERNAL_ID = number
MODIFIED_RABN = number
NOFILETYPE
NONULL
M RABN = {*|number[-number]}
SEQ = number
D [NO]SHORT
THREAD = number
TSN = number
USER_ID = string
D [NO]WXA
DATASET
DATASET = keyword
225
ADAPLP (Protection Log Printout) Adabas Utilities
This parameter selects the file containing the Protection Log information to be processed. The keyword
can take the values PLOG or WORK. The parameter PLOG must be specified first if DATASET=PLOG
is to be specified and the protection log is located on a raw device.
This parameter selects the file containing the Protection Log information to be processed. The keyword
can take the values PLOG or WORK.
DBID
DBID = number
This parameter must be used when DATASET=WORK is requested, or if DATASET=PLOG and the
protection log is within a raw section. This parameter must be the first parameter to be specified.
This parameter must be used when DATASET=WORK is requested. This parameter must be the first
parameter to be specified.
[NO]DECOMPRESSED
[NO]DECOMPRESSED
This option indicates whether for each selected DATA record from a protection log, one line per field is
printed with the field name and its decompressed value in hex (DECOMPRESSED) or not
(NODECOMPRESSED).
For an inserted record, an after image containing the field values of the record after the insert is displayed.
For an updated record, a before image containing the field values before the update, and an after image
containing the field values of the record after the update are displayed.
For a deleted record, a before image containing the field values before the delete operation is displayed.
If you specif y DECOMPRESSED and NONULL, no output is produced for the following:
PE groups containing only fields with NU or NC option without a value that is not the null-value;
226
Adabas Utilities ADAPLP (Protection Log Printout)
Field :
AA: ^30372E31322E3034
Group :
AB
Field :
AC: ^2020202020202020202020202020202020202020
Field :
AE: ^2020202020202020202020202020202020202020
Field :
AD: ^2020202020202020202020202020202020202020
Field :
AF: ^20
Field :
AG: ^20
Field :
AH: ^0000000C
Group :
A1
MU-field :
AI, count = ^01
AI( 1): ^2020202020202020202020202020202020202020
Field : AJ: ^2020202020202020202020202020202020202020
Field : AK: ^20202020202020202020
Field : AL: ^202020
Group : A2
Field : AN: ^202020202020
Field : AM: ^202020202020202020202020202020
Field : AO: ^202020202020
Field : AP: ^20202020202020202020202020202020202020202020202020
PE-group : AQ, count = ^01
PE index (1)
Field : AR: ^202020
Field : AS: ^000000000C
MU-field : AT, count = ^01
AT( 1): ^000000000C
End of PE-group : AQ
Group : A3
Field : AU: ^3030
Field : AV: ^3030
PE-group : AW, count = ^01
PE index (1)
Field : AX: ^3030303030303030
Field : AY: ^3030303030303030
End of PE-group : AW
MU-field : AZ, count = ^01
AZ( 1): ^202020
DELTA
DELTA
227
ADAPLP (Protection Log Printout) Adabas Utilities
This parameter indicates that only changed fields after an update are displayed.
For an inserted record, the same output is produced as with the options DECOMPRESSED, NONULL.
For an updated record, a Delta containing the modified field values is displayed. Note that for MU/PE
fields, the value count displayed can be smaller than the displayed MU/PE indices if the MU/PE count has
been decreased - this is because all field values have been set to the null value.
If a record is deleted, no output is produced, however, you can see the deletion if you display protection
log entries of the type CE.
[NO]DUMP
[NO]DUMP
This option indicates whether the variable part of a Protection Log record is included in the printout
(DUMP) or not (NODUMP).
If DUMP is specified, the variable part of each Protection Log record is displayed in both hexadecimal
and uninterpreted ASCII format.
FILE
FILE = number
The Protection Log records are only displayed if they belong to the file specified by this parameter.
Only records of the types DA, DV, EXT, INDEX and FCB are displayed.
Please refer to the tables at the end of this section for a description of the various types of Protection Log
records.
[NO]HEADER
[NO]HEADER
This option indicates whether for each block of the Protection Log a header is displayed (HEADER) or
not (NOHEADER).
228
Adabas Utilities ADAPLP (Protection Log Printout)
INTERNAL_ID
INTERNAL_ID = number
This option displays only the records with the specified internal ID.
Only records of the types BT, C1, C5, CL, DA, DV, ET, FCBDS, FCBIX, INDEX and XA are displayed.
ISN
The Protection Log records are only displayed if they belong to the ISNs specified by this parameter. Only
records of the types DA and DV are displayed. Please refer to the tables at the end of this section for a
description of the various types of Protection Log records. This parameter can only be used in conjunction
with the FILE parameter.
MODIFIED_RABN
MODIFIED_RABN = number
This option displays only the records in which modifications for the specified RABN are logged.
Only records of the type DA, INDEX and EXT are displayed.
Please refer to the tables at the end of this section for a description of the various types of Protection Log
records.
NOFILETYPE
NOFILETYPE
This keyword specifies that record types that are independent of file numbers (for example ET and BT
records) will be displayed in addition to the record types that are bound to file numbers.
Example
adaplp dbid=6 file=25 type=(da,dv,et,bt) nofiletype
The DA and DVT records of file 25 together with all ET and BT records will be displayed.
229
ADAPLP (Protection Log Printout) Adabas Utilities
NONULL
NONULL
The NONULL parameter is only relevant if the DECOMPRESSED parameter is also specified. Please
refer to the DECOMPRESSED parameter for further information.
PLOG
PLOG = (number[,number])
This parameter is required if DATASET=PLOG is specified and the protection log is within a raw section.
It is optional if the protection log is within a file system. The PLOG number and the extension count can
be specified. If an extension count is specified, then only the specified extent will be processed. If no
extension count is specified, Adabas will open subsequent extents when necessary. The parameter PLOG
must be specified before DATASET=PLOG is specified.
Example:
Section layout
.
.
.
250000 260000 10001 30 PLG.36 created
adaplp: plog=36
adaplp: dataset=plog
RABN
This parameter selects one block or a range of consecutive blocks on the WORK or Protection Log file.
The information contained in the specified blocks is displayed.
230
Adabas Utilities ADAPLP (Protection Log Printout)
Note:
If you start ADAPLP without specifying RABN, the utility will run, but will not produce any output.
Example
adaplp: rabn = 123
RECORD
This parameter selects the records or ranges of records to be printed. All of the records are printed if * or
nothing is specified.
Example:
adaplp: record = (2-5,9,11)
The records 2, 3, 4, 5, 9 and 11 are written while printing one or more PLOG blocks.
SEQUENCE
SEQUENCE = number
This option displays only the records written by the specified sequence number.
[NO]SHORT
[NO]SHORT
This option indicates whether only Protection Log block headers are printed out (SHORT), or whether all
the records in each block are included in the display (NOSHORT).
By default, the Protection Log block header is displayed followed by all of the records contained in the
block.
THREAD
THREAD = number
231
ADAPLP (Protection Log Printout) Adabas Utilities
This option displays only the records with the specified thread.
TSN
TSN = number
This option displays only the records with the specified transaction sequence number (TSN).
Only records of the type BT, C5, CL, DA, DV, ET and XA are displayed.
Please refer to the tables at the end of this section for a description of the various types of Protection Log
records.
TYPE
This option displays only the protection log records specified by the given keyword(s). Each keyword
corresponds to one or more protection log record types, as shown in the following table.
232
Adabas Utilities ADAPLP (Protection Log Printout)
Please refer to the tables at the end of this section for a description of the various types of Protection Log
records.
USER_ID
USER_ID = string
233
ADAPLP (Protection Log Printout) Adabas Utilities
This option displays only the records which start with the specified user ID.
Only records of the type BT, C1, C5, CL, DA, DV, ET, FCBDS, FCBIX, INDEX and XA are displayed.
Please refer to the tables at the end of this section for a description of the various types of Protection Log
records.
[NO]WXA
[NO]WXA
This option alternates between the WORK part 1 ring buffer (NOWXA) and WORK part 1 XA area
(WXA).
ADAPLP Output
Each block of the Protection Log or WORK is preceded by a header, which consists of the following:
the number of the session that the block belongs to (identical to the PLOG number);
the time stamp showing when the block was created (internal time stamp for WORK).
the type of PLOG record (see the following table for more information);
the internal user identification (in hexadecimal notation) that is uniquely assigned for each command
that opens a transaction.
Type Description
AB logs WORK wrap around (WORK only).
AC logs the relocation of a record during backout transaction (WORK only).
234
Adabas Utilities ADAPLP (Protection Log Printout)
Type Description
ACEXT logs the extension of the address converter (WORK only).
AT logs the adding of a field (ADADBM).
BE logs the end of a buffer flush (WORK only).
BF logs the start and end of a buffer flush (WORK only).
BS logs the start of a buffer flush (WORK only).
BT logs the start of BT processing.
C1 log record from a C1 command. Contains the checkpoint name (PLOG only).
C5 log record from a C5 command (PLOG only).
indicates the last entry of a command (last entry with this sequence number). If the
command was a delete operation, the file number and the ISN of the deleted record is
CE displayed.
Example
>>> DELETE FILE 10 ISN 2 <<<
CF logs the creation of an FDT (ADAFDU).
CL logs the CLOSE of a user.
CT logs the creation of a file (ADAFDU).
logs a data record change. The file, RABN, and ISN of the data record are displayed. The
record is either an after image (AI), a before image (BI), or a delta image (DI) and is
displayed when DUMP is enabled. TSN is an internal transaction sequence number. All
entries that originate from one transaction have the same TSN (see also the description of
DA
the ET command in the Command Reference Manual). The output of WB is only
displayed if DATASET=WORK has been specified. It shows the WORK block where the
previous PLOG record of the same TSN can be found. A clu value that is not zero
indicates an exclusive or privileged user.
DC logs the dropping of a field (ADADBM).
DSEXT logs the extension of data storage (WORK only).
DT logs the deletion of a file (ADADBM).
logs a descriptor update (should always be preceded by a DA record). The entries for the
DV
file, ISN, TSN, clu, and WB are the same as for the DA record type.
log entry from an ET command. The ET TSN gives the TSN of the last user data written by
ET
an ET command.
FCBDS logs an FCB change for data storage (WORK only).
FCBIX logs an FCB change for the normal index (WORK only).
FE logs a change of an index blocks first entry (WORK only).
IB logs an index block that is modified (WORK only).
INDEX logs an index block that is split (WORK only).
INSRU logs the insertion of an index block into a reusage chain (WORK only).
235
ADAPLP (Protection Log Printout) Adabas Utilities
Type Description
NIEXT logs the extension of the normal index (WORK only).
OP logs the OPEN of a user.
REMRU logs the deletion of an index block from a reusage chain (WORK only).
SPISN logs changes in ISN reusage or space reusage.
UIEXT logs the extension of the upper index (WORK only).
YB logs the backout of a transaction within the XA protocol.
YD logs the discarding of a heuristically terminated transaction within the XA protocol.
YF logs the final commit of a transaction within the XA protocol.
YP logs the preliminary commit of a transaction within the XA protocol.
There are also several flags that may be displayed with DA or DV records:
Flag Description
the data of this PLOG record contain an after image of the data record (record type
AI
DA).
BACKOUT indicates that the record was written during a backout within a single command.
the data of this PLOG record contain a before image of the data record (record type
BI
DA).
BT indicates that the record was written during the backout of a transaction.
the data of this PLOG record contain a delta image of the data record (record type
DI
DA).
FDATA indicates that this is the first DA record of this command.
FIRST_ENTRY indicates that this is the first record with a given sequence number.
HIMERGE merge of the highest index level.
HISPLIT split of the highest index level.
USERD transaction carries user data.
236
Adabas Utilities ADAPRI (Print Adabas Blocks)
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Functional Overview
The ADAPRI utility prints the contents of a block (or range of blocks) in the Associator, Data Storage,
WORK, TEMP, or SORT for maintenance or auditing purposes.
The output is in hexadecimal and ASCII format. Subsequent identical lines and blocks are suppressed.
237
ADAPRI (Print Adabas Blocks) Adabas Utilities
Procedure Flow
Environment Storage
Data Set Additional Information
Variable Medium
Associator ASSOx Disk
Data storage DATAx Disk
Sort storage SORTx Disk
Control statements stdin Utilities Manual
ADAPRI output stdout
Temporary storage TEMPx Disk
Work storage WORK1 Disk
Assignments to the ASSO container files are required in order to be able to process the DATA or WORK
container files.
Checkpoints
The utility writes no checkpoints.
238
Adabas Utilities ADAPRI (Print Adabas Blocks)
Control Parameters
The following control parameters are available:
DATASET = keyword
DBID = number
DATASET
DATASET = keyword
This parameter specifies the part of the database to be dumped. Valid keywords are:
Keyword Meaning
ASSO Associator
DATA Data Storage
SORT Sort Area
TEMP Temporary Area
WORK Work Area
Example
adapri: dataset = asso, rabn = 123 - 321
DBID
DBID = number
RABN
239
ADAPRI (Print Adabas Blocks) Adabas Utilities
Examples
adapri: dbid = 1, dataset = data, rabn = 123
The RABNs from 123 to 129 on the data set SORT are to be dumped.
240
Adabas Utilities ADAREC (Recovery Of Database Or Files)
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
ADAREC Input Data: This section provides information concerning input that the utility sometimes
requires from the protection log.
Control Parameters: This describes the parameters which are available for the utility.
Restart Considerations: This describes what to do if the utility is for some reason unable to run to
completion.
Functional Overview
The ADAREC utility consists of the following database recovery functions:
The CLOSE function writes a clean end-of-file to an abnormally-terminated Protection Log file
within a disk section (UNIX platforms only).
The REGENERATE function re-applies all of the updates made between two specified checkpoints.
The checkpoints used are normally the result of a checkpoint command (C1) but may also be internal
checkpoints taken by OP commands from EXU users or utility actions. If the whole database is to be
regenerated, certain files may be excluded by using the EXCLUDE_FILES option. The files
specified with this option are not regenerated, and the updates that are excluded are reported.
If REGENERATE terminates at a SYNP checkpoint, ADAREC "looks ahead" on the current PLOG to
find an alternative restart point for the next run of this PLOG. The utility then displays a list of other
utility functions that have to be executed before ADAREC can be restarted. The calculated restart point
can be reset or overridden by entering BLOCK = or CHECKPOINT =. Refer to the database report utility
ADAREP in this manual for a description of the possible system checkpoint types.
Normally, REGENERATE completes all fully-logged and confirmed transactions. This function is most
frequently used when the database (or one or more files) has been restored to a previous status with the
RESTORE function of the ADABCK utility.
241
ADAREC (Recovery Of Database Or Files) Adabas Utilities
If the utility writes records to the error file, it will exit with a non-zero status.
Note:
If ADAREC is used more than once at the same time to regenerate files, you should first increase the
value of the nucleus parameter LBP - this is because ADAREC performs a large number of database
updates, and failure to provide a large enough value of LBP may lead to an Adabas response code 162
being returned.
Procedure Flow
Environment Storage
Data Set Additional Information
Variable Medium
Protection log RECPLG Disk (* see note)
Note:
(*) The CLOSE function works only on protection log files in raw disk sections.
242
Adabas Utilities ADAREC (Recovery Of Database Or Files)
REGENERATE Function
Environment Storage
Data Set Additional Information
Variable Medium
Control statements stdin Utilities Manual
ADAREC messages stdout Messages and Codes
Rejected data RECERR Disk, Tape (* see note) Output of ADAREC
Protection log RECPLG Disk, Tape
Note:
(*) A named pipe can be used for this sequential file (see Administration, Using Utilities for details).
The sequential file RECPLG can have multiple extents. For detailed information about sequential files
with multiple extents, see Administration, Using Utilities.
243
ADAREC (Recovery Of Database Or Files) Adabas Utilities
Checkpoints
The following table shows the nucleus requirements for each function and the checkpoints written:
Nucleus
Nucleus must NOT be Nucleus is NOT Checkpoint
Function must
active required written
be active
CLOSE X -
LIST X -
REGENERATE X SYNX
Control Parameters
The following control parameters are available:
CLOSE = number
M DBID = number
LIST = keyword
REGENERATE = {* [,EXCLUDE_FILES =
(number[-number] [,number[-number] ] ... ) } |
(number[-number] [,number[-number] ] ... )
PLOG = number
D [,[NO]BI_CHECK]
[,BLOCK = ([number][,number])
,CHECKPOINT = ([string][,string])]
D [,[NO]ERROR_LOG]
D [,ON_ERROR = keyword]
CLOSE
CLOSE = number
The CLOSE function writes a clean end-of-file to an abnormally-terminated Protection Log file within a
disk section. This function must be executed before such a Protection Log file can be used as input for the
REGENERATE function.
244
Adabas Utilities ADAREC (Recovery Of Database Or Files)
The CLOSE function may be run when an AUTORESTART is pending or after the AUTORESTART has
been performed.
This function can still be used even if subsequent Adabas sessions have created other Protection Log data
files.
number specifies the Adabas Protection Log number of the data file to be closed. This number can be
found with the LAYOUT function of ADADEV.
Note:
This function only applies to UNIX platforms.
Example:
adarec: db=1
%ADAREC-I-DBON, database 1 accessed online
adarec: close=93
adarec:
DBID
DBID = number
Note:
Program functions which do not require the nucleus to be running need the environment variables set for
the container files.
LIST
Valid keywords are BRIEF, FULL and RESTART. BRIEF lists the Protection Log number and its
creation date. FULL lists additional information about the records on the Protection Log, e.g. the
checkpoints, the number of modifications for each file, etc. RESTART displays the restart points that
ADAREC writes when it encounters checkpoints while processing.
The LIST=FULL function also checks the structure of the Protection Log to ensure that it is internally
consistent. If a structural error is detected, a message is output indicating the error type as well as the
record and block numbers.
If the Protection Log is within a disk section, the PLOG parameter must be set before LIST can be
specified.
245
ADAREC (Recovery Of Database Or Files) Adabas Utilities
Examples
adarec: list=brief
REGENERATE
This function is used to regenerate a whole database or files within a database.
Database Regeneration
This option of the REGENERATE function regenerates a database. A file exclusion list can be used to
exclude certain files from the regenerate. ET logic is supported.
During REGENERATE processing, ADAREC locks the database for exclusive use via the UCB (see also
ADADBM DISPLAY=UCB). Processing terminates if a SYNP checkpoint is encountered. In this case,
ADAREC inspects the Protection Log in order to calculate an alternative restart point. This restart point is
then displayed together with a list of utility functions that must be executed before processing can be
continued. The next call to REGENERATE automatically sets up at this point. The use of the calculated
restart point can be overridden by specifying "BLOCK=" or "CHECKPOINT=" (that is, supplying empty
values for these keywords). This procedure is repeated until the end of the PLOG is reached. The UCB
entry is not deleted if ADAREC has performed an update and terminates abnormally.
[NO]BI_CHECK
If this option is set to BI_CHECK, ADAREC checks the consistency of the before images in the
Protection Log against the data in the database (is the ISN in use; does the record exist; is there a before
image mismatch?). If a mismatch is encountered, ADAREC issues messages containing the relevant
information and does not perform the update.
If this option is set to NOBI_CHECK, the consistency check is still made and the ERROR_LOG is
implicitly enabled; however, on finding a BI inconsistency, the update is made and the mismatch is
reported to the ERROR_LOG (see below). If errors are encountered, only the first error for each file will
be displayed, all subsequent errors are logged to the ERROR_LOG. Note that the index might become
inconsistent in this case.
However, if the PLOG was written with the NOBI option of the nucleus, it will not contain any before
images and the BI_CHECK option cannot be set.
246
Adabas Utilities ADAREC (Recovery Of Database Or Files)
BLOCK = ([number][,number])
This parameter specifies the numbers of the blocks in the Protection Log files that contain the
corresponding checkpoint names. The block numbers can be taken from the database status report.
CHECKPOINT = ([string][,string])
This parameter specifies the starting and ending checkpoint names. The checkpoint names can be taken
from the ADAREP database status report or ADAREC LIST=FULL.
If processing is to start at the beginning of the Protection Log file, the first parameter must be omitted.
[NO]ERROR_LOG
Setting this option to ERROR_LOG enables the automatic logging of any BI inconsistencies that may be
detected when using the NOBI_CHECK option. The contents of the error file produced can be examined
using the ADAERR utility. Do not print this error file using the standard operating system print utilities,
since the records contain nonprintable characters. See ADAERR for further information.
EXCLUDE_FILES = (number[-number][,number[-number]]...)
This parameter specifies the files to be excluded when regenerating a complete database. The updates that
are excluded are written to a report.
ON_ERROR = keyword
Valid keywords are ABORT and EXCLUDE. The keyword used determines what action to take if
ADAREC detects non-fatal errors during processing (e.g. response code 17, file not loaded). ABORT
abnormally terminates regenerate processing, and EXCLUDE excludes the file in question from the
regenerate if Data Storage errors occur (nucleus response codes 17, 49, 75, 77 and 113).
If, however, an error occurs while updating a files index (nucleus response codes 75, 76, 77, 98, 165, 166,
167 and 176), only the regeneration of the Data Storage for this file will continue. When the regeneration
process is complete, the index of this file is marked as invalid. The ADAINV REINVERT function with
the ALL_FIELDS option then has to be run for this file (please refer to the ADAINV utility in this manual
for more detailed information). If index errors occur and if the regenerate includes several Protection
Logs, all of the Protection Logs should be processed before re-inverting the index. Re-inverting the index
each time a Protection Log results in index errors would waste considerable amounts of time and
computer resources.
PLOG = number
This parameter specifies the log number of the Adabas Protection Log to be used as input for the
REGENERATE function. This number can be found with ADAREC using the LIST = BRIEF function.
247
ADAREC (Recovery Of Database Or Files) Adabas Utilities
File Regeneration
This option of the REGENERATE function re-applies all updates in a Protection Log for the specified
files or ranges of files. LOB files specified are ignored, but the LOB files assigned to all base files
specified are dumped too.
During regenerate processing, ADAREC locks the files for exclusive use via the UCB (see also
ADADBM DISPLAY=UCB). The regenerate terminates if a SYNP checkpoint is found while processing
a protection log. In this case, ADAREC inspects the Protection Log in order to calculate an alternative
restart point. This restart point is then displayed with a list of utility functions that must be executed
before processing can be continued. The next call to REGENERATE automatically sets up at this point.
The use of the calculated restart point can be overridden by specifying "BLOCK=" or "CHECKPOINT="
(that is, supplying empty values for these keywords). This procedure is repeated until the end of the
Protection Log is reached.
When regenerating one or more files, only the specified files are locked for other users. This lock is
removed if ADAREC terminates successfully at a checkpoint or at the end of the Protection Log.
The UCB entry is not deleted if ADAREC has performed an update and terminates abnormally.
ADABCK DUMP
[NO]BI_CHECK
If this option is set to BI_CHECK, ADAREC checks the consistency of the before images in the
Protection Log against the data in the database (is the ISN in use; does the record exist; is there a before
image mismatch?). If a mismatch is encountered, ADAREC issues messages containing the relevant
information and does not perform the update.
If this option is set to NOBI_CHECK, the consistency check is still made and the ERROR_LOG is
implicitly enabled; however, on finding a BI inconsistency, the update is made and the mismatch is
reported to the ERROR_LOG (see below). If errors are encountered, only the first error for each file will
be displayed, all subsequent errors are logged to the ERROR_LOG. Note that the index might become
inconsistent in this case.
NOBI_CHECK improves performance at the expense of possible loss of data consistency. We advise you
therefore not to use NOBI_CHECK for mission critical databases.
248
Adabas Utilities ADAREC (Recovery Of Database Or Files)
This parameter specifies the blocks in the Protection Log files that contain the corresponding checkpoint
names. The block numbers can be taken from the database status report.
This parameter specifies the starting and ending checkpoint names. The checkpoint names can be taken
from the ADAREP database status report.
If processing is to start at the beginning of the Protection Log file, the first parameter must be omitted.
However, if the first checkpoint name is supplied, it must be found in the first Protection Log file.
If processing is to stop at the end of the last Protection Log file, the second checkpoint name must be
omitted.
[NO]ERROR_LOG
Setting this option to ERROR_LOG enables the automatic logging of any BI inconsistencies that may be
detected when using the NOBI_CHECK option. The contents of the error file produced can be examined
using the ADAERR utility. Do not print this error file using the standard OpenVMS print utilities, since
the records contain non-printable characters. Please refer to the ADAERR utility in this manual for more
detailed information.
ON_ERROR = keyword
Valid keywords are ABORT and EXCLUDE. The keyword used determines what action to take if
ADAREC detects non-fatal errors during processing (e.g. response code 17, file not loaded). ABORT
abnormally terminates regenerate processing, and EXCLUDE excludes the file in question from the
regenerate if Data Storage errors occur (nucleus response codes 17, 49, 75, 77 and 113).
If, however, an error occurs while updating a files index (nucleus response codes 75, 76, 77, 98, 165, 166,
167 and 176), only the regeneration of the Data Storage for this file will continue. When the regeneration
process is complete, the index of this file is marked as invalid. The ADAINV REINVERT function with
the ALL_FIELDS option then has to be run for this file (please refer to the ADAINV utility in this manual
for more detailed information). If index errors occur and if the regenerate includes several Protection
Logs, all of the Protection Logs should be processed before re-inverting the index. Re-inverting the index
each time a Protection Log results in index errors would waste considerable amounts of time and
computer resources.
PLOG = number
This parameter specifies the log number of the Adabas Protection Log to be used as input for the
REGENERATE function. This number can be found with ADAREC using the LIST = BRIEF function.
249
ADAREC (Recovery Of Database Or Files) Adabas Utilities
Examples
Example 1
In this example, database 2 is to be regenerated using the Protection Log 2. File 12 is to be excluded from
the regenerate.
adarec: regenerate=*,plog=2
adarec: exclude_files=12
adarec:
REGENERATE summary
Processing of the Protection Log terminated at the SYNP checkpoint in block 4. However, no updates
were found on looking ahead and processing can be continued from the calculated restart point in block 6.
ADAREC displays a list of the utility functions that must be executed before processing continues. The
next call to REGENERATE=* will automatically continue at this calculated restart point.
adarec: regenerate=*,plog=2
%adarec-i-restartp, calculated restart point - block=6,checkpoint=synp
adarec: exclude_files=12
adarec:
1 modifications in file 11
1 modifications EXCLUDED from file 12
4 ET commands issued
250
Adabas Utilities ADAREC (Recovery Of Database Or Files)
REGENERATE summary
Processing of the Protection Log continues at the calculated restart point. The regenerate terminates
successfully.
Example 2
In this example, database 2 is to be regenerated using the Protection Log 2. Processing is to start at the
checkpoint SYNP in block 6 of the Protection Log. If Data Storage errors occur, the file in question will
be excluded from the regenerate. If index errors occur, the files index will be excluded from the
regenerate and marked as invalid.
adarec: regenerate=*,plog=2,block=6,checkpoint=synp
adarec: on_error=exclude
adarec:
1 modifications in file 11
3 ET commands issued
1 ET command issued
REGENERATE summary
An ISN conflict occurred in file 12 and all subsequent updates to this file were excluded. The cause of the
error has to be investigated. However, the nucleus was started without OPTIONS=UTILITIES_ONLY
and an N1 command was issued before the regenerate was started.
The Protection Log was processed to its end, the abort system message is used only to indicate a fatal
error.
251
ADAREC (Recovery Of Database Or Files) Adabas Utilities
Example 3
This example is similar to the previous one, with the exception that processing will abort if Data Storage
or index errors are encountered.
adarec: regenerate=*,plog=2,block=6,checkpoint=synp
adarec: on_error=abort
adarec:
1 modifications in file 11
3 ET commands issued
Example 4
In this example, database 2 is to be regenerated using the Protection Log 3. The before images in the
Protection Log will be checked against the data in the database and mismatches will be displayed on the
terminal.
adarec: regenerate=*,plog=3
adarec:
1 ET command issued
3 ET commands issued
252
Adabas Utilities ADAREC (Recovery Of Database Or Files)
REGENERATE summary
One before image mismatch occurred during processing. As a result, one update was excluded from file
11.
Having restored the files, the same example can be rerun with no consistency check of the before images
and with BI error logging enabled.
The Protection Log was processed to its end, the abort system message is used only to indicate a fatal
error.
adarec: regenerate=*,plog=3,nobi_check
adarec:
1 modifications in file 11
1 modifications in file 12
4 ET commands issued
REGENERATE summary
The Protection Log was processed to its end, the abort system message is used only to indicate a fatal
error.
The source of the errors is written to an error file which can be displayed using the ADAERR utility. The
first error is logged and also written to the error file. All subsequent errors are written to ERROR_LOG.
253
ADAREC (Recovery Of Database Or Files) Adabas Utilities
Example 5
1 modifications in file 11
1 modifications in file 12
4 ET commands issued
REGENERATE summary
An invalid descriptor name was encountered during processing. As a result, only the data storage of file
11 was regenerated. All of the descriptors will have to be re-inverted in order to reestablish the index.
The Protection Log was processed to its end, the abort system message is used only to indicate a fatal
error.
If index errors occur and if the regenerate includes several Protection Logs, all of the Protection Logs
should be processed before re-inverting the index. Re-inverting the index each time a Protection Log
results in index errors would waste considerable amounts of time and computer resources.
Example 6
In this example, database 2 is to be regenerated using the Protection Log 4 after the regenerate processing
of Protection Log 3 resulted in an index error.
adarec: regenerate=*,plog=4
adarec:
254
Adabas Utilities ADAREC (Recovery Of Database Or Files)
1 modifications in file 11
1 modifications in file 12
4 ET commands issued
REGENERATE summary
The index error that occurred while processing Protection Log 3 (see example 5) means that file 11s
index is no longer accessible. Only the Data Storage of file 11 is regenerated, whereas both the Data
Storage and the index of file 12 are regenerated.
The Protection Log was processed to its end, the abort system message is used only to indicate a fatal
error.
Having performed the first update, ADAREC writes a started checkpoint to the checkpoint file, e.g.
SYNX 26-OCT-2006 14:31:23.19 94 7 ADAREC regenerate started
255
ADAREP (Database Report) Adabas Utilities
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Functional Overview
The ADAREP utility generates the database status report. This contains information about the current
physical layout and logical contents of the database. Unless otherwise stated, the functions can be
executed when the nucleus is active or inactive.
The amount and location of space currently allocated for the Associator and Data Storage;
The amount and location of unused space available for the Associator and Data Storage;
Checkpoint information;
Information about each file in the database (space allocation, space available, number of records
loaded, MAXISN setting, field definitions, etc.);
Only the CHECKPOINTS control parameter (see description below) requires the nucleus to be active.
256
Adabas Utilities ADAREP (Database Report)
Procedure Flow
Environment Storage
Data Set Additional Information
Variable Medium
Associator ASSOx Disk
Control statements stdin Utilities Manual
Messages and Codes,
ADAREP report stdout
Utilities Manual
Checkpoints
The utility writes no checkpoints.
Control Parameters
The following control parameters are available:
257
ADAREP (Database Report) Adabas Utilities
CONTENTS
M DBID = number
D [NO]FDT
D [NO]FULL
FREE_SPACE
LAYOUT
SUMMARY
CHECKPOINTS
This function displays selected information from the checkpoint list and requires the nucleus to be active.
Five types of system checkpoints (SYNP, SYNC, SYNX, OPEN and CLSE) are written to the checkpoint
file and to the protection log, together with the user checkpoints written by C1 commands.
SYNC indicates a checkpoint made during nucleus initialization, shutdown or cancel processing; during
the ADAOPR function FEOF = PLOG; or due to ADABCK NEW_PLOG processing.
SYNP indicates a checkpoint made by an Adabas utility that requires privileged control, i.e. the module
can make updates without using the nucleus. A SYNP checkpoint is, for example, written at the end of an
ADAMUP UPDATE run.
SYNX indicates a checkpoint made by a utility that requires exclusive control of one or more files. A
SYNX checkpoint is, for example, written by ADAULD.
Note:
If the ADAREC REGENERATE function is executed using the Protection Log, this utility stops at each
SYNP checkpoint since DBA intervention is required.
The date strings must correspond to the following absolute data and time format:
[dd-mmm-yyyy[:hh[:mm[:ss]]]]
258
Adabas Utilities ADAREP (Database Report)
Example
adarep: checkpoints = 1-jun-2006
CONTENTS
CONTENTS
This function displays information about the files in the database that you specify with the DBID
parameter.
Example
adarep: contents
259
ADAREP (Database Report) Adabas Utilities
11 EMPLOYEE-FILE 109 26 4 68 97 13 64
12 VEHICLES 40 20 6 48 30 12 44
13 MISCELLANEOUS 113 100 3 50 33 32 1
-------------------------------------------------------------------------------
Total 289 151 24 260 187 59 200
The column Extents shows the number of logical extents currently assigned to the Normal Index (N), the
Main/Upper Indices (U), the Address Converter (A) and Data Storage (D). A maximum of 15 logical
extents may be allocated to the Data Storage, 31 logical extents may be allocated to the Index (normal,
main, upper index) and 32 logical extents to the Address Converter. For Data Storage, Normal Index and
Upper Index, one more extent is reserved by an autorestart, regenerate or a backout transaction command.
The column Extents shows the number of logical extents currently assigned to the Normal Index (N), the
Main/Upper Indices (U), the Address Converter (A) and Data Storage (D). A maximum of 31 logical
extents may be allocated to any given element (15 for Data Storage). If 31 extents have been assigned to
an element, the file may have to be reordered (please refer to the Administration Manual for more detailed
information).
The column Pad shows the block padding factors in percent defined for the Associator (A) and Data
Storage (D) (please refer to the ASSOPFAC and DATAPFAC parameters of ADAFDU, ADAMUP or
ADAORD for more detailed information).
If ISNs are to be reused, the ISNs of deleted records can be reassigned to new records. If space is to be
reused, the space released within a block as a result of deleting a record can be reused for a new record
(please refer to the REUSE parameter of ADADBM or ADAFDU for more detailed information).
The second table shows the number of blocks allocated for Normal Index (NI) Main/Upper Indices (UI),
Address Converter (AC) and Data Storage (DS) for each file. The remaining columns show the number of
unused blocks in the Main/Upper Indices (UI) and Data Storage (DS).
DBID
DBID = number
260
Adabas Utilities ADAREP (Database Report)
This parameter selects the database to be used. Multiple DBIDs are supported within one session.
Example
adarep: dbid = 1, contents
.
.
adarep: dbid = 2, contents
.
.
adarep: dbid = 3, contents
[NO]FDT
[NO]FDT
If this parameter is set to FDT, the Field Definition Tables (FDTs) will be included in the status
information subsequently displayed by the FILES function.
FILES
Example
adarep db=076 fdt file=11
%ADAREP-I-DBOFF, database 76 accessed offline
Database 76, File 11 (EMPLOYEES ) 7-OCT-2006 12:27:55
ASSO:
1 2KB AC 225 225 1 0 0 0
1 2KB NI 228 317 90 0 61 0
1 2KB UI 318 332 15 0 2 0
DATA:
261
ADAREP (Database Report) Adabas Utilities
1 4KB DS 95 154 60 0 46 0
-------------------------------------------------------------------------------
The FILES parameter displays the file number and file name, the highest index level, the padding factors
for ASSO and DATA, the highest and maximum ISNs, the number of records loaded, the corresponding
base file number or LOB file number if it exists, as well as the switches for ISN reusage, space reusage,
and ciphering.
262
Adabas Utilities ADAREP (Database Report)
The layout of the ASSO and DATA elements of a file are displayed: the block size on which the various
list elements are stored, the location of these extents and the number of corresponding blocks/megabytes
allocated or unused.
In addition, the FDT function displays the Field Definition Table of the file:
Field Definition Table:
--------------------------------------------------------------------------------
Type I Name I Length I Format I Options I Parent field(s) Fmt
--------------------------------------------------------------------------------
PHON I PH I I I I AE A
--------------------------------------------------------------------------------
SUPER I H1 I 4 I U I NU I AU ( 1 - 2 ) U
I I I I I AV ( 1 - 2 ) U
--------------------------------------------------------------------------------
SUB I S1 I 4 I A I I AO ( 1 - 4 ) A
--------------------------------------------------------------------------------
SUPER I S2 I 26 I A I I AO ( 1 - 6 ) A
I I I I I AE ( 1 - 20 ) A
--------------------------------------------------------------------------------
SUPER I S3 I 12 I A I NU,PE I AR ( 1 - 3 ) A
I I I I I AS ( 1 - 9 ) P
--------------------------------------------------------------------------------
The flags which can be displayed in the Field Definition Table are as follows:
263
ADAREP (Database Report) Adabas Utilities
Flag Meaning
HY the field is part of a hyperdescriptor
P the field is phoneticized
SB part of this field is subdescriptor
SP part of superdescriptor
FREE_SPACE
FREE_SPACE
This function displays a summary of free blocks in ASSO and DATA. This is a subset of the information
that is displayed by the LAYOUT function.
Example
adarep: free_space
ASSO:
1-2 611 1,546 936 2,048
DATA:
1 245 768 524 4,096
2 769 868 100 3,072
3-4 869 888 20 6,144
[NO]FULL
[NO]FULL
If FULL is specified together with FDT, dropped fields will be included in the display of the FDT
information (but without the field names).
LAYOUT
LAYOUT
264
Adabas Utilities ADAREP (Database Report)
This function displays a summary of the blocks in ASSO and DATA and reports lost blocks. Lost blocks
are blocks that are not listed in the Free Space Table (FST) and are not allocated to a file, the DSST or the
databases global area. This function also reports double-allocated blocks.
Example
adarep: layout
ASSO:
1 1 180 180 2,048 CB
1 181 181 1 2,048 DSST
1 182 186 5 2,048 AC 1
1 187 187 1 2,048 UI 1
1 188 188 1 2,048 NI 1
1 189 193 5 2,048 AC 2
1 194 195 2 2,048 UI 2
1 196 219 24 2,048 NI 2
1 220 220 1 2,048 AC 3
1 221 222 2 2,048 UI 3
1 223 224 2 2,048 NI 3
1 225 225 1 2,048 AC 11
1 226 227 2 2,048 DSST
1 228 242 15 2,048 UI 11
1 243 332 90 2,048 NI 11
1 333 334 2 2,048 AC 12
1 335 354 20 2,048 UI 12
1 355 394 40 2,048 NI 12
1 395 397 3 2,048 AC 13
1 398 497 100 2,048 UI 13
1 498 609 112 2,048 NI 13
1 610 610 1 2,048 DSST
1-2 611 1,546 936 2,048 FREE
DATA:
1 1 32 32 4,096 DS 1
1 33 89 57 4,096 DS 2
1 90 94 5 4,096 DS 3
1 95 154 60 4,096 DS 11
1 155 194 40 4,096 DS 12
1 195 244 50 4,096 DS 13
1 245 768 524 4,096 FREE
2 769 868 100 3,072 FREE
3-4 869 888 20 6,144 FREE
LAYOUT provides a summary of all blocks in ASSO and DATA. The locations and lengths of sections of
contiguous blocks, the block size, the type of usage and the numbers of the corresponding files are
displayed. These blocks may be free (FREE) or used for the Global Blocks (CB), the Data Space Storage
Table (DSST), the Normal Index (NI), the Upper/Main Index (UI), the Address Converter (AC) or the
Data Storage (DS).
265
ADAREP (Database Report) Adabas Utilities
SUMMARY
SUMMARY
SUMMARY provides general information about the database and the physical layout of ASSO, DATA
and WORK.
Example
adarep: summary
-------------------------------------------------------------------------------
10.43
=====
The device type can be "raw" (raw section), "file" (file system) or "worm" (write once, read many device.
e.g. optical disk).
266
Adabas Utilities ADASCR (Security Functions)
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Control Parameters: This describes the parameters which are available for the utility.
Functional Overview
The security utility ADASCR creates, modifies and deletes file protection levels and user passwords, and
enables the record locking capabilities of individual passwords (by using value criteria for individual
database files) to be set or modified. Additionally, the utility is used to display file and password security
information.
Access to this utility should be strictly limited to the person or persons responsible for database security
(DBA).
Multiple functions may be specified within a single run of ADASCR. There is no restriction on the
number of functions which may be specified.
Note:
It is not possible to copy the security definitions from one hardware architecture to another by using
ADAULD/ADADCU and ADACMP/ADAMUP - this is because the data stored in the security file are
stored in a platform-dependent manner and encrypted. For this reason, it is strongly recommended to save
the ADASCR input for all security definitions (remembering, of course, to protect the files that contain the
security definitions from unauthorized access).
Control Parameters
The following control parameters are available:
267
ADASCR (Security Functions) Adabas Utilities
M DBID = number
DELETE = string
DISPLAY = [PASSWORDS |
PERMISSIONS, PASSWORD = {* | string} |
PROTECTIONS,
FILE = {* | (number[-number][,number[-number]]...)} |
VALUE_CRITERIA, PASSWORD = {* | string}]
PROTECT = (number[-number][,number[-number]]...)
,ACCESS = (number[,number]...)
,UPDATE = (number[,number]...)
*The search/access buffer string parameters must be followed by <newline> with no preceding comma.
CHANGE
The value specified by the second string must not be the same as an existing password. A password may
be between 1 and 8 characters long. If less than 8 characters are specified, trailing blanks are added. The
password may not contain any special characters or embedded blanks.
All entries in effect for the password specified by the first string remain in effect for the new password.
Example
adascr: change = (oldpw1,newpw1)
268
Adabas Utilities ADASCR (Security Functions)
DBID
DBID = number
Note:
The nucleus must be running.
Example
adascr: dbid = 155
DELETE
DELETE = string
This function deletes the existing password specified by the string, together with its associated permission
levels and Security by Value criteria.
Example
adascr: delete = userpw1
DISPLAY
DISPLAY = [PASSWORDS |
PERMISSIONS, PASSWORD = {* | string} |
PROTECTIONS,
FILE = {* | (number[-number][,number[-number]]...)} |
VALUE_CRITERIA, PASSWORD = {* | string}]
This function shows current security information for files and passwords, as defined by the ADASCR
utility.
Details of file protection levels, passwords, password permission levels and Security by Value criteria
may be displayed.
FILE = {* | number[-number][,number[-number]]...}
The FILE parameter provides the list, range or ranges of files for which the preceding SHOW function is
to be applied.
269
ADASCR (Security Functions) Adabas Utilities
PASSWORDS
The PASSWORDS parameter prints a list of the passwords currently contained in the security file in
ascending, alphanumeric sequence.
Example
adascr: display = passwords
FORTYTWO
G6MON
USERPW1
VOYAGER
PERMISSIONS
The PERMISSIONS parameter prints a list of the access and update capabilities of the specified password
for each currently loaded file, by comparing the password permission information against the current file
protection levels.
Where respective access or update capability is granted, this is shown by the letter Y; conversely, where
the capability is not granted, this is shown by the letter N.
Where access or update permissions for a given file are granted and additional Security by Value
restrictions apply to that file, this is indicated by enclosing brackets, i.e. (Y).
Example
adascr: display = permissions, password = fortytwo
Password : "FORTYTWO"
PROTECTIONS
The PROTECTIONS parameter prints file protection information for the specified range of files,
irrespective of whether or not the files specified are currently loaded.
270
Adabas Utilities ADASCR (Security Functions)
Example:
display = protections, file = (4-10)
VALUE_CRITERIA
The VALUE_CRITERIA parameter prints all Security by Value criteria currently defined for the
specified password.
Example:
display = value_criteria, password = *
Password : "FORTYTWO"
Password : "G6MON"
271
ADASCR (Security Functions) Adabas Utilities
INSERT
This function inserts a password specified by string into the password table.
The password may be between 1 and 8 characters long. If less than 8 characters are specified, trailing
blanks are added. The password may not contain any special characters or embedded blanks.
ACCESS = (number[,number]...)
The ACCESS parameter specifies the access protection levels to be associated with the files or file ranges
specified in the FILE parameter. Each protection level corresponds to one file or one file range. A value
may be specified in the range 0 - 14. The protection levels must be specified in the same order as the
corresponding files or file ranges in the FILE parameter.
FILE = (number[-number[,number[-number]]...)
The FILE parameter specifies the file list or range(s) of files for which permission levels are being
provided. Multiple specifications of the same file number are not permitted.
UPDATE = (number[,number]...)
The UPDATE parameter specifies the update protection levels to be associated with the files or file ranges
specified in the FILE parameter. Each protection level corresponds to one file or one file range. A value
may be specified in the range 0 - 14. The protection levels must be specified in the same order as the
corresponding files or file ranges in the FILE parameter.
Example
adascr: insert = userpwx, file = (1,2,3),
access = (7,7,7), update = (0,8,8)
PROTECT
PROTECT = (number[-number][,number[-number]]...)
,ACCESS = (number[,number]...)
,UPDATE = (number[,number]...)
This function inserts (or updates) the access and/or update protection levels for the file, list or range(s)
specified. Multiple specifications of the same file number are not permitted.
272
Adabas Utilities ADASCR (Security Functions)
This function can be used to protect all files, even those that have not been loaded yet.
ACCESS = (number[,number]...)
The ACCESS parameter specifies the access protection levels to be associated with the files or file ranges
specified in the PROTECT parameter. Each protection level corresponds to one file or one file range. A
value may be specified in the range 0 - 15. The protection levels must be specified in the same order as the
corresponding files or file ranges in the PROTECT parameter.
Note that the maximum protection level for access for the PROTECT function is 15, whereas the INSERT
function allows a maximum of only 14. Therefore, with ACCESS=15, a file can be protected to prevent
any user from accessing it.
UPDATE = (number[,number]...)
The UPDATE parameter specifies the update protection levels to be associated with the files or file ranges
specified in the PROTECT parameter. Each protection level corresponds to one file or one file range. A
value may be specified in the range 0 - 15. The protection levels must be specified in the same order as the
corresponding files or file ranges in the PROTECT parameter.
Note that the maximum protection level for update for the INSERT function is 14, whereas the PROTECT
function allows a maximum of 15. Therefore, with UPDATE=15, a file can be protected to prevent any
user from updating it.
Example
adascr: protect = 25, access = 7, update = 11
adascr: protect = (1,2,3), access = (7,7,7), update = (8,8,8)
adascr: protect = (4-6), access = 10, update = 12
If the file number of a security-protected file is subsequently changed as a result of running the
RENUMBER function of the ADADBM utility, the PROTECT function has to be reexecuted in order to
reestablish the security protection levels for the file. The passwords also have to be reestablished, since
they reflect the old file number.
SECURITY_BY_VALUE
* The search/access buffer string parameters must be followed by <newline> with no preceding comma.
This function inserts (or updates) the Security by Value criteria for a specific file, for the given password
specified by string. The password must already have been inserted into the security file, using the
INSERT function. Each password can have Security by Value criteria defined for a maximum of 99 files.
273
ADASCR (Security Functions) Adabas Utilities
ACCESS_CRITERION
The ACCESS_CRITERION keyword must precede the search buffer and value buffer which will define
the criterion for restricting access to data using the provided password.
In order for the access value criterion to be specified, the ACCESS password permission level for the file
must also have previously been set (i.e. non-zero); in the case where the level is not set, the
ACCESS_CRITERION keyword cannot be specified.
FILE = number
The FILE parameter specifies the file for which the value criteria are to be defined. Exactly one file must
be specified and the file must be currently loaded in the database.
UPDATE_CRITERION
The UPDATE_CRITERION keyword must precede the search buffer and value buffer which will define
the criterion for restricting the update of data using the provided password.
In order for the update value criterion to be specified, the UPDATE password permission level for the file
must also have previously been set (i.e. non-zero); in the case where the level is not set, the
UPDATE_CRITERION keyword cannot be specified.
SEARCH_BUFFER = string
The SEARCH_BUFFER parameter is used to provide the search expressions for the access/update
criterion. Syntax and examples of search buffer construction are provided in Command Reference, Calling
Adabas, Search and Value Buffers.
Certain restrictions apply to the search buffer when used for defining Security by Value criteria; soft
coupling and sub-, super-, hyper- and phonetic descriptors are not supported.
If the required criterion is that no restrictions should apply, then the associated search buffer should be
specified containing only the terminator, i.e.:
SEARCH_BUFFER = .
In this case, the VALUE_BUFFER parameter is not required and does not need to be supplied.
VALUE_BUFFER = string
The VALUE_BUFFER parameter is used to provide the corresponding values for the search expressions
for the access/update value criterion, specified in the preceding search buffer. The string may be specified
either directly, as an alphanumeric string or as a string using hexadecimal notation.
Example
adascr: security_by_value = fortytwo, file = 10,
access_criterion, search_buffer = CA,4,U,LT.
adascr: value_buffer = 1707
adascr: update_criterion, search_buffer = A,4,S,CA,4,D,AA,O,AA.
adascr: value_buffer = 01001599MS
274
Adabas Utilities ADASCR (Security Functions)
If the either the access or update protection level for the specified file is zero, the associated value
criterion will not be tested when the password is used for accessing/updating records for that file.
275
ADATST (Issuing Adabas Commands) Adabas Utilities
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Functional Overview
The ADATST utility is used to fill the control block and the necessary buffers in order to issue Adabas
commands.
Both the old ACB Adabas command interface and the new ACBX command interface are supported. For
more information on the command interfaces please refer to the Command Reference documentation. Note
that the ACB interface can be considered as a subset of the ACBX interface: Fields in the old ACB
Adabas control block are also contained in the new ACBX control block (or the ABDs the Adabas
buffer descriptions) with the difference that some ACB fields are smaller then the corresponding fields in
the new interface. In particular the buffer lengths have been increased that now Adabas buffers greater
than 64 KB are possible. Switching between the interfaces is possible, but when you switch back to the
old ACB interface you must be aware of the restrictions of the old ACB interface.
Procedure Flow
276
Adabas Utilities ADATST (Issuing Adabas Commands)
Environment Storage
Data Set Additional Information
Variable Medium
Control statements stdin Utilities Manual
ADATST messages stdout Messages and Codes
Checkpoints
The utility writes no checkpoints.
Control Parameters
Note:
In the following, "string" is an ASCII string or 0x followed by hexadecimal data.
277
ADATST (Issuing Adabas Commands) Adabas Utilities
A1 = string
A2 = string
A3 = string
A4 = string
A5 = string
A6 = string
ABD
ALOOP [= number]
CB
CBDUMP
CC = string
CID = string
CLOOP = string
CO1 = string
CO2 = string
CO3 = string
CO4 = string
CO5 = string
CO6 = string
CO7 = string
CO8 = string
M DBID = number
DLOOP
ELOOP
ERRORS = number
FB [= string]
FB2 [= string]
FB3 [= string]
FBL = number
FB2L [= number]
FB3L [= number]
FILE = number
278
Adabas Utilities ADATST (Issuing Adabas Commands)
GO [= { number | ISNQ } ]
IB [= number [,number]...]
IBL = number
D INTERFACE = keyword
ISN = number
ISND = number
ISNI = number
ISNQ = number
LOOP
D [NO]OUTPUT
OVERWRITE_RB = string
OVERWRITE_RB2 = string
OVERWRITE_RB3 = string
RB [= string]
RB2 [= string]
RB3 [= string]
RBL = number
RB2L [= number]
RB3L [= number]
READ_RB = string
READ_RB2 = string
READ_RB3 = string
RESPONSE = number
SB [= string]
SBL = number
TIME
D [NO]TRACE
VB [= string]
VBL = number
D WAIT [= [time]]
WRITE_RB = string
WRITE_RB2 = string
WRITE_RB3 = string
279
ADATST (Issuing Adabas Commands) Adabas Utilities
A1
A1 = string
A2
A2 = string
A3
A3 = string
A4
A4 = string
A5
A5 = string
A6
A6 = string
280
Adabas Utilities ADATST (Issuing Adabas Commands)
ABD
ABD
This parameter is available only after specifying INTERFACE=ACBX. It displays the Adabas buffer
definitions for the Adabas buffers that are currently defined.
ALOOP
ALOOP [= number]
This parameter opens a loop to add more lines. number is a line number. If a line number is specified,
new lines are added from that point, overwriting existing lines; if no number is specified, new lines are
added at the end. Close the loop with ELOOP.
CB
CB
If the parameter INTERFACE=ACB is specified, only the fields contained in the old ACB Adabas control
block are displayed.
If the parameter INTERFACE=ACBX is specified, the fields contained in the new ACBX Adabas control
block but not in the old ACB Adabas control block are also displayed.
CBDUMP
CBDUMP
CC
CC = string
281
ADATST (Issuing Adabas Commands) Adabas Utilities
CID
CID= string
CLOOP
CLOOP = string
This parameter changes one line in a loop. The following valid line overwrites the line specified in
string. An ELOOP is not required.
CO1
CO1 = string
CO2
CO2 = string
CO3
CO3 = string
CO4
CO4 = string
282
Adabas Utilities ADATST (Issuing Adabas Commands)
CO5
CO5 = string
CO6
CO6 = string
CO7
CO7 = string
CO8
CO8 = string
DBID
DBID = number
DLOOP
DLOOP
283
ADATST (Issuing Adabas Commands) Adabas Utilities
ELOOP
ELOOP
ERRORS
ERRORS = number
This parameter specifies the number of errors permitted before termination occurs.
EXECUTE
This parameter executes a loop n times, where n is specified by number or by ISNQ. Enter CTRL/C
to terminate a loop.
FB
FB [= string]
This parameter is used to display the first format buffer or enter data into the format buffer. The length is
set implicitly.
FB2
FB2 [= string]
This parameter is used to display the second format buffer or enter data into the format buffer. The length
is set implicitly.
FB3
FB3 [= string]
This parameter is used to display the third format buffer or enter data into the format buffer. The length is
set implicitly.
284
Adabas Utilities ADATST (Issuing Adabas Commands)
FBL
FBL = number
This parameter defines the first format buffer length in the control block.
FB2L
FB2L = number
This parameter defines the second format buffer length in the control block.
FB3L
FBL3 = number
This parameter defines the third format buffer length in the control block.
FILE
FILE = number
GO
GO [= { number | ISNQ } ]
This function calls Adabas once or n times, where n is specified by number or ISNQ. Enter CTRL/C
to terminate a loop.
IB
IB [= number [,number]...]
This parameter is used to display the ISN buffer or enter ISNs. The length is set implicitly.
285
ADATST (Issuing Adabas Commands) Adabas Utilities
IBL
IBL = number
This parameter specifies the ISN buffer length in the control block.
INTERFACE
INTERFACE = keyword
This parameter is used to switch between the old and new Adabas command interface. Valid keywords are
ACB and ACBX. The default is ACB. After INTERFACE = ACB has been specified, Adabas calls are
performed with the old ACB Adabas interface - any fields that are only contained in the new ACBX
Adabas control block and additional format buffers and record buffers are ignored. You can switch
between the old and the new Adabas interface in one Adabas session.
ISN
ISN = number
ISND
ISND = number
ISNI
ISNI = number
ISNL
286
Adabas Utilities ADATST (Issuing Adabas Commands)
This parameter is used to set the ISN lower limit with the number supplied, or to move the ISN from the
control block into the ISN lower limit.
ISNQ
ISNQ = number
This parameter specifies the ISN quantity with the number supplied.
LOOP
LOOP
This function defines the start of a loop. All commands that follow will be saved until an ELOOP is
entered.
[NO]OUTPUT
[NO]OUTPUT
If this option is set to NOOUTPUT, no messages are output when calling Adabas n times. Only error
messages will be printed.
OVERWRITE_RB
OVERWRITE_RB = string
This parameter specifies the name of an existing file to which the contents of the first record buffer are
written. The current contents of the file will be overwritten.
OVERWRITE_RB2
OVERWRITE_RB2 = string
This parameter specifies the name of an existing file to which the contents of the second record buffer are
written. The current contents of the file will be overwritten.
287
ADATST (Issuing Adabas Commands) Adabas Utilities
OVERWRITE_RB3
OVERWRITE_RB3 = string
This parameter specifies the name of an existing file to which the contents of the third record buffer are
written. The current contents of the file will be overwritten.
RB
RB [= string]
This parameter is used to display the first record buffer or enter data into the first record buffer. For input
to a file, the length is set implicitly.
RB2
RB2 [= string]
This parameter is used to display the second record buffer or enter data into the second record buffer. For
input to a file, the length is set implicitly.
RB3
RB3 [= string]
This parameter is used to display the third record buffer or enter data into the third record buffer. For input
to a file, the length is set implicitly.
RBL
RBL = number
This parameter specifies the first record buffer length in the control block.
RB2L
RB2L = number
288
Adabas Utilities ADATST (Issuing Adabas Commands)
This parameter specifies the second record buffer length in the control block.
RB3L
RB3L = number
This parameter specifies the third record buffer length in the control block.
READ_RB
READ_RB = string
This parameter specifies the name of a file that is read into the first record buffer.
READ_RB2
READ_RB2 = string
This parameter specifies the name of a file that is read into the second record buffer.
READ_RB3
READ_RB3 = string
This parameter specifies the name of a file that is read into the third record buffer.
RESPONSE
RESPONSE = number
This parameter displays the error text for the given nucleus response code.
SB
SB [= string]
This parameter is used to display the search buffer or enter data into the search buffer. The length is set
implicitly.
289
ADATST (Issuing Adabas Commands) Adabas Utilities
SBL
SBL = number
This parameter specifies the search buffer length in the control block.
TIME
TIME
This function marks the current time, and displays the difference between this and the last time mark.
[NO]TRACE
[NO]TRACE
VB
VB [= string]
This parameter is used to display the value buffer or enter data into the value buffer. The length is set
implicitly. If string equals RB, the record buffer is moved into the value buffer.
VBL
VBL = number
This parameter specifies the value buffer length in the control block.
WAIT
WAIT [= [time]]
This parameter causes ADATST to wait for a given period. The time parameter is entered as delta time in
the format hh:mm:ss.cc. Once the time is set, the same time period can be reused by entering WAIT =.
WAIT without a parameter displays the current time setting.
290
Adabas Utilities ADATST (Issuing Adabas Commands)
Example
adatst: wait = 15
WRITE_RB
WRITE_RB = string
This parameter specifies the name of a file to which the contents of the first record buffer are written. The
record buffer is only written if a file with the specified name does not already exist.
WRITE_RB2
WRITE_RB2 = string
This parameter specifies the name of a file to which the contents of the second record buffer are written.
The record buffer is only written if a file with the specified name does not already exist.
WRITE_RB3
WRITE_RB3 = string
This parameter specifies the name of a file to which the contents of the third record buffer are written. The
record buffer is only written if a file with the specified name does not already exist.
291
ADAULD (File Unloading) Adabas Utilities
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
TEMP Data Set Space Estimation: This provides information about how to calculate the size of the
TEMP required.
Restart Considerations: This describes what to do if the utility is for some reason unable to run to
completion.
Functional Overview
The utility ADAULD unloads an Adabas file, i.e. records are retrieved from a database or an Adabas
backup copy, and written to a sequential file.
To change the space allocation, to reduce the number of logical extents assigned to the index,
Address Converter or Data Storage, and/or to change the padding factor. In this case, the file has to
be unloaded, deleted and reloaded. These features are also available with ADAORD;
To create one or more test files, all containing the same data. This procedure requires a file to be
unloaded and then reloaded using a different file number. This feature is also available with
ADAORD;
To extract data from a file for subsequent input to ADAMUP. This is useful for moving records from
a production database to an archive database;
292
Adabas Utilities ADAULD (File Unloading)
When unloading a file from a database, the records may be unloaded in:
Logical sequence
The records are unloaded in an ascending sequence based on the values of a user-specified
descriptor;
ISN sequence
Physical sequence
The records are unloaded in the order in which they are physically located in Data Storage.
Unloading in logical or ISN sequence requires the nucleus to be active. The nucleus is not required when
unloading in physical sequence, provided ADAULD has access to the database container files.
When unloading from an Adabas backup copy, the records are unloaded in the sequence in which they
were stored by ADABCK. This is generally in ascending data RABN sequence. However, this sequence
cannot be guaranteed when the DRIVES option was used or when the dump was made online (please refer
to the DRIVES option of the utility ADABCK for more detailed information).
The unloaded records are output in compressed format and are identical to the records produced by the
compression utility ADACMP. Since each data record is preceded by its ISN, these ISNs can be used as
user ISNs when reloading the file (please refer to the USERISN option of the utility ADAMUP for more
detailed information).
The user can specify that the descriptor values required to recreate the index for the file are omitted during
the UNLOAD process (SHORT option). This reduces the unload processing time. This option must not be
used if the output is intended as direct input for ADAMUP.
293
ADAULD (File Unloading) Adabas Utilities
Procedure Flow
BACKUP_COPY Function
The sequential files ULD00n, ULDDTA, ULDDVT can have multiple extents. For detailed information
about files with multiple extents, see Administration, Using Utilities.
294
Adabas Utilities ADAULD (File Unloading)
DBID Function
The sequential files ULDDTA, ULDDVT can have multiple extents. For detailed information about files
with multiple extents, see Administration, Using Utilities.
295
ADAULD (File Unloading) Adabas Utilities
Environment Storage
Data Set Additional Information
Variable Medium
Associator ASSOx Disk, Tape see note 2
Data storage DATAx Disk, Tape see note 2
Output of ADABCKs DUMP function,
Backup copy ULD00n Disk, Tape
input for ADAULD
Disk, Tape (see
Unloaded data ULDDTA
note 1)
Unloaded descriptor Disk, Tape (see
ULDDVT
values note 1)
Control statements stdin Utilities Manual
ADAULD messages stdout Messages and Codes
Temporary storage TEMPx Disk, Tape see note 3 and 4
Work storage WORK1 Disk, Tape see note 2
Notes:
1. A named pipe can be used for this sequential file (see Administration, Using Utilities for details).
2. Required by offline unload. Will also increase the speed of online unload using physical sequence.
3. Only required if unloading from a backup copy with the online option being used. If the utility is
executed offline, WORK may be used as TEMP if there is no Autorestart pending, by setting the
environment variable TEMP1 to the same value as WORK1.
4. The ADAULD BACKUP_COPY function does not read the DBxxx.INI file to find TEMP, therefore
you must specify TEMP via environment variables.
Checkpoints
The following table shows the nucleus requirements for each function and the checkpoint written:
Nucleus
Nucleus must NOT be Nucleus is NOT Checkpoint
Function must
active required written
be active
BACKUP_COPY X -
DBID X(see note 1) X(see note 3) X(see note2) SYNX
Notes:
1. When unloading in logical sequence or ISN sequence or when the database container file cannot be
accessed by ADAULD (e.g. when unloading from a remote node). Also applies if the search buffer
and value buffer are provided.
2. When unloading in physical sequence and ADAULD has access to the database container files.
3. When unloading an Adabas system file.
296
Adabas Utilities ADAULD (File Unloading)
Control Parameters
The following control parameters are available:
BACKUP_COPY
BACKUP_COPY = number
,FILE = number
[,FDT]
[,NUMREC = number]
[,[NO]ONLINE]
[,[NO]SHORT | [NO]SINGLE_FILE ]
[,SKIPREC = number]
[,[NO]USEREXIT]
This function unloads records from an Adabas backup copy. You are not allowed to specify a LOB file.
"BACKUP_COPY=number" specifies the ID of the database from which the backup copy was derived,
and "File=number" specifies the file number. Both offline and online backup copies can be used. If a LOB
file is assigned to the file specified, a partial reload using the ADAMUP parameters NUMREC, SKIPREC
is not possible
FDT
FILE = number
297
ADAULD (File Unloading) Adabas Utilities
NUMREC = number
This parameter limits the number of data records retrieved from the file when unloading. All records are
unloaded if NUMREC is omitted and SKIPREC is not specified. You cannot use NUMREC if a LOB file
is assigned to the file to be reloaded.
[NO]ONLINE
This option indicates whether the backup copy might contain online data storage blocks for the file to be
unloaded.
If the backup copy is expected to contain online data storage blocks, two passes are made when processing
the backup copy. This is because the most recent version of each data storage block has to be found.
Setting this option to NOONLINE unloads in one pass and saves a considerable amount of processing
time, at the risk of ADAULD terminating with an error message if an online data storage block is
detected.
The default used depends on whether or not the Adabas nucleus was active when the backup was made.
[NO]SHORT
This option indicates whether the descriptor values used to build up the index should be included in the
output or omitted.
If the output is intended as direct input for the mass update utility, the file must be unloaded in
NOSHORT mode.
[NO]SINGLE_FILE
If this option is set to SINGLE_FILE, ADAULD writes the DVT and DATA information to a single data
set (ULDDTA).
SKIPREC = number
This parameter specifies the number of records to be skipped before unloading is started. You cannot use
SKIPREC if a LOB file is assigned to the file to be reloaded.
[NO]USEREXIT
A user-written routine is dynamically loaded. A pointer to an input parameter block and a pointer to an
output parameter are passed with each call (please see the include file adauex.h for more information). For
each record retrieved from the database, the decision can be made whether to unload the record (write it to
the unload file), skip it or terminate execution immediately.
298
Adabas Utilities ADAULD (File Unloading)
DBID
DBID = number
,FILE = number
[,FDT]
[,[NO]LITERAL
[,NUMREC = number]
[,SEARCH_BUFFER = string]
[,[NO]SHORT | [NO]SINGLE_FILE ]
[,SKIPREC = number]
[,SORTSEQ = { string | ISN }]
[,STARTISN = number] ]
[,[NO]USEREXIT]
[,VALUE_BUFFER = string]
FDT
FILE = number
This parameter specifies the file to be unloaded. You are not allowed to specify a LOB file.
[NO]LITERAL
If this option is set to LITERAL, leading blanks and lower case characters can be specified in the value
buffer and remain relevant in the string, i.e. they are not removed or converted to upper case. If
NOLITERAL is set, lower case characters will be tranformed to upper case, and leading blanks will be
suppressed.
NUMREC = number
This parameter limits the number of data records retrieved from the file when unloading. All records of
the file are unloaded if NUMREC is omitted and SKIPREC or STARTISN are not specified.
SEARCH_BUFFER = string
This parameter is used to restrict the unloaded records to those which meet the selection criterion
provided. The selection criterion must be provided according to the syntax for search buffer entries as
described in the Command Reference Manual.
299
ADAULD (File Unloading) Adabas Utilities
The maximum length of this parameter is 200 bytes. For complex entries, use the following method:
adauld: search_buffer=aa,20,a,d,\
> ab,10,a.
The values which correspond to the selection criterion are provided by the VALUE_BUFFER parameter.
[NO]SHORT
This option indicates whether the descriptor values used to build up the index should be included in the
output or omitted.
If the output is intended as direct input for the mass update utility, the file must be unloaded in
NOSHORT mode.
[NO]SINGLE_FILE
If this option is set to SINGLE_FILE, ADAULD writes the DVT and DTA information to a single data set
(ULDDTA).
SKIPREC = number
This parameter specifies the number of data records to be skipped before unloading is started.
When used together with the STARTISN parameter, positioning is carried out before skipping.
SORTSEQ = string
This parameter controls the sequence in which the file is unloaded. If specified, it may either contain the
field name of a descriptor, sub- or superdescriptor (1) or the keyword ISN (2). The default is physical
sequence (3).
1. Logical sequence
If a string specifies a field name of a descriptor or sub/superdescriptor, the records are unloaded in
ascending logical sequence of the descriptor values to which the field name refers. The field name
must not refer to a descriptor contained within a periodic group.
300
Adabas Utilities ADAULD (File Unloading)
If the field name refers to a descriptor which is a multiple-value field, the same record may be
unloaded more than once (once for each different descriptor value in the record). Therefore, it is not
recommended to use this type of descriptor to control the unload sequence.
If the field name refers to a descriptor defined with the NU or NC option, the records with a null
value for the descriptor are not unloaded.
2. ISN sequence
3. Physical sequence
If the SORTSEQ parameter is omitted, the records are unloaded in the physical sequence in which
they are stored in the Data Storage.
If a search buffer has been specified and the SORTSEQ parameter has been omitted, the records are
unloaded in ascending ISN sequence.
STARTISN = number
If the SORTSEQ = ISN option is used or a search buffer is provided, the STARTISN parameter may be
specified to start unloading at a given ISN rather than from the lowest ISN in the file. If the specified ISN
does not exist, unloading starts at the next highest ISN found.
[NO]USEREXIT
A user-written routine is dynamically loaded. A pointer to an input parameter block and a pointer to an
output parameter are passed with each call (please see the include file adauex.h for more information). For
each record retrieved from the database, the decision can be made whether to unload the record (write it to
the unload file), skip it or terminate execution immediately.
VALUE_BUFFER = string
If a selection criterion is specified with the SEARCH_BUFFER parameter, this parameter is used to
supply the values which correspond to the selection criterion. The maximum length of this parameter is
2000 bytes.
Examples
Example 1
adauld: backup_copy = 3, file = 6
File 6 on the backup copy of database 3 is unloaded. A TEMP data set and two passes through the backup
copy may be required, depending on the default setting of the [NO]ONLINE option.
301
ADAULD (File Unloading) Adabas Utilities
Example 2
adauld: backup_copy = 3, file = 6
adauld: single, noonline
The same file is unloaded. Both data records and descriptor value table entries are written to the same
output file. The backup copy is processed in one pass as no online blocks are expected. No TEMP data set
is required.
Example 3
adauld: dbid = 3, file = 6, skiprec = 100
File 6 in database 3 is unloaded. The records are unloaded in the physical sequence in which they are
stored in the Data Storage. The first 100 records found are not written to the output files.
Example 4
adauld: dbid = 3, file = 6
adauld: numrec = 10
adauld: sortseq = ab
adauld: short
Ten records from file 6 in database 3 are unloaded. The values of the descriptor AB are used to control the
sequence in which the records are retrieved. The values required to re-create the inverted list when
reloading are omitted.
Example 5
adauld: dbid = 3, file = 6, sortseq = isn, startisn = 123
File 6 in database 3 is unloaded. The records are unloaded in ascending ISN sequence starting at ISN 123.
The formula TRH=DRH/1000 can be used as a rough estimate with the default TEMP block size (4
kilobytes).
where:
ENTIRE
302
Adabas Utilities ADAULD (File Unloading)
BSTD
DRH
highest Data Storage RABN in the database on the backup copy. The SUMMARY function of
the ADABCK utility can be used to obtain this number.
TRH
Restart Considerations
ADAULD has no restart capability. An interrupted ADAULD run must be re-executed from the
beginning.
303
ADAVFY (Database Consistency Check) Adabas Utilities
Functional Overview: This describes the utility and provides information concerning the use of
operating system resources.
Procedure Flow: This provides a graphical representation of the interaction between database
components while the utility is running. Also, a list of the operating system environment variables
used by the utility is provided.
Control Parameters: This describes the parameters which are available for the utility.
Functional Overview
The ADAVFY utility checks the consistency of the database. The General Control Block (GCB) is
validated together with each File Control Block (FCB) and each Field Definition Table (FDT) of the
loaded files. The index structure and Data Storage are validated. ADAVFY can also search for lost
RABNs.
Running ADAVFY against an active nucleus, or running in parallel with utilities that perform database
updates, may result in errors being reported. This is because further updates can be made before the utility
terminates and some of these updates are only reflected in the nucleus buffer pool. ADAVFY does not
require the Adabas nucleus to be active; it processes the database offline.
304
Adabas Utilities ADAVFY (Database Consistency Check)
Procedure Flow
Environment Storage
Data Set Additional Information
Variable Medium
Associator ASSOx Disk, Tape
Data storage DATAx Disk, Tape
Control statements stdin Utilities Manual
ADAVFY messages stdout Messages and Codes
Work WORK1 Disk, Tape
Checkpoints
The utility writes no checkpoints.
Control Parameters
The following control parameters are available:
305
ADAVFY (Database Consistency Check) Adabas Utilities
AC
DATA
M DBID = number
D ERRORS = number
FCB
FIELD
INDEX
D LEVEL = number
LOST
RECORD
AC
AC
This function validates from the Address Converter to the Data Storage and checks that records can be
found in the specified Data Storage for the files specified with the FILES parameter (see also DATA).
DATA
DATA
This function verifies Data Storage for the specified file number(s). This function validates from the
Address Converter to the Data Storage and from the Data Storage to the Address Converter for the files
specified with the FILES parameter.
DBID
DBID = number
306
Adabas Utilities ADAVFY (Database Consistency Check)
ERRORS
ERRORS = number
This parameter specifies the number of errors to be reported before the verification of a single file
terminates. The minimum number allowed is 1. The default value is 20.
FCB
FCB
This function validates the file control block together with the Field Definition Table for the files specified
with the FILES parameter (see also INDEX).
FIELD
FIELD
This function validates the Data Storage. It checks the record structure and validates the contents of
unpacked, packed and floating point values for the specified files.
FILES
FILES = { * | (number[-number][,number[-number]]...) }
This parameter specifies the files to be verified. If an asterisk * is entered, all files will be verified. The
FILES parameter is required for all functions except the LOST function.
307
ADAVFY (Database Consistency Check) Adabas Utilities
FROM
The values specified are used in conjunction with the LEVEL option to print various structures. Please
refer to the LEVEL parameter in this section for more detailed information.
INDEX
INDEX
This function verifies the complete index to level 1 (Normal Index). This includes verification of the FCB
and FDT.
LEVEL
LEVEL = number
This parameter specifies how much information ADAVFY should output concerning the internal
structures. Specifying this parameter does not affect the degree of verification performed. If this parameter
is used, it must be specified before the function in question.
The FROM option is used to specify an index RABN range. Only the RABNs specified will be dumped.
308
Adabas Utilities ADAVFY (Database Consistency Check)
LOST
LOST
If this option is specified, ADAVFY searches for lost RABNs in the database. If any lost RABNs are
found, the space can be recovered by using the RECOVER function of ADADBM.
RECORD
RECORD
This function validates the Data Storage and checks the structure of each record for the specified files (see
also FIELD).
Examples
Example 1
adavfy: dbid=3,file=*,data,field,index
All files of database 3 are validated using the functions DATA, FIELD and INDEX. This combination of
functions gives the maximum degree of validation.
Example 2
adavfy: dbid=3, file=7, level=1, field
File 7 of database 3 is validated. The record structure in Data Storage is validated, as well as the contents
of unpacked, packed and floating point fields. ADAVFY prints a list of the RABNs which have been
processed and, for each record processed, its offset in the corresponding RABN, its length and its ISN.
309
Appendix A - Example Utility Input Files Adabas Utilities
The following Adabas demo files are provided with the Adabas kit:
The Adabas kit contains the following utility input files in the directory $ADADIR/$ADAVERS/demodb
(UNIX) or %ADADIR%\%ADAVERS%\demodb (Windows):
310
Adabas Utilities Appendix A - Example Utility Input Files
311