Release: 12.5 and above
Component: Disk-Backup and Restore-for z/OS
How to Recover a Datacom Files from a Backup
A backup of the Datacom Files restored into a new DBID can be used to research previously deleted DSNINDEX and ARCHVOL records for recovery. If the ARCHVOLs still exist, the missing data sets can be restored using the backup. If restore is not required, the ARCHVOLs can be used with REBUILD to bring back the missing DSNINDEX records into the production Files.
This process is only recommended if a broad range of data sets have been lost. Single data sets or ARCHVOLS should continue to use the Rebuild functionality or the Datacom recovery processing and rebuild the entries using Datacom logs.
Notice that you can have lost data sets which you will never recover. All depends on the situation, it is an eventuality to consider.
You need to have the following information by you or see how to collect them below:
Several points can help:
Can be used to find the current CA Disk load libraries and parmlib.
Locate the following DDs:
The DBLIST utility is used to show which DBID is currently used and which are free. Use previous library names found in the DMSAR job to modify the sample JCL in your CA Disk CCUWJCL library.
Notice that you will also get the location where the ADSDC650 is.
Result is as follow:
ADSDC021 4325 ADSDC650 LOADED FROM DISKR125.CCUWLOAD ON TSOxxx
ADSDC021 4326 SYSLIB ALLOCATED TO DISKR125.CCUWLOAD ON TSOxxx
ADSDC021 4334 CONTROL TABLE ADSDC650 CURRENT CONTENTS:
ADSDC021 4335 DSN=DISKR125.FILES DBID=660 - STATUS: CONVERSION COMPLETE
ADSDC021 4335 DSN=DISK120.FILES.FILE DBID=652 - STATUS: CONVERSION COMPLETE
ADSDC021 4335 DSN=FDBFDS.FILES DBID=655 - STATUS: CONVERSION COMPLETE
Several ways to get its location:
JES2 JCL located in SYS1.PROCLIB
Any production Ca Disk job output if known
HLQ found in DMSAR for CCUWLOAD and try to locate the SMP/E CCUWPROC library or production one.
You will have to run the following JCL in sequence:
DBDEF
DBINIT
DBLOAD
DBADD
ISPF Rexx
Verify your jobs have updated the sample JCL with the new DBID number.
You must have OPERATIONS level or STORAGE ADMIN to perform these jobs or security violation will occur
This job defines the DBID to Datacom and create a base GDG.
In case of rerun, first delete manually the GDG base created and second add DELETE as parm to the exec as follow:
// DELOPT=',DELETE',
The Datacom DDUPDATE step will create also a backup of its generated contents into the library specified by
// P='DISKR125.CCUWJCL',
Nb: Take care to verify the proc use first and then that you use the new decided DBID number. If needed, modify the PROC you are pointing using the
//SAMS JCLLIB ORDER=DISKR125.CCUWPROC
to match customer names. Try as much as possible to overwrite all using the JCL instead of modifying the PROC used or create a new one and use the new PROC name.
This job allocates and defines the Datacom libraries for the new FILES.
Take care to specify a correct space to recover the data using the actual Datacom FILES allocation information.
// DMSSPACE='(CYL,(40,25))',
// IXXSPACE='(CYL,(10,10))',
Doc link for space estimation if needed:
NB: In case of restarting from scratch, run DBDELETE
This job reloads the Backup Datacom FILES data into the new allocated Datacom Files.
Verify that the DD DATAIN points to the backup copy to restore.
//DATAIN DD DISP=(OLD,KEEP),DSN=DISKR125.DMS650.BACKUP.G01020V00
Change the DBID 650 in all places of the SYSIN (not change anything else) to match your new DBID number.
This job defines the Backup Datacom FILES data into CA Disk ADSDC650 load module.
The CA Disk Files data set name associated is to be define by you[MM1] .
A tip, add the DBID number into it so the customer knows which FILES it is pointing to.
/* REXX */
PANEL="DISKR125.CCUWPNL0"
MSG="DISKR125.CCUWMSG0"
SKEL="DISKR125.CCUWSKL0"
PRM0="DISKR125.USERPARM"
PRM1="DISKR125.CCUWPARM"
LOAD="DISKR125.CCUWLINK"
LOAD1="DISKR125.CCUWLOAD"
LOAD2="AD14.CUSLIB"
LOAD3="AD14.CAAXLOAD"
ADDRESS TSO
"ALLOCATE FILE("FILES") DA("DISKR125.FILES.DBxxx") SHR REUSE"
"ALLOCATE FILE("PARMLIB") DA('"PRM0"','"PRM1"') SHR REUSE"
"ALLOCATE FILE("DMSOSLIB") DA('"LOAD"','"LOAD1"','"LOAD2"','"LOAD3"')
SHR REUSE"
ADDRESS ISPEXEC
"LIBDEF ISPPLIB DATASET ID('"PANEL"')"
"LIBDEF ISPMLIB DATASET ID('"MSG"')"
"LIBDEF ISPSLIB DATASET ID('"SKEL"')"
"LIBDEF ISPLLIB DATASET ID('"LOAD"','"LOAD1"','"LOAD2"','"LOAD3"')"
"SELECT PGM(ADSSP202) PARM(ADSSP044) NEWAPPL(DMSB) PASSLIB"
"LIBDEF ISPPLIB"
"LIBDEF ISPMLIB"
"LIBDEF ISPSLIB"
"LIBDEF ISPLLIB"
ADDRESS TSO
"FREE FILE("FILES" "PARMLIB" "DMSOSLIB")"
EXIT
Verify the result by running:
These 2 jobs will permit you to verify that the new DBID is correctly associated with the new FILES data set name and that the data is correctly reloaded into it.
As soon as the recovered Datacom Files is no longer needed, it can be cleaned up by following these steps:
To verify all is cleanup correctly run these jobs:
To do a full Datacom database Files recovery, follow the documentation. Here is the link:
DBRECOV - Forward Recovery After Loading or Rebuilding the Index