This section describes the job control information required to run ADARAI with BS2000, OS/390 or z/OS, VM/ESA or z/VM, and VSE/ESA systems and shows examples of each of the job streams.
This document covers the following topics:
This section describes additional considerations and requirements for using ADARAI on a BS2000 system.
Dataset | Link Name | Storage | More Information |
---|---|---|---|
Associator | DDASSORn | disk | |
Data Storage | DDDATARn | disk | Required for RECOVER |
Work | DDWORKR1 DDWORKR4 |
disk | Required for RECOVER |
Data protection log | DDPLOGRn | tape/ disk | Required for RECOVER |
Recovery log (RLOG) | DDRLOGR1 | disk | |
Job stream input | DDJCLIN | disk | Required for RECOVER |
Recovery job output | DDJCLOUT | disk | Required for RECOVER |
Recovery job output (JCL for console subtask) | DDJCLCON | disk | Optional; used only for RECOVER |
ADARUN parameters | SYSDTA/ DDCARD | Operations | |
ADARAI parameters | SYSDTA/ DDKARTE | Operations | |
ADARUN messages | SYSOUT DDPRINT | Messages and Codes | |
ADARAI messages | SYSLST DDDRUCK | Messages and Codes |
There are no restrictions for sequential datasets on "public" disks.
Sequential datasets on "private" disks must not be exported; this means that the catalog entry must not be erased and that the recovery job control will not contain /IMPORT-FILE commands for datasets on private disks.
Software AG recommends not removing catalog entries for sequential datasets on tapes from the system's catalog. If RECOVER does not find a catalog entry for a sequential dataset on tape or cartridge, it includes the following statement in the job stream:
/IMPORT-FILE FILE-NAME=tempfile ,...
where tempfile has the following structure:
#ADARAI.RECOVER.TAPE.nnnnn
There are no restrictions when using FGGs for sequential datasets, whether on disk or on tape.
ADARAI tries to access sequential BS2000 datasets using the original catalog entries. If a sequential dataset is in a file generation group (FGG), ADARAI assigns the absolute member; ADARAI does not use or change the base pointer.
If sequential datasets are read-protected by passwords, the %%JCL-JOB-HEADER section in the skeleton job control must contain these passwords.
ADARAI neither exports nor erases datasets. If catalog entries for tape datasets no longer exist, ADARAI creates temporary datasets with the names #ADARAI.RECOVER.TAPE.nnnnn, where "nnnnn" equals 00001, 00002, and so on.
/.ADARAI LOGON /MODIFY-TEST-OPTIONS DUMP=YES /REMARK * /REMARK *A D A R A I START RECOVERY LOGGING /REMARK * /ASS-SYSLST L.RAI.DATA /ASS-SYSDTA *SYSCMD /SET-FILE-LINK DDLIB,ADAvrs.MOD /SET-FILE-LINK DDASSOR1,DB.yyyyy.ASSO /SET-FILE-LINK DDRLOGR1,DB.yyyyy.RLOGR1,OPEN-MODE=OUTIN,BUFF-LEN=STD(2) /START-PROGRAM *M(ADA.MOD,ADARUN),PR-MO=ANY ADARUN PROG=ADARAI,DBID=yyyyy,MODE=MULTI ADARAI PREPARE RLOGSIZE=5,RLOGDEV=dddd,MINGENS=5 /LOGOFF SYS-OUTPUT=DEL
/.ADARAI LOGON /OPTION MSG=FH,DUMP=YES /REMARK * /REMARK *A D A R A I START RECOVERY LOGGING /REMARK * /REMARK * /SYSFILE SYSLST=L.RAI.DATA /FILE ADAvrs.MOD,LINK=DDLIB /FILE DB.yyyyy.ASSO ,LINK=DDASSOR1 /FILE DB.yyyyy.RLOGR1,LINK=DDRLOGR1,OPEN=OUTIN,BLKSIZE=(STD,2) /EXEC (ADARUN,ADAvrs.MOD) ADARUN PROG=ADARAI,DBID=yyyyy,MODE=MULTI ADARAI PREPARE RLOGSIZE=5,RLOGDEV=dddd,MINGENS=5 /LOGOFF NOSPOOL
/.ADARAI LOGON /MODIFY-TEST-OPTIONS DUMP=YES /REMARK * /REMARK *A D A R A I LIST RECOVERY LOGS /REMARK * /ASS-SYSLST L.RAI.DATA /ASS-SYSDTA *SYSCMD /SET-FILE-LINK DDLIB,ADAvrs.MOD /SET-FILE-LINK DDASSOR1,DB.yyyyy.ASSO /SET-FILE-LINK DDRLOGR1,DB.yyyyy.RLOGR1 /START-PROGRAM *M(ADA.MOD,ADARUN),PR-MO=ANY ADARUN PROG=ADARAI,DBID=yyyyy,MODE=MULTI ADARAI LIST GENS=NO,RLOGDEV=dddd,RELGEN=1 /LOGOFF SYS-OUTPUT=DEL
/.ADARAI LOGON /OPTION MSG=FH,DUMP=YES /REMARK * /REMARK *A D A R A I LIST RECOVERY LOGS /REMARK * /REMARK * /SYSFILE SYSLST=L.RAI.DATA /FILE ADAvrs.MOD,LINK=DDLIB /FILE DB.yyyyy.ASSO ,LINK=DDASSOR1 /FILE DB.yyyyy.RLOGR1,LINK=DDRLOGR1 /EXEC (ADARUN,ADAvrs.MOD) ADARUN PROG=ADARAI,DBID=yyyyy,MODE=MULTI ADARAI LIST GENS=NO,RLOGDEV=dddd,RELGEN=1 /LOGOFF NOSPOOL
/.ADARAI LOGON /MODIFY-TEST-OPTIONS DUMP=YES /REMARK * /REMARK *A D A R A I BUILD RECOVERY JCL STREAM /REMARK * /DELETE-FILE DB.yyyyy.JCLOUT /SET-JOB-STEP /CREATE-FILE DB.yyyyy.JCLOUT,PUB(SPACE=(48,48)) /SET-JOB-STEP /DELETE-FILE DB.yyyyy.JCLCON /SET-JOB-STEP /CREATE-FILE DB.yyyyy.JCLCON,PUB(SPACE=(48,48)) /SET-JOB-STEP /ASS-SYSLST L.RAI.DATA /ASS-SYSDTA *SYSCMD /SET-FILE-LINK DDLIB,ADAvrs.MOD /SET-FILE-LINK DDASSOR1,DB.yyyyy.ASSO /SET-FILE-LINK DDRLOGR1,DB.yyyyy.RLOGR1 /SET-FILE-LINK DDPLOGR1,DB.yyyyy.PLOGR1 /SET-FILE-LINK DDPLOGR2,DB.yyyyy.PLOGR2 /SET-FILE-LINK DDJCLIN,DB.yyyyy.JCLIN /SET-FILE-LINK DDJCLOUT,DB.yyyyy.JCLOUT /SET-FILE-LINK DDJCLCON,DB.yyyyy.JCLCON /START-PROGRAM *M(ADA.MOD,ADARUN),PR-MO=ANY ADARUN PROG=ADARAI,DBID=yyyyy,MODE=MULTI ADARUN UEX2=EXITR2 ADARAI RECOVER PLOGDEV=2201,FEOFPL=YES,RELGEN=1 /LOGOFF SYS-OUTPUT=DEL
/.ADARAI LOGON /OPTION MSG=FH,DUMP=YES /REMARK * /REMARK *A D A R A I BUILD RECOVERY JCL STREAM /REMARK * /REMARK * /SYSFILE SYSLST=L.RAI.DATA /FILE ADAvrs.MOD,LINK=DDLIB /FILE DB.yyyyy.ASSO,LINK=DDASSOR1 /FILE DB.yyyyy.RLOGR1,LINK=DDRLOGR1 /FILE DB.yyyyy.PLOGR1,LINK=DDPLOGR1 /FILE DB.yyyyy.PLOGR2,LINK=DDPLOGR2 /FILE DB.yyyyy.JCLIN,LINK=DDJCLIN /FILE DB.yyyyy.JCLOUT,LINK=DDJCLOUT /FILE DB.yyyyy.JCLCON,LINK=DDJCLCON /EXEC (ADARUN,ADAvrs.MOD) ADARUN PROG=ADARAI,DBID=yyyyy,MODE=MULTI ADARUN UEX2=EXITR2 ADARAI RECOVER PLOGDEV=2201,FEOFPL=YES,RELGEN=1 /LOGOFF NOSPOOL
For a BS2000 system, the skeleton job control should have the following characteristics:
The first two positions must be blank;
Statements can be up to 256 characters long, including the blanks in the first two positions;
Statements can be continued; the continuation mark (-) can be in any position (it does not have to be in position 74);
In version 10, ADARAI automatically adds the command:
/MODIFY-SDF-OPTIONS CONTINUATION=NEW-MODE
Job control statements for the BS2000 executive are automatically broken up into 72-byte segments, if necessary. Normal program control statements are not segmented.
Except for string substitution (described below), ADARAI does not check or change the job control statement syntax.
In addition to the general JCL characteristics described above, BS2000 systems can include the following in the skeleton JCL:
Substitution strings for repeating often-used job control input;
DDFILEA dataset overwriting, tape volume assignment, and disk space credit;
Subtask processing of RECOVER-generated console messages.
These options must be specified at the beginning of the skeleton JCL, immediately before the %%JCL-JOB-HEADER statement.
Frequently occurring strings such as dataset names can be defined in the substitution section. The strings are then inserted into the BS2000 JCL as well as in the user program control statements.
To use string substitution, include the following JCL statement before %%JCL-JOB-HEADER:
%%JCL-BS2-SUBSTITUTION
This statement is followed by the substitution definitions, which have the following format:
%%argname=substring
where argname is the 1- to 8-character JCL or user program control argument to be replaced, and substring is the replacement string of up to 128 characters. One substitution statement per line is allowed; the substitution statements are ended by the next %%JCL statement.
The JCL statements described in this section must appear before %%JCL-JOB-HEADER in the skeleton JCL.
ADAORD is the only utility that opens DDFILEA output datasets during the BS2000 recovery job. ADARAI assists in allocating those datasets on disk or tape regardless of whether the datasets existed at RECOVER time.
Existing "tape" datasets are never overwritten. To overwrite existing DDFILEA "disk" datasets, specify the following statement in the skeleton JCL:
%%JCL-BS2-WORK-DATASET-OVERWRITE=YES
OVERWRITE defaults to NO. If no DDFILEA assignments are found and overwriting is prohibited (the default), ADARAI tries to write the DDFILEA datasets on TAPE-C1 cartridges.
To allocate DDFILEA on disk instead of tape, include the following JCL statement:
%%JCL-BS2-WORK-DISK-SPACE
Then specify one or more disk space assignment statements, as follows:
:catid :=pam-pages
ADARAI checks the availability of the specified pubsets and for permission of the ADARAI task's "/LOGON userid" to allocate the specified number of PAM pages on those pubsets. If the checks fail, the user's logon ID must be added to the joinfile of the related pubset, and the ADARAI RECOVER job step must be repeated before starting the generated recovery job. Otherwise, the ADAORD job steps may abend.
To assign DDFILEA output tape devices and volumes, include the following statement:
%%JCL-BS2-WORK-TAPE-VOLUMES=device-type
If output tape datasets must be created, ADARAI uses temporary datasets named #ADARAI.RECOVER.TAPE.nnnnn, where "nnnnn" equals 00001, 00002, and so on. If the console subtask option described in the next section is enabled, each line can contain one or more volser numbers separated by blanks or commas. The first two positions on each line must be blanks; the maximum line length is 256 characters.
The following is an example:
%%JCL-BS2-WORK-TAPE-VOLUMES=TAPE-C1 A00001,A00002,A00003,A00004 A00005,A00006,A00007,A00008
Up to 512 volumes can be specified.
When a recovery job created by ADARAI RECOVER is submitted, console messages may occur that require operator intervention, such as the following:
The catalog entry for a tape dataset is not available, and ADARAI inserts a /IMPORT-FILE statement for a temporary tape dataset, causing a DMS0DA5 console message.
Tape output for the DDFILEA dataset is required, and ADARAI includes JCL that causes a message requesting that a scratch tape be mounted.
These messages can be answered automatically by a UCON program, which runs as a subtask in parallel with the recovery job. The UCON program (ADAR2C) receives all relevant console messages and sends answers whenever possible.
To run a console subtask, include the following section before %%JCL-JOB-HEADER:
%%JCL-BS2-CONSOLE-SUBTASK-SPECIFICATION CONSOLE-NAME=name,C'password' (this statement is required) DCAM-APPL=dcamappl (this statement is optional)
where
name | is a /LOGON userid; |
password | is the user ID's logon password; and |
dcamappl | is the name of a DCAM application (the default is "RAIRUCON"). |
For more information, see the Authorized User Tasks section in the BS2000 Systems Administration documentation.
The following optional statement can be included in the skeleton JCL, followed by volser definitions. If the console subtask is not called, the volser definitions have no effect.
%%JCL-BS2-WORK-TAPE-VOLUMES=device-type
Include the following statement in the JCL for the ADARAI RECOVER function ( not in the skeleton JCL):
/SET-FILE-LINK FILE-NAME=console-job,LINK-NAME=DDJCLCON
The following example JCL for the RECOVER function includes the console subtask:
/ LOGON / SET-FILE-LINK FILE-NAME=ADA.JCLIN,LINK-NAME=DDJCLIN / SET-FILE-LINK FILE-NAME=ADA.JCLOUT,LINK-NAME=DDJCLOUT / SET-FILE-LINK FILE-NAME=ADA.JCLCON,LINK-NAME=DDJCLCON . . / ASSIGN-SYSDTA TO-FILE=*SYSCMD / SET-FILE-LINK ADAvrs.MOD,LINK-NAME=DDLIB / START-PROG *M(E=ADARUN,L=ADAvrs.MOD) ADARUN PROG=ADARAI,DB=47 ADARAI RECOVER / LOGOFF NOSPOOL
The console subtask evaluates the following BS2000 console messages, where tsn is the task serial number, and mn is the mnemo-technical device name:
NKVT010 VOLUME volser IS MOUNTED ON DEVICE mn |
If the volser and device are specified as described in the section DDFILEA JCL Options, they are registered in the subtask's online volser table. If the message NKVT013 is also outstanding at this time, the subtask returns the response "tsn.mn " .
NKVT011/97 VOLUME volser IS DISMOUNTED FROM DEVICE mn... |
The volser is removed from the online volser table.
NKVT013 MOUNT TAPE '*SCRAT' ON DEVICE ... |
If this message is related to the RECOVER task and the volser is available in the online volser table, the subtask sends the response " tsn.mn " .
DMS0DFB ACKNOWLEDGE VSN volser ON DEVICE mn... |
If this message is related to the RECOVER task, the subtask sends the response " tsn ".
DMS0DA5 INVALID FILE SPECIFICATION: VSN volser FOR FILE file... |
If the related "tsn" is the RECOVER task's "tsn" and "file" is a temporary dataset with the name #ADARAI.RECOVER.TAPE.nnnnn, the message is answered with the response " tsn.I".
For the subtask to respond, the logon ID must be able to ignore tapes with incorrect file IDs. To enable this, issue the following statement under the system administrator's logon ID (TSOS):
/MOD-USER userid,PROTECTION-ATTRIBUTE=(TAPE-ACCESS=READ)
%%JCL-BS2-WORK-DATASET-OVERWRITE = NO %%JCL-BS2-WORK-DISK-SPACE :A: = 500000 :B: = 1000000 %%JCL-BS2-CONSOLE-SUBTASK-SPECIFICATION CONSOLE-NAME=CON1,C'PASSWORD' %%JCL-BS2-WORK-TAPE-VOLUMES=TAPE-C1 A00001,A00002,A00003,A00004,A00005 A00006,A00007,A00008,A00009,A00010 %%JCL-BS2-SUBSTITUTION %%USERID = ADAvr %%AC %%ASSOR1 = $ADAvr.DByyyyy.ASSOR1 %%ASSOR2 = $ADAvr.DByyyyy.ASSOR2 %%DATAR1 = $ADAvr.DByyyyy.DATAR1 %%DATAR2 = $ADAvr.DByyyyy.DATAR2 %%WORK = $ADAvr.DByyyyy.WORK %%SORT = $ADAvr.DByyyyy.SORT% %%TEMP = $ADAvr.DByyyyy.TEMP %%RLOGR1 = $ADAvr.DByyyyy.RLOGR1 %%PLOGR1 = $ADAvr.DByyyyy.PLOGR1 %%PLOGR2 = $ADAvr.DByyyyy.PLOGR2 %%DBID = yyyyy %%IDTNAME = ADABASvB %%USEREX = ADAvrs.USEREXITS.MOD %%DDLIB = ADAvrs.MOD %%DEVICE = dddd %%JCL-JOB-HEADER /.RECOVER LOGON %%USERID,%%ACCOUNT / SET-FILE-LINK FILE-NAME=%%USEREX,LINK-NAME=BLSLIB01 / SET-FILE-LINK FILE-NAME=%%DDLIB,LINK-NAME=DDLIB / ASSIGN-SYSOUT TO-FILE=$ADAvv.RAI.OUT / ASSIGN-SYSLST TO-FILE=$ADAvv.RAI.LST%%JCL-JOB-TRAILER /REMARK -----------------------------------------------------------* /REMARK * RECOVERY JOB SUCCESSFULLY TERMINATED * /REMARK -----------------------------------------------------------* /LOGOFF NOSPOOL /.JOBERROR REMARK /REMARK +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++* /REMARK * RECOVERY JOB TERMINATED WITH ERROR * /REMARK +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++* /LOGOFF NOSPOOL %%JCL-ADARES /REMARK /REMARK REGENERATE/ BACKOUT /REMARK / SET-FILE-LINK FILE-NAME=%%RLOGR1,LINK-NAME=DDRLOGR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR1,LINK-NAME=DDASSOR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR2,LINK-NAME=DDASSOR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR1,LINK-NAME=DDDATAR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR2,LINK-NAME=DDDATAR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%WORK,LINK-NAME=DDWORKR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.ADARES,LINK-NAME=DDDRUCK / SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.ADARES,LINK-NAME=DDPRINT %SEQUENTIAL / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) ADARUN MODE=MULTI,PROG=ADARES ADARUN DBID=%%DBID,DE=%%DEVICE,IDTNAME=%%IDTNAME %KARTE %%JCL-STEP-TRAILER /SET-JOB-STEP%%JCL-ADASAV /REMARK /REMARK RESTORE FILE(S)/DATABASE /REMARK /.%STEP REMARK / SET-FILE-LINK FILE-NAME=%%RLOGR1,LINK-NAME=DDRLOGR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR1,LINK-NAME=DDASSOR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR2,LINK-NAME=DDASSOR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR1,LINK-NAME=DDDATAR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR2,LINK-NAME=DDDATAR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%WORK,LINK-NAME=DDWORKR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.RESTORE,LINK-NAME=DDDRUCK / SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.RESTORE,LINK-NAME=DDPRINT %SEQUENTIAL / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) ADARUN MODE=MULTI,PROG=ADASAV ADARUN DBID=%%DBID,DE=%%DEVICE,IDTNAME=%%IDTNAME %KARTE %%JCL-ENDNUC /REMARK /REMARK ADADBS END NUCLEUS /REMARK / SET-FILE-LINK FILE-NAME=%%RLOGR1,LINK-NAME=DDRLOGR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR1,LINK-NAME=DDASSOR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR2,LINK-NAME=DDASSOR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR1,LINK-NAME=DDDATAR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR2,LINK-NAME=DDDATAR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%WORK,LINK-NAME=DDWORKR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%SORT,LINK-NAME=DDSORTR1 / SET-FILE-LINK FILE-NAME=%%TEMP,LINK-NAME=DDTEMPR1 / SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.ADADBS,LINK-NAME=DDDRUCK / SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.ADADBS,LINK-NAME=DDPRINT / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) ADARUN MODE=MULTI,PROG=ADADBS ADARUN DBID=%%DBID,DE=%%DEVICE,IDTNAME=%%IDTNAME ADADBS OPERCOM ADAEND /REMARK /REMARK CHECK INACTIVE DATABASE /REMARK / SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.ADARAI,LINK-NAME=DDDRUCK / SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.ADARAI,LINK-NAME=DDPRINT / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) ADARUN MODE=MULTI,PROG=ADARAI,DBID=%%DBID,DE=%%DEVICE,IDTNAME=%%IDTNAME ADARAI CHKDB INACTIVE %%JCL-ADADEF /REMARK /REMARK DEFINE NEWWORK /REMARK / SET-FILE-LINK FILE-NAME=%%RLOGR1,LINK-NAME=DDRLOGR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR1,LINK-NAME=DDASSOR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR2,LINK-NAME=DDASSOR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR1,LINK-NAME=DDDATAR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR2,LINK-NAME=DDDATAR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%WORK,LINK-NAME=DDWORKR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%SORT,LINK-NAME=DDSORTR1 / SET-FILE-LINK FILE-NAME=%%TEMP,LINK-NAME=DDTEMPR1 / SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.ADADEF,LINK-NAME=DDDRUCK / SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.ADADEF,LINK-NAME=DDPRINT / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) ADARUN MODE=MULTI,PROG=ADADEF ADARUN DBID=%%DBID,DE=%%DEVICE,IDTNAME=%%IDTNAME %KARTE %%JCL-ADALOD /REMARK /REMARK LOAD A FILE/ MASS UPDATE /REMARK / SET-FILE-LINK FILE-NAME=%%RLOGR1,LINK-NAME=DDRLOGR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR1,LINK-NAME=DDASSOR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR2,LINK-NAME=DDASSOR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR1,LINK-NAME=DDDATAR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR2,LINK-NAME=DDDATAR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%WORK,LINK-NAME=DDWORKR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%SORT,LINK-NAME=DDSORTR1 / SET-FILE-LINK FILE-NAME=%%TEMP,LINK-NAME=DDTEMPR1 / SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.ADALOD,LINK-NAME=DDDRUCK / SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.ADALOD,LINK-NAME=DDPRINT %SEQUENTIAL / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) ADARUN MODE=MULTI,PROG=ADALOD ADARUN DBID=%%DBID,DE=%%DEVICE,IDTNAME=%%IDTNAME %KARTE %%JCL-ADAORD /REMARK /REMARK REORDER /REMARK / SET-FILE-LINK FILE-NAME=%%RLOGR1,LINK-NAME=DDRLOGR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR1,LINK-NAME=DDASSOR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR2,LINK-NAME=DDASSOR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR1,LINK-NAME=DDDATAR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR2,LINK-NAME=DDDATAR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%WORK,LINK-NAME=DDWORKR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%SORT,LINK-NAME=DDSORTR1 / SET-FILE-LINK FILE-NAME=%%TEMP,LINK-NAME=DDTEMPR1 / SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.ADAORD,LINK-NAME=DDDRUCK / SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.ADAORD,LINK-NAME=DDPRINT %SEQUENTIAL / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) ADARUN MODE=MULTI,PROG=ADAORD ADARUN DBID=%%DBID,DE=%%DEVICE,IDTNAME=%%IDTNAME %KARTE %%JCL-ADAINV /REMARK /REMARK INVERT/ COUPLE /REMARK / SET-FILE-LINK FILE-NAME=%%RLOGR1,LINK-NAME=DDRLOGR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR1,LINK-NAME=DDASSOR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR2,LINK-NAME=DDASSOR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR1,LINK-NAME=DDDATAR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR2,LINK-NAME=DDDATAR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%WORK,LINK-NAME=DDWORKR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%SORT,LINK-NAME=DDSORTR1 / SET-FILE-LINK FILE-NAME=%%TEMP,LINK-NAME=DDTEMPR1 / SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.ADADBS,LINK-NAME=DDDRUCK / SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.ADADBS,LINK-NAME=DDPRINT / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) ADARUN MODE=MULTI,PROG=ADAINV ADARUN DBID=%%DBID,DE=%%DEVICE,IDTNAME=%%IDTNAME %KARTE %%JCL-STARTNUC /REMARK /REMARK START NUCLEUS /REMARK / MODIFY-JOB-SWITCHES ON=(4,5) / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=EDT :/.ADANUC LOGON %%USERID,%%ACCOUNT :/ SET-FILE-LINK FILE-NAME=%%RLOGR1,LINK-NAME=DDRLOGR1,- :/ SUP=DISK(SHARE-UPD=YES) :/ SET-FILE-LINK FILE-NAME=%%PLOGR1,LINK-NAME=DDPLOGR1,- :/ SUP=DISK(SHARE-UPD=YES) :/ SET-FILE-LINK FILE-NAME=%%PLOGR2,LINK-NAME=DDPLOGR2,- :/ SUP=DISK(SHARE-UPD=YES) :/ SET-FILE-LINK FILE-NAME=%%ASSOR1,LINK-NAME=DDASSOR1,- :/ SUP=DISK(SHARE-UPD=YES) :/ SET-FILE-LINK FILE-NAME=%%ASSOR2,LINK-NAME=DDASSOR2,- :/ SUP=DISK(SHARE-UPD=YES) :/ SET-FILE-LINK FILE-NAME=%%DATAR1,LINK-NAME=DDDATAR1,- :/ SUP=DISK(SHARE-UPD=YES) :/ SET-FILE-LINK FILE-NAME=%%DATAR2,LINK-NAME=DDDATAR2,- :/ SUP=DISK(SHARE-UPD=YES) :/ SET-FILE-LINK FILE-NAME=%%WORK,LINK-NAME=DDWORKR1,- :/ SUP=DISK(SHARE-UPD=YES) :/ SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.ADANUC,LINK-NAME=DDDRUCK :/ SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.ADANUC,LINK-NAME=DDPRINT :/ ASSIGN-SYSDTA TO-FILE=*SYSCMD :/ SET-FILE-LINK FILE-NAME=%USEREX,LINK-NAME=BLSLIB01 :/ SET-FILE-LINK FILE-NAME=%%DDLIB,LINK-NAME=DDLIB :/ START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) :ADARUN PROG=ADANUC :ADARUN DATABASE=%%DBID DATA BASE ID :ADARUN IDTNAME=%%IDTNAME NAME OF IDT :ADARUN DEVICE=%%DEVICE :ADARUN IDTNAME=%%IDTNAME :ADARUN LFIOP=1000000,LWP=800000,LBP=4000000,LU=64000 :ADARUN LP=200,LS=20000,TT=900,TNAE=900,OPENRQ=NO,PLOGRQ=YES :ADARUN NAB=20,NH=400,NU=200,NISNHQ=50,NC=20,NPLOG=2,PLOGDEV=2000 :ADARUN PLOGSIZE=1000,NCLOG=2,CLOGDEV=2000,CLOGSIZE=500 :ADARUN UEX2=USEREX2 :/LOGOFF SYSOUT=DEL @D &:1-1: @W '#NUCENT' O @H /STEP /ENTER-JOB #NUCENT,PROC-ADMIS=PAR(USER-ID=%%USERID, - / ACCOUNT=%%ACCOUNT) /STEP / SET-FILE-LINK FILE-NAME= %%DDLIB,LINK-NAME=DDLIB / SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.ADARES,LINK-NAME=DDDRUCK / SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.ADARES,LINK-NAME=DDPRINT / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) ADARUN MODE=MULTI,PROG=ADARAI ADARUN DBID=%%DBID,DE=%%DEVICE,IDTNAME=%%IDTNAME ADARAI CHKDB ACTIVE
If a pubset member is lost because of, for example, a head crash or other unrecoverable hardware error, initialize a new member, include it in the pubset, and restore all datasets in the pubset. In most cases, you must also reallocate the ASSO, DATA, WORK, and PLOG datasets on exactly the same disk locations they were on before the hardware failure.
The ADAR2E utility reads the TSOSCAT entries of assigned datasets and creates a procedure that reallocates the Adabas files at exactly the same disk locations where they were before. The ADAR2E utility operates totally independently of ADARAI and other Adabas utilities; ADAR2E should be run whenever disk allocation changes are made to the major Adabas components (ASSO, DATA, WORK, PLOG, CLOG, TEMP, or SORT).
/ LOGON / SET-FILE-LINK FILE-NAME=DB.yyyyy.ASSO-01,LINK-NAME=DDASSOR1 / SET-FILE-LINK FILE-NAME=DB.yyyyy.DATA-01,LINK-NAME=DDDATAR1 / SET-FILE-LINK FILE-NAME=DB.yyyyy.WORK-01,LINK-NAME=DDWORKR1 / SET-FILE-LINK FILE-NAME=DB.yyyyy.TEMP-01,LINK-NAME=DDTEMPR1 / SET-FILE-LINK FILE-NAME=DB.yyyyy.PLOGR1,LINK-NAME=DDPLOGR1 / SET-FILE-LINK FILE-NAME=DB.yyyyy.PLOGR2,LINK-NAME=DDPLOGR2 / SET-FILE-LINK FILE-NAME=ALLOCATE.JOB,LINK-NAME=DDJCLOUT / START-PROGRAM *MOD(LIB=ADAvrs,ELEM=ADAR2E) / LOGOFF SYS-OUTPUT=DEL
DDASSOR1,DDASSOR2,DDASSOR3,DDASSOR4,DDASSOR5 DDDATAR1,DDDATAR2,DDDATAR3,DDDATAR4,DDDATAR5 DDWORKR1,DDWORKR2 DDSORTR1,DDSORTR2 DDTEMPR1,DDTEMPR2 DDPLOGR1,DDPLOGR2,DDPLOGR3,DDPLOGR4,DDPLOGR5,DDPLOGR6,DDPLOGR7,DDPLOGR8
The following is an example of the job control created by the ADAR2E utility:
/ BEGIN-PROCEDURE / MODIFY-SDF-OPTIONS CONTINUATION=NEW-MODE / CREATE-FILE FILE-NAME=:A:$ADABAS.DB.yyyyy.ASSO-01,- / SUPPORT=PUBLIC-DISK(VOLUME=PUBA00,- / DEVICE-TYPE=Ddddd,SPACE=ABSOLUTE- / (FIRST-PAGE=32833,SIZE=5001)) / MODI-FILE-ATTR FILE-NAME=:A:$ADABAS.DB.yyyyy.ASSO-01,- / SUPPORT=PUBLIC-DISK(VOLUME=PUBA00,- / DEVICE-TYPE=Ddddd,SPACE=ABSOLUTE- / (FIRST-PAGE=29761,SIZE=5001)) . . / CREATE-FILE FILE-NAME=:A:$ADABAS.DB.yyyyy.DATA-01,- / SUPPORT=PUBLIC-DISK(VOLUME=PUBA02,- / DEVICE-TYPE=Ddddd,SPACE=ABSOLUTE- / (FIRST-PAGE=119809,SIZE=8001)) / MODI-FILE-ATTR FILE-NAME=:A:$ADABAS.DB.yyyyy.DATA-01,- / SUPPORT=PUBLIC-DISK(VOLUME=PUBA03,- / DEVICE-TYPE=Ddddd,SPACE=ABSOLUTE- / (FIRST-PAGE=75841,SIZE=8001))
Execute the ADAR2E-generated reallocation procedure under the system administrator's logon ID (TSOS) before starting the ADARAI RECOVER function.
Under BS2000 version 11 and above, it is possible to allow all users with access rights to a certain pubset to allocate disk space absolutely by issuing the following command under TSOS:
/MODIFY-MASTER-CATALOG CATID= catid,PHYSICAL-ALLO=USER-ALLOWED
Dataset | DD Name | Storage | More Information |
---|---|---|---|
Associator | DDASSORn | disk | |
Data protection log | DDPLOGRn | tape/ disk | Required for RECOVER only if FEOFPL=YES is specified. |
Recovery log (RLOG) | DDRLOGR1 | disk | |
Job stream input | DDJCLIN | disk | Required only for RECOVER |
Recovery job output | DDJCLOUT | disk | Required only for RECOVER |
ADARAI messages | DDDRUCK | printer | Messages and Codes |
ADARUN messages | DDPRINT | printer | Messages and Codes |
ADARUN parameters | DDCARD | reader | Operations |
ADARAI parameters | DDKARTE | reader |
//RAIPREP EXEC PGM=ADARUN //STEPLIB DD DISP=SHR,DSN=ADABAS.Vvrs.LOADLIB //DDASSOR1 DD DISP=SHR,DSN=EXAMPLE.ADAyyyyy.ASSOR1 //DDRLOGR1 DD DISP=SHR,DSN=EXAMPLE.ADAyyyyy.RLOGR1 //DDDRUCK DD SYSOUT=A //DDPRINT DD SYSOUT=A //DDCARD DD * ADARUN PROGRAM=ADARAI,SVC=xxx,DEVICE=dddd,DBID=yyyyy,MODE=MULTI //DDKARTE DD * ADARAI PREPARE RLOGSIZE=5,MINGENS=5
//RAILIST EXEC PGM=ADARUN //STEPLIB DD DSN=ADABAS.Vvrs.LOADLIB,DISP=SHR //DDASSOR1 DD DSN=EXAMPLE.ADAyyyyy.ASSOR1,DISP=SHR //DDRLOGR1 DD DSN=EXAMPLE.ADAyyyyy.RLOGR1,DISP=SHR //DDDRUCK DD SYSOUT=A //DDPRINT DD SYSOUT=A //DDCARD DD * ADARUN PROGRAM=ADARAI,SVC=xxx,DEVICE=dddd,DBID=yyyyy,MODE=MULTI //DDKARTE DD * ADARAI LIST /*
//ADARAI EXEC PGM=ADARUN //STEPLIB DD DSN=ADABAS.Vvrs.LOADLIB,DISP=SHR //* //DDASSOR1 DD DSN=EXAMPLE.ADAyyyyy.ASSOR1,DISP=SHR //* //DDRLOGR1 DD DSN=EXAMPLE.ADAyyyyy.RLOGR1,DISP=SHR //DDJCLIN DD DSN=EXAMPLE.ADAyyyyy.RAIJCL(JCLIN),DISP=SHR //DDJCLOUT DD SYSOUT=A //* //DDPLOGR1 DD DSN=EXAMPLE.ADAyyyyy.PLOGR1,DISP=SHR //DDPLOGR2 DD DSN=EXAMPLE.ADAyyyyy.PLOGR2,DISP=SHR //* //DDDRUCK DD SYSOUT=A //DDPRINT DD SYSOUT=A //DDCARD DD * ADARUN PROGRAM=ADARAI,SVC=xxx,DEVICE=dddd,DBID=yyyyy,MODE=MULTI ADARUN UEX2=UEX2 //DDKARTE DD * ADARAI RECOVER JCLLOG=YES,RELGEN=0,DRIVES=2
%%JCL-JOB-HEADER //ADARECOV JOB 5,'ADA-USER',MSGCLASS=X,CLASS=A,REGION=4096K //* //JOBLIB DD DSN=ADABAS.Vvrs.LOAD,DISP=SHR //* %%JCL-JOB-TRAILER //* //* END OF RECOVERY //* %%JCL-STEP-TRAILER //* //* END OF STEP //* %%JCL-DDKARTE //DDKARTE DD * %%JCL-ADASAV //* //* RESTORE FILE(S)/DATABASE //* //%STEP EXEC PGM=ADARUN ADASAV JOB STEP %SEQUENTIAL //DDRLOGR1 DD DSN=ADABAS.Vvrs.RLOGR1,DISP=SHR //DDASSOR1 DD DSN=ADABAS.Vvrs.ASSOR1,DISP=SHR //DDDATAR1 DD DSN=ADABAS.Vvrs.DATAR1,DISP=SHR //DDWORKR1 DD DSN=ADABAS.Vvrs.WORKR1,DISP=SHR //DDDRUCK DD SYSOUT=X //DDPRINT DD SYSOUT=X //DDCARD DD * ADARUN MODE=MULTI,PROG=ADASAV,DBID=yyyyy,DEVICE=dddd,SVC=xxx //DDKARTE DD * %KARTE %%JCL-ADARES //* //* REGENERATE/BACKOUT //* //%STEP EXEC PGM=ADARUN ADARES JOB STEP %SEQUENTIAL //DDRLOGR1 DD DSN=ADABAS.Vvrs.RLOGR1,DISP=SHR //DDASSOR1 DD DSN=ADABAS.Vvrs.ASSOR1,DISP=SHR //MERGINT1 DD DSN=ADABAS.Vvrs.MERGINT1,DISP=SHR //MERGINT2 DD DSN=ADABAS.Vvrs.MERGINT2,DISP=SHR //DDDRUCK DD SYSOUT=X //DDPRINT DD SYSOUT=X //SYSUDUMP DD SYSOUT=X //DDCARD DD * ADARUN MODE=MULTI,PROG=ADARES,DBID=yyyyy,DEVICE=dddd,SVC=xxx //DDKARTE DD * %KARTE%%JCL-ADADEF //* DEFINE NEWWORK //* //%STEP EXEC PGM=ADARUN ADADEF JOB STEP //DDRLOGR1 DD DSN=ADABAS.Vvrs.RLOGR1,DISP=SHR //DDASSOR1 DD DSN=ADABAS.Vvrs.ASSOR1,DISP=SHR //DDDATAR1 DD DSN=ADABAS.Vvrs.DATAR1,DISP=SHR //DDWORKR1 DD DSN=ADABAS.Vvrs.WORKR1,DISP=SHR //DDTEMPR1 DD DSN=ADABAS.Vvrs.TEMPR1,DISP=SHR //DDSORTR1 DD DSN=ADABAS.Vvrs.SORTR1.DISP=SHR //DDDRUCK DD SYSOUT=X //DDPRINT DD SYSOUT=X //DDCARD DD * ADARUN MODE=MULTI,PROG=ADADEF,DBID=yyyyy,DEVICE=dddd,SVC=xxx //DDKARTE DD * %KARTE %%JCL-ADALOD //* //* LOAD A FILE/MASS UPDATE //* //%STEP EXEC PGM=ADARUN ADALOD JOB STEP %SEQUENTIAL //DDRLOGR1 DD DSN=ADABAS.Vvrs.RLOGR1,DISP=SHR //DDASSOR1 DD DSN=ADABAS.Vvrs.ASSOR1,DISP=SHR //DDDATAR1 DD DSN=ADABAS.Vvrs.DATAR1,DISP=SHR //DDWORKR1 DD DSN=ADABAS.Vvrs.WORKR1,DISP=SHR //DDTEMPR1 DD DSN=ADABAS.Vvrs.TEMPR1,DISP=SHR //DDSORTR1 DD DSN=ADABAS.Vvrs.SORTR1.DISP=SHR //DDFILEA DD DSN=ADABAS.Vvrs.SORT.OVERFLOW //DDDRUCK DD SYSOUT=X //DDPRINT DD SYSOUT=X //DDCARD DD * ADARUN MODE=MULTI,PROG=ADALOD,DBID=yyyyy,DEVICE=dddd,SVC=xxx //DDKARTE DD * %KARTE %%JCL-ADAORD //* //* REORDER //* //%STEP EXEC PGM=ADARUN ADAORD JOB STEP %SEQUENTIAL //DDRLOGR1 DD DSN=ADABAS.Vvrs.RLOGR1,DISP=SHR //DDASSOR1 DD DSN=ADABAS.Vvrs.ASSOR1,DISP=SHR //DDDATAR1 DD DSN=ADABAS.Vvrs.DATAR1,DISP=SHR //DDWORKR1 DD DSN=ADABAS.Vvrs.WORKR1,DISP=SHR //DDDRUCK DD SYSOUT=X //DDPRINT DD SYSOUT=X //DDCARD DD * ADARUN MODE=MULTI,PROG=ADAORD,DBID=yyyyy,DEVICE=dddd,SVC=xxx //DDKARTE DD * %KARTE %%JCL-ADAINV //* INVERT/ COUPLE //* //%STEP EXEC PGM=ADARUN ADAINV JOB STEP //DDRLOGR1 DD DSN=ADABAS.Vvrs.RLOGR1,DISP=SHR //DDASSOR1 DD DSN=ADABAS.Vvrs.ASSOR1,DISP=SHR //DDDATAR1 DD DSN=ADABAS.Vvrs.DATAR1,DISP=SHR //DDWORKR1 DD DSN=ADABAS.Vvrs.WORKR1,DISP=SHR //DDDRUCK DD SYSOUT=X //DDPRINT DD SYSOUT=X //SYSUDUMP DD SYSOUT=X //DDCARD DD * ADARUN MODE=MULTI,PROG=ADAINV,DBID=yyyyy,DEVICE=dddd,SVC=xxx //DDKARTE DD * %KARTE%%JCL-STARTNUC //* START NUCLEUS //* //STEP1 EXEC PGM=IEBGENER (submit to internal reader) //SYSPRINT DD SYSOUT=X //SYSIN DD DUMMY //SYSUT2 DD SYSOUT=(*,INTRDR) //SYSUT1 DD DATA,DLM='$$' //ADANUC JOB 5,'ADA-NUC',CLASS=A,MSGCLASS=X,REGION=6M //%STEP EXEC PGM=ADARUN //STEPLIB DD DSN=ADABAS.Vvrs.LOAD,DSIP=SHR //* //DDASSOR1 DD DSN=ADABAS.Vvrs.ASSOR1,DISP=SHR //DDDATAR1 DD DSN=ADABAS.Vvrs.DATAR1,DISP=SHR //DDWORKR1 DD DSN=ADABAS.Vvrs.WORKR1,DISP=SHR //* //DDRLOGR1 DD DSN=ADABAS.Vvrs.RLOGR1,DISP=SHR //* //DDPLOGR1 DD DSN=ADABAS.Vvrs.PLOGR1,DISP=SHR //* //SYSUDUMP DD SYSOUT=X //DDPRINT DD SYSOUT=X //DDCARD DD * ADARUN PROG=ADANUC ADARUN UEX2=UEX2 ADARUN NPLOG=2,PLOGDEV=dddd ADARUN PLOGSIZE=size ADARUN MODE=MULTI ADARUN DATABASE=yyyyy ADARUN SVC=xxx ADARUN UTIONLY=YES $$ (internal reader delimiter) //CHKDB EXEC PGM=ADARUN (check for an active nucleus) //STEPLIB DD DSN=ADABAS.Vvrs.LOAD,DISP=SHR //SYSOUT DD SYSOUT=* //DDPRINT DD SYSOUT=* //DDDRUCK DD SYSOUT=* //DDCARD DD * ADARUN MODE=MULTI,PROGRAM=ADARAI, ADARUN DBID=yyyyy,SVC=xxx,DE=dddd //DDKARTE DD * ADARAI CHKDB ACTIVE //* %%JCL-ENDNUC //* //* ADADBS END NUCLEUS //* //%STEP EXEC PGM=ADARUN //DDASSOR1 DD DSN=ADABAS.Vvrs.ASSOR1,DISP=SHR //DDDATAR1 DD DSN=ADABAS.Vvrs.DATAR1,DISP=SHR //DDWORKR1 DD DSN=ADABAS.Vvrs.WORKR1,DISP=SHR //DDTEMPR1 DD DSN=ADABAS.Vvrs.TEMPR1,DISP=SHR //DDSORTR1 DD DSN=ADABAS.Vvrs.SORTR1,DISP=SHR //DDRLOGR1 DD DSN=ADABAS.Vvrs.RLOGR1,DISP=SHR //DDDRUCK DD SYSOUT=X //DDPRINT DD SYSOUT=X //DDCARD DD * ADARUN MODE=MULTI,PROG=ADADBS,DBID=yyyyy,DE=dddd,SVC=xxx //DDKARTE DD * ADABAS OPERCOM ADAEND //CHKDB EXEC PGM=ADARUN (check for an inactive nucleus) //STEPLIB DD DSN=ADABAS.Vvrs.LOAD,DISP=SHR //SYSOUT DD SYSOUT=* //DDPRINT DD SYSOUT=* //DDDRUCK DD SYSOUT=* //DDCARD DD * ADARUN MODE=MULTI,PROGRAM=ADARAI, ADARUN DBID=yyyyy,SVC=xxx,DE=dddd //DDKARTE DD * ADARAI CHKDB INACTIVE //*
ADARAI is not currently supported by either the ADAMAINT EXEC (database maintenance) or the INSTADA EXEC (database installation). The information needed to run ADARAI must be added manually to the EXECs, CONTROL files, and so on.
Add the required information as follows:
Update ADARAI PARM to contain the correct database ID (the default ID is "00001").
Add MULTI write LINK commands to the ADARAI minidisks in the PROFILE EXEC of the DBA virtual machine. The ADARAI minidisks such as DDRLOGR1 must be defined in the CP directory of the Adabas nucleus virtual machine.
Complete the ADFdbid EXEC with a DATADEF statement for DDRLOGR1. This statement should always be defined for every utility and for the nucleus. The dataset must be CMS-formatted and reserved with the defined file name and file types.
Dataset | DD Name | Storage | More Information |
---|---|---|---|
Associator | DDASSORn | disk | |
Data Storage | DDDATARn | disk | Required for RECOVER |
Work | DDWORKR1 DDWORKR4 |
disk | Required for RECOVER |
Datra protection log | DDPLOGRn | tape/ disk | Required for RECOVER |
Recovery log (RLOG) | DDRLOGR1 | disk | |
Job stream input | DDJCLIN | disk | Required for RECOVER |
Recovery job output | DDJCLOUT | disk | Required for RECOVER |
ADARAI messages | DDDRUCK | disk/ terminal/ printer | Messages and Codes |
ADARUN messages | DDPRINT | disk/ terminal/ printer | Messages and Codes |
ADARUN parameters | DDCARD | disk/ terminal/ reader | Operations |
ADARAI parameters | DDKARTE | disk/ terminal/ reader |
DATADEF DDASSOR1,DSN=ADABASVv.ASSO,VOL=ASSOV1 DATADEF DDRLOGR1,DSN=ADABASVv.RLOG1,VOL=RLOGV1 DATADEF DDDRUCK,DSN=ADARAI.DDDRUCK,MODE=A DATADEF DDPRINT,DSN=ADAFRM.DDPRINT,MODE=A DATADEF DDCARD,DSN=RUNRAI.CONTROL,MODE=A DATADEF DDKARTE,DSN=ADARAI.CONTROL,MODE=A ADARUN
ADARUN PROG=ADARAI,DEVICE=dddd,DB=99,MODE=MULTI
ADARUN PREPARE RLOGSIZE=5,RLOGDEV=eeee,MINGENS=5
DATADEF ASSOR1,DSN=ADABASVv.ASSO,VOL=ASSOV1 DATADEF RLOGR1,DSN=ADABASVv.RLOG1,VOL=RLOGV1 DATADEF DDDRUCK,DSN=ADARAI.DDDRUCK,MODE=A DATADEF DDPRINT,DSN=ADARAI.DDPRINT,MODE=A DATADEF DDCARD,DSN=RUNRAI.CONTROL,MODE=A DATADEF DDKARTE,DSN=ADARAI.CONTROL,MODE=A
ADARUN PROG=ADARAI,DEVICE=dddd,DB=yyyyy,MODE=MULTI
ADARUN LIST
The following functions are available for use with ADARAI on a VSE/ESA system:
Function | Action |
---|---|
CHKDB | check the database status |
DISABLE | disable the recovery log (RLOG) |
LIST | list the RLOG contents |
PREPARE | start the RLOGs |
REMOVE | remove the RLOG |
The ADARAI RECOVER function used to rebuild the job stream is not currently supported on a VSE/ESA system.
File | Symbolic Name | Storage | Logical Unit | More Information |
---|---|---|---|---|
Associator | ASSORn | disk | See note 1 | |
Data Storage | DATARn | disk | See note 1 | Required for RECOVER |
Work | WORKR1 | disk | Required for RECOVER | |
Recovery log (RLOG) | RLOGR1 | disk | ||
Data protection log | PLOGRn | tape disk |
Required for RECOVER | |
Job stream input | JCLIN | SYSIPT | Required for RECOVER | |
Recovery job output | JCLOUT | SYSPCH | Required for RECOVER | |
ADARAI messages | printer | SYS009 | Messages and Codes | |
ADARUN messages | printer | SYSLST | Messages and Codes | |
ADARUN parameters | - CARD CARD |
reader tape disk |
SYSRDR SYS000 See note 1 |
|
ADARAI parameters | reader | SYSIPT |
Note:
Any programmer logical unit may be used.
// ASSGN SYS009,00F // EXEC PROC=ADAVvFIL // EXEC PROC=ADAVvLIB // EXEC ADARUN,SIZE=ADARUN ADARUN PROG=ADARAI,SVC=xxx,DEVICE=dddd,DB=yyyyy,MODE=MULTI /* ADARAI PREPARE RLOGSIZE=5,MINGENS=5 /*
See Procedures for VSE/ESA Examples for descriptions of the VSE/ESA procedures (PROCs).
// ASSGN SYS009,00F // EXEC PROC=ADAVvFIL // EXEC PROC=ADAVvLIB // ASSGN SYS000,SYSIPT // EXEC ADARUN,SIZE=ADARUN ADARUN PROG=ADARAI,SVC=xxx,DEVICE=dddd,DB=yyyyy,MODE=MULTI /* ADARAI LIST /*