In a test environment, the clone DBRC definitions utility
allows you to ease DBRC problems by cloning DBRC definitions to an
alternate RECON.
About this task The utility replicates HALDB DBRC definitions to other
RECONs and allows you to exchange the high-level data set name qualifier.
You
must have your own data sets for testing the batch program, or testing
online programs with IMS Batch
Terminal Simulator. This requires you to have your own RECONs.
When
batch jobs are run with DBRC active, you must accommodate recovery
and authorization issues as well. For example, if an application program
fails, the database is flagged by DBRC to indicate the need for some
recovery action. This utility helps eliminate those problems.
To
use this utility, include the sample JCL in your test JCL.
Alternatively,
you can create the JCL by using the ISPF user interface.
Example In the following sample JCL:
the.other .RECON is the RECON for the programmer.
your .RECON is the RECON to be copied from.
your .DBDLIB is the DBD library for the DBD.
Figure 1. Sample JCL from member IHCECLON (Part 1 of 2)
//*------------------------------------------------------------
//*
//* Clone DBRC definitions to alternate RECON
//*
//*------------------------------------------------------------
//*------------------------------------------------------------
//* Allocate RECON datasets
//*------------------------------------------------------------
//ALLO EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE the.other .RECON1
DELETE the.other .RECON2
DELETE the.other .RECON3
SET MAXCC=0
DEFINE CLUSTER(NAME(the.other .RECON1) VOL(volser ) KEYS(32 0) -
CISZ(8192) RECSZ(8100 8192) CYLINDERS(2 2) -
FREESPACE(30,10) INDEXED SHR(3 3) SPEED)
DEFINE CLUSTER(NAME(the.other .RECON2) VOL(volser ) KEYS(32 0) -
CISZ(8192) RECSZ(8100 8192) CYLINDERS(2 2) -
FREESPACE(30,10) INDEXED SHR(3 3) SPEED)
DEFINE CLUSTER(NAME(the.other .RECON3) VOL(volser ) KEYS(32 0) -
CISZ(8192) RECSZ(8100 8192) CYLINDERS(2 2) -
FREESPACE(30,10) INDEXED SHR(3 3) SPEED)
//*------------------------------------------------------------
//* Create HALDB statements
//*------------------------------------------------------------
//CRE EXEC PGM=IHCHALDB,
// REGION=60M
//STEPLIB DD DISP=SHR,DSN=your .SIHCLOAD
// DD DISP=SHR,DSN=your .SDFSRESL
//DFSRESLB DD DISP=SHR,DSN=your .SDFSRESL
//IMS DD DISP=SHR,DSN=your .DBDLIB
//RECON1 DD DISP=SHR,DSN=your .RECON1
//RECON2 DD DISP=SHR,DSN=your .RECON2
//RECON3 DD DISP=SHR,DSN=your .RECON3
//MSGPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//IHCSYSIN DD *
COPYDBRC DBD(nnnnn ) -
DSNPREF(new.hlq ) -
DSNDBD(DBD) -
INCLIND(YES) -
TODD(DBRCOUT)
/*
//DBRCOUT DD DISP=(,PASS),SPACE=(TRK,(1,1)),UNIT=SYSALLDA
//*---------------------------------------------------------
//* INIT.RECON
//*---------------------------------------------------------
//INITRCN EXEC PGM=DSPURX00,REGION=50M,COND=(4,LE)
//STEPLIB DD DISP=SHR,DSN=your .SDFSRESL
//RECON1 DD DISP=SHR,DSN=the.other .RECON1
//RECON2 DD DISP=SHR,DSN=the.other .RECON2
//RECON3 DD DISP=SHR,DSN=the.other .RECON3
//DFSRESLB DD DISP=SHR,DSN=your .SDFSRESL
//IMS DD DISP=SHR,DSN=your .DBDLIB
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
INIT.RECON NOFORCER CATDS TAPEUNIT(3480)
/*
Figure 2. Sample JCL from member IHCECLON (Part 2 of 2)
//*---------------------------------------------------------
//* APPLY TO OTHER DBRC
//*---------------------------------------------------------
//DBRC EXEC PGM=IHCYUTIL,
// REGION=60M
//STEPLIB DD DISP=SHR,DSN=your .SIHCLOAD
// DD DISP=SHR,DSN=your .SDFSRESL
//DFSRESLB DD DISP=SHR,DSN=your .SDFSRESL
//RECON1 DD DISP=SHR,DSN=the.other .RECON1
//RECON2 DD DISP=SHR,DSN=the.other .RECON2
//RECON3 DD DISP=SHR,DSN=the.other .RECON3
//IMS DD DISP=SHR,DSN=your .DBDLIB
//TRACE DD DUMMY
//SYSPRINT DD SYSOUT=*
//MSGPRINT DD SYSOUT=*
//SYSIN DD DISP=(OLD,DELETE),DSN=*.CRE.DBRCOUT
//IHCSYSIN DD *
RUN PGM(IHCYDBR0)
//