Recovering a PHIDAM database in a non-data-sharing environment
The following steps are an example of a full forward recovery of a PHIDAM database that has two partitions and a partitioned secondary index (PSINDEX).
The database uses OSAM for its database data sets; however, database data sets can be OSAM or VSAM. Primary and secondary indexes are always VSAM. The database is registered to DBRC and operates in an online environment. The database does not participate in data sharing. Because the database does not participate in data sharing, an accumulation of the database changes recorded in the logs is not required.
To recover a PHIDAM database:
Procedure
The following code shows an example of the GENJCL.RECOV command that generates the JCL to recover a PHIDAM database.
//DBRC EXEC PGM=DSPURX00
//STEPLIB DD DISP=SHR,DSN=IMS.SDFSRESL
// DD DISP=SHR,DSN=IMS.MDALIB
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//IMS DD DISP=SHR,DSN=IMS.DBDLIB
//JCLPDS DD DISP=SHR,DSN=IMS.PROCLIB
//JCLOUT DD DISP=SHR,DSN=JOUKO4.HALDB.CNTL(RECOVOUT)
//JCLOUTS DD SYSOUT=*
//SYSIN DD *
GENJCL.RECOV NOJOB DBD(NORDDB) MEMBER(RECOVJCL)
/*
The following code shows the JCL required for recovering a PHIDAM database that has two partitions:
//RCV1 EXEC PGM=DFSRRC00,
// PARM='UDR,DFSURDB0,NORDDB,,,,,,,,,,,Y,,,,,,,,'
//STEPLIB DD DISP=SHR,DSN=IMS.SDFSRESL
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//IMS DD DISP=SHR,DSN=IMS.DBDLIB
//NORDDB1A DD DSN=IMSPSA.IM0A.NORDDB.A00001,
// DISP=OLD,
// DCB=BUFNO=10
//DFSUDUMP DD DSN=JOUKO3.IMCOPY2.NORDDB.C01,
// DISP=OLD,DCB=BUFNO=10
//DFSVDUMP DD DUMMY
//DFSUCUM DD DUMMY
//DFSULOG DD DUMMY
//DFSVSAMP DD DISP=SHR,
// DSN=IMS.PROCLIB(DFSVSMDB)
//SYSIN DD *
S NORDDB NORDDB1A
/*
//RCV2 EXEC PGM=DFSRRC00,
// PARM='UDR,DFSURDB0,NORDDB,,,,,,,,,,,Y,,,,,,,,'
//STEPLIB DD DISP=SHR,DSN=IMS.SDFSRESL
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//IMS DD DISP=SHR,DSN=IMS.DBDLIB
//NORDDB2A DD DSN=IMSPSA.IM0A.NORDDB.A00002,
// DISP=OLD,
// DCB=BUFNO=10
//DFSUDUMP DD DSN=IMSPSA.IMCOPY.NORDDB2,
// DISP=OLD,DCB=BUFNO=10
//DFSVDUMP DD DUMMY
//DFSUCUM DD DUMMY
//DFSULOG DD DUMMY
//DFSVSAMP DD DISP=SHR,
// DSN=IMS.PROCLIB(DFSVSMDB)
//SYSIN DD *
S NORDDB NORDDB2A
/*
The following code shows an example of the GENJCL.RECOV command that generates the JCL to recover a PSINDEX.
//DBRC EXEC PGM=DSPURX00
//STEPLIB DD DISP=SHR,DSN=IMS.SDFSRESL
// DD DISP=SHR,DSN=IMS.MDALIB
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//IMS DD DISP=SHR,DSN=IMS.DBDLIB
//JCLPDS DD DISP=SHR,DSN=IMS.PROCLIB
//JCLOUT DD DISP=SHR,DSN=JOUKO4.HALDB.CNTL(RECOVOU3)
//JCLOUTS DD SYSOUT=*
//SYSIN DD *
GENJCL.RECOV DBD(CUSTSI) ONEJOB LIST MEMBER(RECOVJCL)
The following code shows the JCL for recovering a PSINDEX that has two partitions:
//IVPGNJCL JOB (999,POK),
// 'JJ',
// CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1),
// REGION=64M
/* JOBPARM SYSAFF=SC42
//RCV1 EXEC PGM=DFSRRC00,
// PARM='UDR,DFSURDB0,CUSTSI,,,,,,,,,,,Y,,,,,,,,'
//STEPLIB DD DISP=SHR,DSN=IMS.SDFSRESL
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//IMS DD DISP=SHR,DSN=IMS.DBDLIB
//CUSTSI1A DD DSN=IMSPSA.IM0A.CUSTSI.A00001,
// DISP=OLD
//DFSUDUMP DD DSN=IMSPSA.IC1.CUSTSI1.CUSTSI1A.D03073.T143654,
// DISP=OLD,DCB=BUFNO=10
//DFSVDUMP DD DUMMY
//DFSUCUM DD DUMMY
//DFSULOG DD DUMMY
//DFSVSAMP DD DISP=SHR,
// DSN=IMS.PROCLIB(DFSVSMDB)
//SYSIN DD *
S CUSTSI CUSTSI1A
/*
//RCV2 EXEC PGM=DFSRRC00,
// PARM='UDR,DFSURDB0,CUSTSI,,,,,,,,,,,Y,,,,,,,,'
//STEPLIB DD DISP=SHR,DSN=IMS.SDFSRESL
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//IMS DD DISP=SHR,DSN=IMS.DBDLIB
//CUSTSI2A DD DSN=IMSPSA.IM0A.CUSTSI.A00002,
// DISP=OLD
//DFSUDUMP DD DSN=IMSPSA.IC1.CUSTSI2.CUSTSI2A.D03073.T143654,
// DISP=OLD,DCB=BUFNO=10
//DFSVDUMP DD DUMMY
//DFSUCUM DD DUMMY
//DFSULOG DD DUMMY
//DFSVSAMP DD DISP=SHR,
// DSN=IMS.PROCLIB(DFSVSMDB)
//SYSIN DD *
S CUSTSI CUSTSI2A
/*