|
Every
once in a while we really, really, do need to COLD start our CICS/TS
partitions. In fact, at one site, we cold start the CICS partitions
every weekend after the online Security File backups are done. In order
to do this properly, you need to delete and redefine the CICS/TS Local
Catalog, the CICS/TS Global Catalog, and the CICS/TS Restart Data Set.
The job stream below is left in the Power reader queue and released at
the end of the Security File Backup jobs via a // PWR R RDR,COLDICCF
statement in the JCL. Keep in mind that CICS/TS is already down when
the Security File backup job is run and HAS to be down while this job
runs to redefine the catalogs and restart data set. This job stream is
a combination of some of the CICS/TS installation job streams. I have
taken the IDCAMS Delete/Define clusters for CICS.LCD, CICS.GCD, and
CICS.RSD and placed them into this job and at the end I have a //PWR R
RDR,CICSICCF to bring CICS back up automatically.
* $$
JOB JNM=COLDICCF,CLASS=2,DISP=K,PRI=7
* $$
LST DISP=D,CLASS=Q
* $$
PUN DISP=D,CLASS=A
//
JOB COLDICCF - SET CICSICCF TO COLD START
/*
*******************************************
/*
DEFINE AND INITIALIZE VSAM FILES FOR CICSICCF
/*
*******************************************
//
EXEC IDCAMS,SIZE=AUTO
/* */
/*
DELETE VSAM FILES */
/* */
DELETE (CICS.GCD) CL NOERASE PURGE -
CATALOG(VSESP.USER.CATALOG)
DELETE (CICS.LCD) CL NOERASE PURGE -
CATALOG(VSESP.USER.CATALOG)
DELETE (CICS.RSD) CL NOERASE PURGE -
CATALOG(VSESP.USER.CATALOG)
SET MAXCC = 0
/* */
/*
DEFINE VSAM FILES */
/* */
DEFINE CLUSTER(NAME(CICS.GCD) -
RECORDSIZE (4089 4089) -
RECORDS (2000 200) -
KEYS (28 0) -
REUSE -
INDEXED -
FREESPACE (10 10) -
SHR(2) -
CISZ(8192) -
VOL(DOSRES SYSWK1)) -
DATA(NAME(CICS.GCD.@D@)) -
INDEX (NAME (CICS.GCD.@I@)) -
CATALOG(VSESP.USER.CATALOG)
DEFINE CLUSTER(NAME(CICS.LCD) -
INDEXED -
RECORDSIZE (45 124) -
RECORDS (3000 200) -
KEYS (28 0) -
REUSE -
FREESPACE (10 10) -
SHR(2) -
CISZ(2048) -
VOL(DOSRES SYSWK1)) -
DATA(NAME(CICS.LCD.@D@)) -
INDEX (NAME (CICS.LCD.@I@)) -
CATALOG(VSESP.USER.CATALOG)
/* */
DEF
CLUSTER(NAME(CICS.RSD) -
INDEXED -
RECORDSIZE (2000 2000) -
RECORDS (250 100) -
KEYS (22 0) -
FREESPACE (20 20) -
SHR(2) -
VOL(DOSRES SYSWK1)) -
DATA(NAME(CICS.RSD.DATA)) -
INDEX (NAME (CICS.RSD.INDEX)) -
CATALOG(VSESP.USER.CATALOG)
/*
// IF
$RC > 0 THEN
CANCEL
*
*
INITIALIZE THE CICSICCF RESTART DATA SET
*
//
DLBL DFHRSD,'CICS.RSD',0,VSAM,CAT=VSESPUC
//
EXEC IDCAMS,SIZE=AUTO
REPRO INFILE -
(SYSIPT -
ENVIRONMENT -
(RECORDFORMAT (FIXUNB) -
BLOCKSIZE(80) -
RECORDSIZE (80))) -
OUTFILE (DFHRSD)
ACTL
0001
/*
//
DLBL DFHGCD,'CICS.GCD',0,VSAM,CAT=VSESPUC
//
EXEC IDCAMS,SIZE=AUTO INIT GCD FILE
REPRO INFILE -
(SYSIPT -
ENVIRONMENT -
(RECORDFORMAT(FIXUNB) -
BLOCKSIZE(80) -
RECORDSIZE(80))) -
OUTFILE(DFHGCD)
/*
//
DLBL DFHLCD,'CICS.LCD',0,VSAM,CAT=VSESPUC
//
LIBDEF *,SEARCH=(PRD2.CONFIG,PRD2.SCEEBASE,PRD1.BASE)
//
EXEC DFHCCUTL,SIZE=300K INITIALIZE CICS CATALOG
/*
//
SETPARM XNCPU=' '
//
EXEC PROC=$COMVAR,XNCPU
//
EXEC DTRSETP,PARM='CPUVAR&XNCPU'
SET XPARTF2='F2'
SET XMODEF2='COLD'
SET XUSEF2='CI'
SET XAPPLF2='DBDCCICS'
/*
//
PWR R RDR,CICSICCF
/&
* $$
EOJ
The CICS/TS catalogs contain
information that is required for restart purposes. The global catalog
contains all resource definitions that have been installed, while the
local catalog contains information relating to the various CICS
domains. Be sure when deleting and redefining the catalogs to include
the step to initialize them.
This takes some of the
operator interaction out of cycling or cold starting CICS and after you
know this procedure works, you can go home and not worry about a phone
call in the middle of the night (this time!) You could probably even
automate this even further by placing a DTRIATTN step at the beginning
with MSG CICSICCF,DATA=CEMT P SHUT to begin the shutdown procedure.
So, in
order to really, really, cold start CICS, don't forget to reinitialize
the Global Catalog, the Local Catalog, AND the Restart Data Set.
|