I am not directly involved with DB2, but am directly involved with z/OS
DR recovery, which includes DB2.
There are good reasons why there are DB2-specific utilities for backing
up and restoring DB2 table spaces. There are consistency requirements
with DB2's knowledge of the table space, including the archive logs,
potential consistency issues with other table spaces and within the
table space itself. Maintaining these relationships are all well beyond
the capabilities of a utility like DFSMSdss that is either
volume-centric or dataset-centric.
AFAIK the only sanctioned usage of DFSMSdss or any equivalent utility to
backup DB2 data is to put DB2 in "suspend" mode to inhibit all updates,
take full-volume dumps of all volumes containing any DB2 datasets, and
then "resume" DB2 (requires flashcopy to keep suspend brief). ALL these
volumes would have to be restored as a group with DB2 down (as in a full
system restore scenario during DR).
I believe the DBAs have utilities that simplify the generation of
image-copy jobs, and virtual tape eliminates their need to worry about
manual tape stacking, which admittedly was a REAL pain on real tape.
Our DBAs are pretty experienced and I have never heard them talk about
recovery of individual table spaces except via image copy backups and
the archive logs.
JC Ewing
SUBSCRIBE IBM-MAIN Neo wrote:
We are trying to use DFSMSdss that provides dump and restore services that
can be used on DB2 data sets.
(We are trying to avoid coding of image copies or table unloads that will take
up coding effort and a lot of space to hold the data. We want the tapes to be
used efficiently and so to pack many tables into one tape.)
Currently we've only dumped tablespace, indexspace from the DB(dump &
restore jobs RC=0). After restore job complete, we got DB2 -904 error when
we want to access those table spaces.(-904 means the table space is no
longer available.)
So my questions are: Does DFSMSdss dump/restore equire any other
components of the table space be dumped and restored together to keep db2
happy?
Anything else I've missed? What's the exact process if we want to use
DFSMSdss to dump/restore DB2 data sets?
Any ideas, thanks in advance!
The dump job:
//S01 EXEC PGM=IKJEFT01,DYNAMNBR=20
//STEPLIB DD DSN=SYS1.DSNDB2T.RUNLIB.LOAD,DISP=SHR
// DD DSN=SYS1.DSNDB2T.SDSNLOAD,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(DB2T)
-STO DB(xxxDDV1) SPACENAM(xxxSCCO)
-STO DB(xxxDDV1) SPACENAM(xxxSCCR)
-STO DB(xxxDDV1) SPACENAM(xxxXCCO1)
-STO DB(xxxDDV1) SPACENAM(xxxXCCO2)
-STO DB(xxxDDV1) SPACENAM(xxxXCCR1)
-STO DB(xxxDDV1) SPACENAM(xxxXCCR2)
END
//*****************************************************
//DUMPPAR EXEC PGM=ADRDSSU
//SYSPRINT DD SYSOUT=*
//DUMPDS DD DISP=(NEW,CATLG,DELETE),
// DSN=Txxx.F.DV.ARCHIVE.VSAM.BACKUP,
// UNIT=(3390,59),SPACE=(CYL,(20,300),RLSE)
//SYSIN DD *
DUMP DATASET( -
INCLUDE( -
TxxxDB2T.DSNDB*.xxxDDV1.xxxSCCO.I0001.A001, -
TxxxDB2T.DSNDBC.xxxDDV1.xxxXCCO1.I0001.A001, -
TxxxDB2T.DSNDBC.xxxDDV1.xxxXCCO2.I0001.A001, -
TxxxDB2T.DSNDBC.xxxDDV1.xxxXCCR1.I0001.A001, -
TxxxDB2T.DSNDBC.xxxDDV1.xxxXCCR2.I0001.A001, -
TxxxDB2T.DSNDB*.xxxDDV1.xxxSCCR.I0001.A001 -
)) -
OUTDDNAME(DUMPDS)
//*****************************************************
//S02 EXEC PGM=IKJEFT01,DYNAMNBR=20
//STEPLIB DD DSN=SYS1.DSNDB2T.RUNLIB.LOAD,DISP=SHR
// DD DSN=SYS1.DSNDB2T.SDSNLOAD,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(DB2T)
-STA DB(xxxDDV1) SPACENAM(xxxSCCO) ACCESS(RW)
-STA DB(xxxDDV1) SPACENAM(xxxSCCR) ACCESS(RW)
-STA DB(xxxDDV1) SPACENAM(xxxXCCO1) ACCESS(RW)
-STA DB(xxxDDV1) SPACENAM(xxxXCCO2) ACCESS(RW)
-STA DB(xxxDDV1) SPACENAM(xxxXCCR1) ACCESS(RW)
-STA DB(xxxDDV1) SPACENAM(xxxXCCR2) ACCESS(RW)
END
The Restore job:
//S01 EXEC PGM=IKJEFT01,DYNAMNBR=20
//STEPLIB DD DSN=SYS1.DSNDB2T.RUNLIB.LOAD,DISP=SHR
// DD DSN=SYS1.DSNDB2T.SDSNLOAD,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(DB2T)
-STO DB(xxxDDV1) SPACENAM(xxxSCCO)
-STO DB(xxxDDV1) SPACENAM(xxxSCCR)
-STO DB(xxxDDV1) SPACENAM(xxxXCCO1)
-STO DB(xxxDDV1) SPACENAM(xxxXCCO2)
-STO DB(xxxDDV1) SPACENAM(xxxXCCR1)
-STO DB(xxxDDV1) SPACENAM(xxxXCCR2)
END
//*****************************************************
//RESTPAR EXEC PGM=ADRDSSU,COND=(04,LT)
//SYSPRINT DD SYSOUT=*
//DUMPDS DD DISP=SHR,DSN=Txxx.F.DV.ARCHIVE.VSAM.BACKUP
//SYSIN DD *
RESTORE DATASET( -
INCLUDE( ** -
)) -
INDD(DUMPDS) -
REPLACE -
CATALOG -
TGTGDS(ACTIVE)
//*
//S02 EXEC PGM=IKJEFT01,DYNAMNBR=20
//STEPLIB DD DSN=SYS1.DSNDB2T.RUNLIB.LOAD,DISP=SHR
// DD DSN=SYS1.DSNDB2T.SDSNLOAD,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(DB2T)
-STA DB(xxxDDV1) SPACENAM(xxxSCCO) ACCESS(RW)
-STA DB(xxxDDV1) SPACENAM(xxxSCCR) ACCESS(RW)
-STA DB(xxxDDV1) SPACENAM(xxxXCCO1) ACCESS(RW)
-STA DB(xxxDDV1) SPACENAM(xxxXCCO2) ACCESS(RW)
-STA DB(xxxDDV1) SPACENAM(xxxXCCR1) ACCESS(RW)
-STA DB(xxxDDV1) SPACENAM(xxxXCCR2) ACCESS(RW)
END
--------------------------------------------
--
Joel C. Ewing, Fort Smith, AR [email protected]
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html