JCL Requirements and Examples

This section describes the job control information required to run ADASAV on the z/OS operating system and shows examples of job streams.

This document covers the following topics:


Requirements to Run ADASAV JCL

Data Set DD Name Storage More Information
Associator DDASSORn disk

If exclusive access is needed for your Adabas nucleus data, please review the operating system JCL for dataset disposition allocation and specify the option that works your environment. For example, DISP=OLD.

Data Storage DDDATARn disk

If exclusive access is needed for your Adabas nucleus data, please review the operating system JCL for dataset disposition allocation and specify the option that works your environment. For example, DISP=OLD.

Work

DDWORKR1

DDWORKRn (1-9) to DDWORKnn (10-32) in cluster environments

disk A Work data set is not required for:
  • any ADASAV SAVE functions

  • ADASAV RESTONL FMOVE and ADASAV RESTONL FILES functions

  • ADASAV RESTORE FMOVE and ADASAV RESTORE FILES functions

  • ADASAV RESTPLOG functions

A Work data set is recommended for:

  • ADASAV RESTONL and ADASAV RESTONL GCB functions

  • ADASAV RESTORE and ADASAV RESTORE GCB functions

In these cases, if a Work data set is specified, the ADASAV function resets it; if a Work data set is not specified, no Work data sets are reset.

Note:
In an Adabas Cluster Services or Adabas Parallel Services cluster, where each cluster has its own Work data set, the Work data sets of all nuclei in the cluster should be specified for the RESTONL/RESTORE or RESTONL GCB/RESTORE GCB functions.

If a database is restored and the Work data set has not been reset, nucleus error 72 (PARM ERROR 72) may occur. To resolve this, you can reset any Work data sets using the ADAFRM utility.

If exclusive access is needed for your Adabas nucleus data, please review the operating system JCL for dataset disposition allocation and specify the option that works your environment. For example, DISP=OLD.

Recovery log (RLOG) DDRLOGR1 disk Required for ADARAI
Backup copy DDSAVE1-8 tape/ disk Required for SAVE
Dual copy DDDUAL1-8 tape/ disk Required for SAVE with two backup copies
Backup copy (input for RESTORE function) DDREST1-8 tape/ disk Required for RESTORE and
RESTONL
Sequential protection log DDPLOG tape/ disk Required for RESTONL and
RESTPLOG
ADARUN parameters DDCARD reader Operations
ADASAV parameters DDKARTE reader  
ADARUN messages DDPRINT printer Messages and Codes
ADASAV messages DDDRUCK printer Messages and Codes

Note:
For RESTONL, the input SAVE tapes and the sequential protection log can be concatenated, using the name DDREST1.

ADASAV JCL Examples

Save Database

//ADASAV    JOB
//*
//*    ADASAV:
//*       EXAMPLE HOW TO USE ADASAV TO SAVE THE
//*       ENTIRE DATABASE
//*
//SAVE     EXEC PGM=ADARUN
//STEPLIB   DD   DISP=SHR,DSN=ADABAS.ADAvrs.LOAD          <=== ADABAS LOAD
//*
//DDASSOR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.ASSOR1    <=== ASSO
//DDDATAR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.DATAR1    <=== DATA
//DDSAVE1   DD   DSN=EXAMPLE.DByyyyy.DDSAVE1,UNIT=TAPE, <=== OUTPUT
//            DISP=(,CATLG),VOL=SER=ADABCK
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADASAV,SVC=xxx,DE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADASAV SAVE
/*

Refer to ADASAV in the JOBS data set for this example.

Save Database with Two Copies of Output

//ADASAVT   JOB
//*
//*    ADASAV:
//*       EXAMPLE HOW TO USE ADASAV TO SAVE THE
//*       ENTIRE DATABASE CREATING TWO COPIES OF THE OUTPUT
//*
//SAVE     EXEC PGM=ADARUN
//STEPLIB   DD   DISP=SHR,DSN=ADABAS.ADAvrs.LOAD          <=== ADABAS LOAD
//*
//DDASSOR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.ASSOR1    <=== ASSO
//DDDATAR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.DATAR1    <=== DATA
//DDSAVE1   DD   DSN=EXAMPLE.DByyyyy.DDSAVE1,UNIT=TAPE, <=== OUTPUT
//            DISP=(,CATLG),VOL=SER=ADABCK
//DDDUAL1   DD   DSN=EXAMPLE.DByyyyy.DDSAVD1,UNIT=TAPE, <=== OUTPUT
//            DISP=(,CATLG),VOL=SER=ADABCK1
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADASAV,SVC=xxx,DE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADASAV SAVE TWOCOPIES
/*

Refer to ADASAVT in the JOBS data set for this example.

Restore Database

//ADASAVR   JOB
//*
//*    ADASAV:
//*       EXAMPLE HOW TO USE ADASAV TO RESTORE THE
//*       ENTIRE DATABASE
//*
//RESTORE  EXEC PGM=ADARUN
//STEPLIB   DD   DISP=SHR,DSN=ADABAS.ADAvrs.LOAD       <=== ADABAS LOAD
//*
//DDASSOR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.ASSOR1 <=== ASSO
//DDDATAR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.DATAR1 <=== DATA
//DDWORKR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.WORKR1 <=== WORK
//DDREST1   DD   DSN=EXAMPLE.DByyyyy.SAVE,           <=== SAVE OUTPUT
//          DISP=OLD,UNIT=TAPE,VOL=SER=ADABCK
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADASAV,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADASAV RESTORE OVERWRITE
/*

Refer to ADASAVR in the JOBS data set for this example.

Restore Files From SAVE Data Sets Created Offline

//ADASAVRF  JOB
//*
//*    ADASAV:
//*       EXAMPLE HOW TO USE ADASAV TO RESTORE A FILE
//*       TO ANY RABNS FROM AN OFFLINE SAVE
//*
//RESTORE  EXEC PGM=ADARUN
//STEPLIB   DD   DISP=SHR,DSN=ADABAS.ADAvrs.LOAD       <=== ADABASLOAD
//*
//DDASSOR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.ASSOR1 <=== ASSO
//DDDATAR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.DATAR1 <=== DATA
//DDREST1   DD   DSN=EXAMPLE.DByyyyy.SAVE,           <=== SAVE OUTPUT
//          DISP=OLD,UNIT=TAPE,VOL=SER=ADABCK
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADASAV,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADASAV RESTORE FMOVE=2
/*

Refer to ADASAVRF in the JOBS data set for this example.

Restore Files From SAVE Data Sets Created Online

//ADASAVRO  JOB
//*
//*    ADASAV:
//*       EXAMPLE HOW TO USE ADASAV TO RESTORE FILES
//*       FROM SAVE DATA SETS CREATED ONLINE
//*
//RESTORE  EXEC PGM=ADARUN 
//STEPLIB   DD   DISP=SHR,DSN=ADABAS.ADAvrs.LOAD       <=== ADABAS LOAD
//*
//DDASSOR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.ASSOR1 <=== ASSO
//DDDATAR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.DATAR1 <=== DATA
//DDREST1   DD   DSN=EXAMPLE.DByyyyy.SAVE,           <=== SAVE OUTPUT
//          DISP=OLD,UNIT=TAPE,VOL=SER=ADABCK
//DDPLOG    DD   DSN=EXAMPLE.DByyyyy.PLOG,           <=== PLOG OUTPUT
//          DISP=OLD,UNIT=TAPE,VOL=SER=PLOGD1
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADASAV,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADASAV RESTONL FILES=2,PLOGNUM=ppp,SYN1=1
/*

Refer to ADASAVRO in the JOBS data set for this example.

Restore Protection Log after an Interrupted RESTONL Function

//ADASAVRP  JOB
//*
//*    ADASAV:
//*       EXAMPLE HOW TO USE ADASAV TO RESTORE THE
//*       PROTECTION LOG AFTER AN INTERRUPTED RESTONL
//*
//RESTORE  EXEC PGM=ADARUN
//STEPLIB   DD   DISP=SHR,DSN=ADABAS.ADAvrs.LOAD       <=== ADABAS LOAD
//*
//DDASSOR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.ASSOR1 <=== ASSO
//DDDATAR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.DATAR1 <=== DATA
//DDPLOG    DD   DSN=EXAMPLE.DByyyyy.PLOG,           <=== PLOG INPUT
//          DISP=OLD,UNIT=TAPE,VOL=SER=PLOGD1
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADASAV,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADASAV RESTPLOG PLOGNUM=ppp,SYN1=1
/*

Refer to ADASAVRP in the JOBS data set for this example.