![]() |
![]() |
The disaster recovery plan file contains the information required for recovery of a TSM server to the point in time represented by the last database backup operation that is completed before the PREPARE command is issued. The disaster recovery plan file is organized into stanzas (see Table 31).
You can use an editor or a locally written procedure to break out the recovery plan file stanzas into multiple files. For example, if you have purchased the REXX program product, you could modify and use the REXX EXEC, ANRPLANX, that is shipped with DRM in the ASAMPLIB data set. Figure 75 shows an example of the REXX EXEC that you can modify for your local installation.
Figure 75. Example of a REXX EXEC to Break Out a Disaster Recovery Plan File
+--------------------------------------------------------------------------------+
|/*REXX*/ |
|/* Explode a recovery plan file into separate files (macros, JCL, */ |
|/* and volume history file). */ |
|/* Invoke with: */ |
|/* EXEC anrplanx recoveryplandatasetname outdsnprefix */ |
| |
|arg RPDSN OUTDSNPREFIX . |
| |
|STANZAS =, |
| 'RECOVERY.DRMODE 255', |
| 'RECOVERY.NMODE 255', |
| 'VOLUMES.REQUIRED 132', |
+--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+
|'DEVICES.REQUIRED 132', |
| 'CFGFILES.CREATE 80', |
| 'LOGDBVOL.CREATE 80', |
| 'LOGDBVOL.INSTALL 80', |
| 'RESTORE.DB 80', |
| 'START.SERVER 80', |
| 'COPYVOL.AVAIL 255', |
| 'COPYVOL.DESTR 255', |
| 'PRIMVOL.DESTR 255', |
| 'PRIMVOL.REPLACEC 80', |
| 'PRIMVOL.REPLACE 255', |
| 'STGPOOL.RESTORE 255', |
| 'INSTR.GENERAL 132', |
| 'INSTR.OFFSITE 132', |
| 'INSTR.INSTALL 132', |
| 'INSTR.DATABASE 132', |
| 'INSTR.STGPOOL 132', |
| 'VOLHIST.FILE 1024', |
| 'DEVCONF.FILE 1024', |
| 'SERVOPT.FILE 255' |
| |
|'FREE FI(INDD)' |
|'ALLOC DA('RPDSN') F(INDD) SHR REUSE' |
|OUTDSN = ' |
|do forever |
| 'EXECIO 1 DISKR INDD (STEM ALINE.' |
| if RC = 0 then do |
| parse var ALINE.1 WORD1 WORD2 . |
| select |
| when WORD1 = 'begin', |
| & (wordpos(WORD2,STANZAS) > 0) then do |
| if OUTDSNPREFIX <> '' then, |
| OUTDSN = 'OUTDSNPREFIX'.'WORD2' |
| else OUTDSN = WORD2 |
| LRECL = word(STANZAS,wordpos(WORD2,STANZAS)+1) |
| 'FREE FI(OUTDD)' |
| 'DELETE 'OUTDSN |
| 'ALLOC DA('OUTDSN') F(OUTDD) NEW REUSE RECFM(V) LRECL('LRECL')' |
| say 'Creating file 'OUTDSN |
| end |
| when WORD1 = 'end', |
| & (wordpos(WORD2,STANZAS) > 0) then do |
| 'EXECIO 0 DISKW OUTDD (FINIS' |
| 'FREE FI(OUTDD)' |
| OUTDSN = ' |
| end |
| when OUTDSN <> '' then do |
| 'EXECIO 1 DISKW OUTDD (STEM ALINE.' |
| end |
| otherwise nop |
| end /* select */ |
| end /* do */ |
| else leave |
| |
|end /* do */ |
| |
|'EXECIO 0 DISKR INDD (FINIS' |
|'EXECIO 0 DISKW OUTDD (FINIS' |
|'FREE FI(INDD OUTDD)' |
+--------------------------------------------------------------------------------+
Figure 76 shows an example of local modifications made to ANRPLANX. This modified version inserts JOB and STEPLIB cards into the JCL stanzas.
Figure 76. Example of a Locally Modified REXX EXEC
+--------------------------------------------------------------------------------+
|/*REXX*/ |
|/* Explode a recovery plan file into separate files (macros, JCL, */ |
|/* and volume history file). */ |
|/* Invoke with: */ |
|/* exec planexpl.rex recoveryplandatasetname outdsnprefix */ |
| |
|arg RPDSN OUTDSNPREFIX . |
| |
|STANZAS =, |
| 'RECOVERY.DRMODE 255', |
| 'RECOVERY.NMODE 255', |
| 'VOLUMES.REQUIRED 132', |
| 'DEVICES.REQUIRED 132', |
| 'CFGFILES.CREATE 80', |
| 'LOGDBVOL.CREATE 80', |
| 'LOGDBVOL.INSTALL 80', |
| 'RESTORE.DB 80', |
| 'START.SERVER 80', |
| 'COPYVOL.AVAIL 255', |
| 'COPYVOL.DESTR 255', |
| 'PRIMVOL.DESTR 255', |
| 'PRIMVOL.REPLACEC 80', |
| 'PRIMVOL.REPLACE 255', |
| 'STGPOOL.RESTORE 255', |
| 'INSTR.GENERAL 132', |
| 'INSTR.OFFSITE 132', |
| 'INSTR.INSTALL 132', |
| 'INSTR.DATABASE 132', |
| 'INSTR.STGPOOL 132', |
| 'VOLHIST.FILE 1024', |
| 'DEVCONF.FILE 1024', |
| 'SERVOPT.FILE 255' |
| |
|'FREE FI(INDD)' |
|'ALLOC DA('RPDSN'') F(INDD) SHR REUSE'OUTDSN = ' |
|do forever |
| 'EXECIO 1 DISKR INDD (STEM ALINE.' |
| if RC = 0 then do |
| parse var ALINE.1 WORD1 WORD2 THEREST |
| select |
| when WORD1 = 'begin', |
| & (wordpos(WORD2,STANZAS) > 0) then do |
| if OUTDSNPREFIX <> '' then, |
| OUTDSN = 'OUTDSNPREFIX'.'WORD2' |
| else OUTDSN = WORD2 |
| LRECL = word(STANZAS,wordpos(WORD2,STANZAS)+1) |
| 'FREE FI(OUTDD)' |
| 'DELETE 'OUTDSN |
| 'ALLOC DA('OUTDSN') F(OUTDD) NEW REUSE RECFM(F) LRECL('LREC |
| say 'Creating file 'OUTDSN |
| FIRSTLINE = YES |
| end |
| |
+--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+
| when WORD1 = 'end', |
| & (wordpos(WORD2,STANZAS) > 0) then do |
| 'EXECIO 0 DISKW OUTDD (FINIS' |
| 'FREE FI(OUTDD)' |
| OUTDSN = ' |
| end |
| when OUTDSN <> '' then do |
| /* Forget blank first line of stanzas.(JCL,EXEC grief) */ |
| if FIRSTLINE = YES then FIRSTLINE = NO |
| else do |
| /* Add local parameters to job cards. */ |
| if substr(WORD1,1,2) = '//', |
| & WORD2 = 'JOB', |
| & THEREST = '' then do |
| ALINE.1 =, |
| WORD1' 'WORD2' MSGLEVEL=(1,1),MSGCLASS=H,CLASS=A,TIME=1440,REGION=128M' |
| end |
| /* Add local steplib for server. */ |
| if WORD1 = '//OPT', |
| & WORD2 = 'DD' then do |
| TEMP = ALINE.1 |
| ALINE.1 =, |
| '//STEPLIB DD DSN=SYSX.LINKLIB,DISP=SHR' |
| 'EXECIO 1 DISKW OUTDD (STEM ALINE.' |
| ALINE.1 = TEMP |
| end |
| /* Write out the stanza line read in. */ |
| 'EXECIO 1 DISKW OUTDD (STEM ALINE.' |
| end |
| end |
| otherwise nop |
| end /* select */ |
| end /* do */ |
| else leave |
|end /* do */ |
| |
|'EXECIO 0 DISKR INDD (FINIS' |
|'EXECIO 0 DISKW OUTDD (FINIS' |
|'FREE FI(INDD OUTDD)' |
+--------------------------------------------------------------------------------+
The disaster recovery plan is divided into the following types of stanzas:
Table 31. Administrative Tasks Associated with the Disaster Recovery Plan File
Stanza Name | Action during Setup or Periodic Updates | Recommended Action during Routine Processing | Action during Disaster Recovery |
---|---|---|---|
| |||
PLANFILE.DESCRIP | None | None | None |
PLANFILE.CONTENTS | None | None | None |
SERVER.REQUIRE | None | None | None |
INSTR.GENERAL | Optionally edit the source file associated with the stanza | None | None |
INSTR.OFFSITE | Optionally edit the source file associated with the stanza | None | None |
INSTR.INSTALL | Optionally edit the source file associated with the stanza | None | None |
INSTR.DATABASE | Optionally edit the source file associated with the stanza | None | None |
INSTR.STGPOOL | Optionally edit the source file associated with the stanza | None | None |
VOLUMES.REQUIRED | None | MOVE DRMEDIA | None |
DEVICES.REQUIRED | None | None | None |
RECOVERY.DRMODE REXX exec | None | None | Optionally edit/execute |
RECOVERY.NMODE REXX exec | None | None | Optionally edit/execute |
CFGFILES.CREATE jcl | None | None | Optionally edit/execute |
LOGDBVOL.CREATE jcl | None | None | Optionally edit/execute |
LOGDBVOL.INSTALL jcl | None | None | Optionally edit/execute |
RESTORE.DB jcl | None | None | Optionally edit/execute |
START.SERVER jcl | None | None | Optionally edit/execute |
COPYVOL.AVAIL macro | None | MOVE DRMEDIA | Optionally edit/execute |
COPYVOL.DESTR macro | None | MOVE DRMEDIA | Optionally edit/execute |
PRIMVOL.DESTR macro | None | None | Optionally edit/execute |
PRIMVOL.REPLACEC jcl | None | None | Optionally edit/execute |
PRIMVOL.REPLACE macro | None | None | Optionally edit/execute |
STGPOOL.RESTORE macro | None | None | Optionally edit/execute |
VOLHIST.FILE configuration file | None | None | Optionally copy |
DEVCONF.FILE configuration file | None | None | Optionally edit/copy |
SERVOPT.FILE configuration file | None | None | Optionally edit/copy |
This section contains an example of a disaster recovery plan file and information about each stanza. The disaster recovery plan file has been divided into separate figures that correlate to the descriptions of specific stanzas within each figure.
Figure 101 shows the SMS versions of some of the stanzas.
PLANFILE.DESCRIP
Identifies the server for this recovery plan, and the date and time that the recovery plan is created.
Figure 77. Description Stanza
+--------------------------------------------------------------------------------+
|begin PLANFILE.DESCRIP |
| |
|Recovery Plan for Server DSM |
|Created by DRM PREPARE on 09/30/2000 12:01:54 |
|Server for MVS - Version 4, Release 1, Level x |
| |
|end PLANFILE.DESCRIP |
+--------------------------------------------------------------------------------+
PLANFILE.CONTENTS
Provides a list of the stanzas in this recovery plan.
Figure 78. Table of Contents Stanza
+--------------------------------------------------------------------------------+
|begin PLANFILE.CONTENTS |
| |
|PLANFILE.DESCRIP |
|PLANFILE.CONTENTS |
| |
|Server Recovery Stanzas: |
| SERVER.REQUIRE |
| INSTR.GENERAL |
| INSTR.OFFSITE |
| VOLUMES.REQUIRED |
| DEVICES.REQUIRED |
| RECOVERY.DRMODE exec |
| RECOVERY.NMODE exec |
| CFGFILES.CREATE jcl |
| LOGDBVOL.CREATE jcl |
| LOGDBVOL.INSTALL jcl |
| RESTORE.DB jcl |
| START.SERVER jcl |
| COPYVOL.AVAIL macro |
| COPYVOL.DESTR macro |
| PRIMVOL.DESTR macro |
| PRIMVOL.REPLACEC jcl |
| PRIMVOL.REPLACE macro |
| STGPOOL.RESTORE macro |
| VOLHIST.FILE |
| DEVCONF.FILE |
| SERVOPT.FILE |
| LICENSE.INFO |
| |
|end PLANFILE.CONTENTS |
+--------------------------------------------------------------------------------+
SERVER.REQUIRE
Identifies the database and recovery log storage requirements for this server. At the recovery site, you will need a replacement server machine that has enough disk space to install the database and recovery log volumes.
Figure 79. Server Requirements Stanza
+--------------------------------------------------------------------------------+
|begin SERVER.REQUIRE |
| |
|Database Requirements Summary: |
| |
| Available Space (MB): 20 |
| Assigned Capacity (MB): 20 |
| Pct. Utilization: 2.7 |
|Maximum Pct. Utilization: 2.7 |
| Physical Volumes: 2 |
| |
|Recovery Log Requirements Summary: |
| |
| Available Space (MB): 20 |
| Assigned Capacity (MB): 20 |
| Pct. Utilization: 6.2 |
|Maximum Pct. Utilization: 6.2 |
| Physical Volumes: 2 |
| |
|end SERVER.REQUIRE |
+--------------------------------------------------------------------------------+
INSTR.GENERAL
Identifies the site-specific instructions that the server administrator has manually edited in the source text file identified by prefix.INSTR.GENERAL. It is recommended that the instructions include the overall recovery strategy, the key contact names, an overview of key applications backed up by this server, and so on.
For more information on editing the text source file, see Specifying Recovery Instructions for Your Site.
Figure 80. General Recovery Instructions Stanza
+--------------------------------------------------------------------------------+
|begin INSTR.GENERAL |
| |
| This server contains the backup and archive data for XYZ corporation |
| accounts receivable system. It also is used by various end users in the |
| finance and materials distribution organizations. |
| The storage administrator in charge of this server is Jane Doe 444-561-3406. |
| If a disaster is declared, here is the outline of steps that must be done. |
| 1. Determine the recovery site. Our alternate recovery site vendor is IBM |
| BRS in Tampa, Florida, U.S.A. 213-884-5647. |
| 2. Get the list of required recovery volumes from this recovery plan file |
| and contact our offsite vault so that they can start pulling the |
| volumes for transfer to the recovery site. |
| |
|end INSTR.GENERAL |
+--------------------------------------------------------------------------------+
INSTR.OFFSITE
Identifies the site-specific instructions that the server administrator has manually edited to the source text file identified by prefix.INSTR.OFFSITE. It is recommended that the instructions include the name and location of the offsite vault and how to contact the vault.
For more information on editing the text source file, see Specifying Recovery Instructions for Your Site.
Figure 81. Offsite Recovery Instructions Stanza
+--------------------------------------------------------------------------------+
|begin INSTR.OFFSITE |
| |
| Our offsite vault location is IRONVAULT. |
| Their telephone number is 514-555-2341. Our account rep is Joe Smith. |
| Our account number is 1239992. Their address is ... |
| Here is a map to their warehouse ... |
| Our courier is ... |
| |
|end INSTR.OFFSITE |
+--------------------------------------------------------------------------------+
INSTR.INSTALL
Identifies the site-specific instructions that the server administrator has manually edited to the source text file identified by prefix.INSTR.INSTALL. It is recommended that the instructions include where the TSM server and TSM administrative client install volumes are located.
For more information on editing the text source file, see Specifying Recovery Instructions for Your Site.
INSTR.DATABASE
Identifies the site-specific instructions that the server administrator has manually edited to the source text file identified by prefix.INSTR.DATABASE. Information in this stanza should include how to prepare for the TSM database recovery. For example, if the backup device is a 3494 library, you may want to provide instructions on how to initialize the library or on how to check in the backup volumes to the library.
For more information on editing the text source file, see Specifying Recovery Instructions for Your Site.
INSTR.STGPOOL
Identifies the site-specific instructions that the server administrator has manually edited to the source text file identified by prefix.INSTR.STGPOOL. It is recommended that the instructions include which applications are backed up in which copy storage pools.
For more information on editing the text source file, see Specifying Recovery Instructions for Your Site.
VOLUMES.REQUIRED
Provides a list of the database backup and copy storage pool volumes required to recover the TSM server. This list can include both virtual volumes and nonvirtual volumes. A database backup volume is included if it is part of the most recent database backup series. A copy storage pool volume is included if it is not empty and not marked destroyed. The location and device class names for the volumes are displayed.
If you are using a nonvirtual volume environment and issuing the MOVE DRMEDIA command for offsite recovery media management, a blank location field means that the volumes are onsite and available to the TSM server. This volume list can be used as the basis of periodic audits for the inventory of volumes at the courier and offsite vault. In the event of a disaster, the list is used to collect the required volumes before starting server recovery.
If you are using a virtual volume environment, the location field will contain the target server name.
Figure 82. Volume Stanza
+--------------------------------------------------------------------------------+
|begin VOLUMES.REQUIRED |
| |
|Volumes required for database restore |
| |
| Location = HsiaoVan |
| Device Class = LIB3494 |
| Volume Name = |
| DBTP02 |
| Location = IRONVAULT |
| Device Class = LIB3494 |
| Volume Name = |
| DBTP01 |
| |
|Volumes required for storage pool restore |
| |
| Location = HsiaoVan |
| Copy Storage Pool = CSTORAGEPF |
| Device Class = LIB3494 |
| Volume Name = |
| CSTP01 |
| |
| Location = IRONVAULT |
| Copy Storage Pool = CSTORAGEPF |
| Device Class = LIB3494 |
| Volume Name = |
| CSTP05 |
| |
| Location = |
| Copy Storage Pool = CSTORAGEPFA |
| Device Class = LIB3494 |
| Volume Name = |
| CSTP07 |
| |
|end VOLUMES.REQUIRED |
+--------------------------------------------------------------------------------+
DEVICES.REQUIRED
Provides details about the devices required to read the backup volumes.
Figure 83. Device Requirements Stanzas
+--------------------------------------------------------------------------------+
|begin DEVICES.REQUIRED |
| |
| Purpose: Description of the devices required to read the |
| volumes listed in the recovery volumes required stanza. |
| |
| Device Class Name: LIB3494 |
| Device Access Strategy: Sequential |
| Storage Pool Count: 2 |
| Device Type: CARTRIDGE |
| Unit Name: |
| Est/Max Capacity (MB): 4.0 |
| Mount Limit: 2 |
| Mount Wait (min): |
| Mount Retention (min): |
| Dataset Name Prefix: |
|Last Update by (administrator): M123456 |
| Last Update Date/Time: 08/12/2000 17:53:07 |
| |
|end DEVICES.REQUIRED |
+--------------------------------------------------------------------------------+
RECOVERY.DRMODE
Contains the REXX EXEC with the commands required to restore the database and restart the server. Use it as a guide and execute the commands as needed from a command line, or you can copy it to a file, modify it and the files that it references, and execute the script. The disaster recovery plan file issues commands using the administrative client. Ensure that the administrative client is established before running the REXX EXECs.
At the completion of these steps, client requests for file restores will be satisfied directly from the copy storage pool volumes.
This REXX EXEC will often need modification at the recovery site because of differences between the original and the replacement systems.
This REXX EXEC restores the server options, volume history, and device configuration information files.
This REXX EXEC invokes JCL contained in the following stanzas:
This REXX EXEC also invokes the TSM macros contained in the following stanzas:
To invoke this REXX EXEC, specify the following three positional parameters:
For example, to invoke this REXX EXEC using an administrator ID of DON, password of MOX, and server name of PRODTSM, enter the following command:
exec planprefix.RECOVERY.DRMODE don mox prodtsm
For more information, see the entry for the recovery plan prefix in Table 29.
Figure 84. Disaster Recovery Mode Stanza
+--------------------------------------------------------------------------------+
|begin RECOVERY.DRMODE exec |
| /*REXX*/ |
| parse ARG ID PASS SERV . |
| trace 'r' |
| /* Purpose: This REXX exec contains the steps required to recover the server */|
| /* to the point where client restore requests can be satisfied */|
| /* directly from available copy storage pool volumes. */|
| /* Note: This exec assumes that all volumes necessary for the restore have */|
| /* been retrieved from the vault and are available. This exec assumes */|
| /* the recovery environment is compatible (essentially the same) as the */|
| /* original. Any deviations require modification to this exec and the */|
| /* macros and execs that it runs. Alternatively, you can use this */|
| /* exec as a guide and manually execute each step. */|
| /* Restore server options, volume history, device configuration files. */ |
|'SUBMIT 'DRM.DSM1509.CFGFILES.CREATE' |
|pull PAUSE |
| |
| /* Create and format log and database files. */ |
|'SUBMIT 'DRM.DSM1509.LOGDBVOL.CREATE' |
|pull PAUSE |
| |
| /* Install the log and database files. */ |
|'SUBMIT 'DRM.DSM1509.LOGDBVOL.INSTALL' |
|pull PAUSE |
| |
| /* Restore the server database to latest version backed up per the */ |
| /* volume history file. */ |
|'SUBMIT 'DRM.DSM1509.RESTORE.DB' |
|pull PAUSE |
| |
| /* Start the server. */ |
|'SUBMIT 'DRM.DSM1509.START.SERVER' |
|pull PAUSE |
| |
| /* Tell Server these copy storage pool volumes are available for use. */ |
| /* Recovery Administrator: Remove from macro any volumes not obtained from */ |
| /* the vault. */ |
|'DSMADMC -id='ID' -pass='PASS' -serv='SERV' -ITEMCOMMIT', |
| '-OUTFILE='DRM.DSM1509.COPYVOL.AVAIL.LG', |
| 'macro 'DRM.DSM1509.COPYVOL.AVAIL' |
| |
| /* Volumes in this macro were not marked as 'offsite' at the time */ |
| /* PREPARE ran. They were likely destroyed in the disaster. */ |
| /* Recovery Administrator: Remove from macro any volumes not destroyed. */ |
|'DSMADMC -id='ID' -pass='PASS' -serv='SERV' -ITEMCOMMIT', |
| '-OUTFILE='DRM.DSM1509.COPYVOL.DESTR.LG', |
| 'macro 'DRM.DSM1509.COPYVOL.DESTR' |
| /* Mark primary storage pool volumes with ACCESS=DESTROYED. */ |
| /* Recovery administrator: Remove from macro any volumes not destroyed. */ |
|'DSMADMC -id='ID' -pass='PASS' -serv='SERV' -ITEMCOMMIT', |
| '-OUTFILE='DRM.DSM1509.PRIMVOL.DESTR.LG', |
| 'macro 'DRM.DSM1509.PRIMVOL.DESTR' |
| |
|end RECOVERY.DRMODE exec |
+--------------------------------------------------------------------------------+
RECOVERY.NMODE
Contains the REXX EXEC with the commands required to restore the server primary storage pools. Use it as a guide and execute the commands as needed from a command line, or you can copy it to a file, modify it and the files that it references, and execute it. The disaster recovery plan file issues commands using the administrative client. Ensure that the administrative client is established before running the REXX EXECs.
At the completion of these steps, client requests for file restores are satisfied from the primary storage pool volumes. Clients should also be able to resume file backup, archive, and migration functions.
This REXX EXEC will often need modification at the recovery site because of differences between the original and the replacement systems.
This REXX EXEC invokes JCL contained in the PRIMVOL.REPLACEC stanza.
This REXX EXEC also invokes the TSM macros contained in the PRIMVOL.REPLACE and STGPOOL.RESTORE stanzas.
To help understand the operations being performed in this script, see the TSM Backup and Recovery Scenarios in Administrator's Reference.
Figure 85. Normal Mode Stanza
+--------------------------------------------------------------------------------+
|begin RECOVERY.NMODE exec |
| /*REXX*/ |
| parse ARG ID PASS SERV . |
| trace 'r' |
| /* Purpose: This exec contains the steps required to recover the server */ |
| /* primary storage pools. This mode allows you to return the */ |
| /* copy storage pool volumes to the vault and to run the */ |
| /* server as normal. */ |
| /* Note: This exec assumes that all volumes necessary for the restore */ |
| /* have been retrieved from the vault and are available. This exec */ |
| /* assumes the recovery environment is compatible (essentially the */ |
| /* same) as the original. Any deviations require modification to */ |
| /* this exec and the macros and execs that it runs. Alternatively, */ |
| /* you can use this exec as a guide and manually execute each step. */ |
| |
| /* Format replacement volumes in the primary storage pools (if any */ |
| /* were implemented as DISK.) */ |
| /* Volumes must have different name than original. */ |
| /* Recovery administrator: Edit exec for your replacement volumes.*/ |
| |
|'SUBMIT 'DRM.DSM1509.PRIMVOL.REPLACEC' |
|pull PAUSE |
| |
| /* Define replacement volumes in the primary storage pools. */ |
| /* Volumes must have different name than original. */ |
| /* Recovery administrator: Edit macro for your replacement volumes. */ |
|'DSMADMC -id='ID' -pass='PASS' -serv='SERV' -ITEMCOMMIT', |
| '-OUTFILE='DRM.DSM1509.PRIMVOL.REPLACE.LG', |
| 'macro 'DRM.DSM1509.PRIMVOL.REPLACE' |
| |
| /* Restore the primary storage pools from the copy storage pools. */ |
| /* Recovery administrator: Remove from macro any storage pools you */ |
| /* do not want restored. */ |
|'DSMADMC -id='ID' -pass='PASS' -serv='SERV' -ITEMCOMMIT', |
| '-OUTFILE='DRM.DSM1509.STGPOOL.RESTORE.LG', |
| 'macro 'DRM.DSM1509.STGPOOL.RESTORE' |
| |
|end RECOVERY.NMODE exec |
+--------------------------------------------------------------------------------+
CFGFILES.CREATE
Contains JCL required to create the TSM server options file, volume history file, and device configuration file. You can use it as a guide, or you can copy it to a file, modify it, and execute it.
This JCL is invoked by the REXX EXEC RECOVERY.DRMODE.
Figure 86. Create Files Stanza
+--------------------------------------------------------------------------------+
|begin CFGFILES.CREATE jcl |
| |
|//DRMCFGFC JOB |
|//****************************************************************** |
|//* |
|//* Purpose: Create options, volume history, and device configuration. |
|//* Recovery Administrator: Run this to create the options, volhist, |
|//* and devconfig files. |
|//****************************************************************** |
|//* Create the server options file. |
|//****************************************************************** |
|//SERVOPTD EXEC PGM=IEHPROGM |
|//SYSPRINT DD SYSOUT=* |
|//SYSABEND DD DUMMY |
|//DD1 DD UNIT=3390,VOL=SER=DRMSC1,DISP=OLD |
|//SYSIN DD * |
| SCRATCH DSNAME=TIVSMSRV.DSM1509.DSMSERV.OPTX, C |
| VOL=3390=DRMSC1,PURGE |
| UNCATLG DSNAME=TIVSMSRV.DSM1509.DSMSERV.OPTX |
|/* |
|//SERVOPT EXEC PGM=IEBGENER |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD DUMMY |
|//SYSUT1 DD DSN=DRM.DSM1509.SERVOPT.FILE,DISP=SHR |
|//SYSUT2 DD DSN=TIVSMSRV.DSM1509.DSMSERV.OPTX,DISP=(,CATLG,DELETE), |
|// UNIT=3390,VOL=SER=DRMSC1, |
|// SPACE=(TRK,(1,10),RLSE), |
|// DCB=*.SERVOPT.SYSUT1 |
|//****************************************************************** |
|//* Create the volume history file. |
|//****************************************************************** |
|//VOLHISTD EXEC PGM=IEHPROGM |
|//SYSPRINT DD SYSOUT=* |
|//SYSABEND DD DUMMY |
|//DD1 DD UNIT=3390,VOL=SER=DRMSC1,DISP=OLD |
|//SYSIN DD * |
| SCRATCH DSNAME=TIVSMSRV.DSM1509.VOLHIST.TXTX, C |
| VOL=3390=DRMSC1,PURGE |
| UNCATLG DSNAME=TIVSMSRV.DSM1509.VOLHIST.TXTX |
|/* |
|//VOLHIST EXEC PGM=IEBGENER |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD DUMMY |
|//SYSUT1 DD DSN=DRM.DSM1509.VOLHIST.FILE,DISP=SHR |
|//SYSUT2 DD DSN=TIVSMSRV.DSM1509.VOLHIST.TXTX,DISP=(,CATLG,DELETE), |
|// UNIT=3390,VOL=SER=DRMSC1, |
|// SPACE=(TRK,(10,10),RLSE), |
|// DCB=*.VOLHIST.SYSUT1 |
+--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+
|//****************************************************************** |
|//* Create the device configuration file. |
|//****************************************************************** |
|//DEVCONFD EXEC PGM=IEHPROGM |
|//SYSPRINT DD SYSOUT=* |
|//SYSABEND DD DUMMY |
|//DD1 DD UNIT=3390,VOL=SER=DRMSC1,DISP=OLD |
|//SYSIN DD * |
| SCRATCH DSNAME=TIVSMSRV.DSM1509.DEVCONF.TXTX, |
| VOL=3390=DRMSC1,PURGE |
| UNCATLG DSNAME=TIVSMSRV.DSM1509.DEVCONF.TXTX |
|/* |
|//DEVCONF EXEC PGM=IEBGENER |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD DUMMY |
|//SYSUT1 DD DSN=DRM.DSM1509.DEVCONF.FILE,DISP=SHR |
|//SYSUT2 DD DSN=TIVSMSRV.DSM1509.DEVCONF.TXTX,DISP=(,CATLG,DELETE), |
|// UNIT=3390,VOL=SER=DRMSC1, |
|// SPACE=(TRK,(1,10),RLSE), |
|// DCB=*.DEVCONF.SYSUT1 |
| |
|end CFGFILES.CREATE jcl |
+--------------------------------------------------------------------------------+
LOGDBVOL.CREATE
Contains JCL required to recreate the TSM database and log volumes. You can use it as a guide, or you can copy it to a file, modify it, and execute it. This JCL is invoked by the REXX EXEC RECOVERY.DRMODE.
Figure 87. Crete Database and Log Volume Stanza
+--------------------------------------------------------------------------------+
|begin LOGDBVOL.CREATE jcl |
| |
|//DRMLGDBC JOB |
|//****************************************************************** |
|//* |
|//* Purpose: Create log and database volumes. |
|//* Recovery Administrator: Run this to format log |
|//* and database volumes. |
|//****************************************************************** |
|//* Create database volume DSMSERV.DSM1509.DB01X 10M |
|//****************************************************************** |
|//* |
|//* Allocate the VSAM data set |
|//****************************************************************** |
|//ALLOCAT EXEC PGM=IDCAMS |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD * |
| DELETE (TIVSMSRV.DSM1509.DB01X) CLUSTER PURGE |
| IF LASTCC = 8 THEN SET MAXCC = 0 |
| DEFINE CLUSTER( NAME(TIVSMSRV.DSM1509.DB01X) LINEAR MB(10) - |
| VOL(TIVSM01) ) |
|//* |
|//****************************************************************** |
|//* Pre-format the data set before defining it to the Server |
|//* Note: This step will not be executed if the ALLOCAT step fails. |
|//****************************************************************** |
|//TIVSMFMT EXEC PGM=DSMFMT,DYNAMNBR=300,COND=(0,NE,ALLOCAT), |
|// PARM='/TIVSMSRV.DSM1509.DB01X' |
|//DSMAMENG DD DSN=TIVSMSRV.SANRMSG(ANRMENU),DISP=SHR |
|//SYSPRINT DD SYSOUT=* |
|//SYSTERM DD SYSOUT=* |
|//* |
|//* Create database volume TIVSMSRV.DSM1509.DB02X 10M |
|//****************************************************************** |
|//* Allocate the VSAM data set |
|//****************************************************************** |
|//ALLOCAT EXEC PGM=IDCAMS |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD * |
| DELETE (TIVSMSRV.DSM1509.DB02X) CLUSTER PURGE |
| IF LASTCC = 8 THEN SET MAXCC = 0 |
| DEFINE CLUSTER( NAME(TIVSMSRV.DSM1509.DB02X) LINEAR MB(10) - |
| VOL(TIVSM01)) |
|//* |
|//****************************************************************** |
|//* Pre-format the data set before defining it to the Server |
|//* Note: This step will not be executed if the ALLOCAT step fails. |
|//****************************************************************** |
|//TIVSMFMT EXEC PGM=DSMFMT,DYNAMNBR=300,COND=(0,NE,ALLOCAT), |
|// PARM='/TIVSMSRV.DSM1509.DB02X' |
|//DSMAMENG DD DSN=TIVSMSRV.SANRMSG(ANRMENU),DISP=SHR |
|//SYSPRINT DD SYSOUT=* |
|//SYSTERM DD SYSOUT=* |
|//* |
|//* Create log volume TIVSMSRV.DSM1509.LG01X 10M |
+--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+
|//****************************************************************** |
|//* Allocate the VSAM data set |
|//****************************************************************** |
|//ALLOCAT EXEC PGM=IDCAMS |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD * |
| DELETE (TIVSMSRV.DSM1509.LG01X) CLUSTER PURGE |
| IF LASTCC = 8 THEN SET MAXCC = 0 |
| DEFINE CLUSTER( NAME(TIVSMSRV.DSM1509.LG01X) LINEAR MB(10) - |
| VOL(TIVSM01) ) |
|//****************************************************************** |
|//* Pre-format the data set before defining it to the Server |
|//* Note: This step will not be executed if the ALLOCAT step fails. |
|//****************************************************************** |
|//TIVSMFMT EXEC PGM=DSMFMT,DYNAMNBR=300,COND=(0,NE,ALLOCAT), |
|// PARM='/TIVSMSRV.DSM1509.LG01X' |
|//DSMAMENG DD DSN=TIVSMSRV.SANRMSG(ANRMENU),DISP=SHR |
|//SYSPRINT DD SYSOUT=* |
|//SYSTERM DD SYSOUT=* |
|//* |
|//* Create log volume TIVSMSRV.DSM1509.LG02X 10M |
|//****************************************************************** |
|//* Allocate the VSAM data set |
|//****************************************************************** |
|//ALLOCAT EXEC PGM=IDCAMS |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD * |
| DELETE (TIVSMSRV.DSM1509.LG02X) CLUSTER PURGE |
| IF LASTCC = 8 THEN SET MAXCC = 0 |
| DEFINE CLUSTER( NAME(TIVSMSRV.DSM1509.LG02X) LINEAR MB(10) - |
| VOL(TIVSM01) ) |
|//****************************************************************** |
|//* Pre-format the data set before defining it to the Server |
|//* Note: This step will not be executed if the ALLOCAT step fails. |
|//****************************************************************** |
|//TIVSMFMT EXEC PGM=DSMFMT,DYNAMNBR=300,COND=(0,NE,ALLOCAT), |
|// PARM='/TIVSMSRV.DSM1509.LG02X' |
|//DSMAMENG DD DSN=TIVSMSRV.SANRMSG(ANRMENU),DISP=SHR |
|//SYSPRINT DD SYSOUT=* |
|//SYSTERM DD SYSOUT=* |
| |
|end LOGDBVOL.CREATE jcl |
+--------------------------------------------------------------------------------+
LOGDBVOL.INSTALL
Contains JCL required to install the TSM database and log volumes. You can use it as a guide, or you can copy it to a file, modify it, and execute it. This JCL is invoked by the REXX EXEC RECOVERY.DRMODE.
Figure 88. Install Database and Log volumes Stanzas
+--------------------------------------------------------------------------------+
|begin LOGDBVOL.INSTALL jcl |
| |
|//DRMINST JOB |
|//****************************************************************** |
|//* Purpose: Install server database and log volumes. |
|//* Recovery Administrator: Run this to install the server database |
|//* and log volumes. |
|//**************************************************************** |
|//SERVDSKD EXEC PGM=IEHPROGM |
|//**************************************************************** |
|//SYSPRINT DD SYSOUT=* |
|//SYSABEND DD DUMMY |
|//DD1 DD UNIT=3390,VOL=SER=DRMSC1,DISP=OLD |
|//SYSIN DD * |
| SCRATCH DSNAME=TIVSMSRV.DSM1509.DISKLOG, |
| VOL=3390=DRMSC1,PURGE |
| UNCATLG DSNAME=TIVSMSRV.DSM1509.DISKLOG |
|/* |
|//**************************************************************** |
|//DELPARMS EXEC PGM=IDCAMS |
|//**************************************************************** |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD * |
| DELETE (TIVSMSRV.DSM1509.LOGDBVOL.PARMLOG) |
| DELETE (TIVSMSRV.DSM1509.LOGDBVOL.PARMLOG) NOSCRATCH |
| DELETE (TIVSMSRV.DSM1509.LOGDBVOL.PARMDB) |
| DELETE (TIVSMSRV.DSM1509.LOGDBVOL.PARMDB) NOSCRATCH |
| IF MAXCC <= 8 THEN SET MAXCC = 0 |
|/* |
|//**************************************************************** |
|//PARMLOG EXEC PGM=IEBGENER LOG PARAMETERS FOR INSTALL |
|//**************************************************************** |
|//SYSIN DD DUMMY |
|//SYSPRINT DD SYSOUT=* |
|//SYSUT2 DD DSN=TIVSMSRV.DSM1509.LOGDBVOL.PARMLOG, |
|// DISP=(,CATLG,DELETE), |
|// SPACE=(TRK,(1,1)), |
|// UNIT=SYSDA, |
|// DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160) |
|//SYSUT1 DD * |
|TIVSMSRV.DSM1509.LG01X |
|TIVSMSRV.DSM1509.LG02X |
|/* |
|//**************************************************************** |
|//PARMDB EXEC PGM=IEBGENER DB PARAMETERS FOR INSTALL |
|//**************************************************************** |
|//SYSIN DD DUMMY |
|//SYSPRINT DD SYSOUT=* |
|//SYSUT2 DD DSN=TIVSMSRV.DSM1509.LOGDBVOL.PARMDB, |
|// DISP=(,CATLG,DELETE), |
|// SPACE=(TRK,(1,1)), |
|// UNIT=SYSDA, |
|// DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160) |
|//SYSUT1 DD * |
|TIVSMSRV.DSM1509.DB01X |
|TIVSMSRV.DSM1509.DB02X |
+--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+
|/* |
|//***************************************************************/ |
|//SERVER EXEC PGM=DSMSERV,DYNAMNBR=300, |
|//***************************************************************/ |
|// PARM='/INSTALL 2 FILE:TIVSMSRV.DSM1509.LOGDBVOL.PARMLOG |
|// 2 FILE:TIVSMSRV.DSM1509.LOGDBVOL.PARMDB' |
|//OPT DD DSN=TIVSMSRV.DSM1509.DSMSERV.OPTX,DISP=SHR |
|//DSMAMENG DD DSN=TIVSMSRV.SANRMSG(ANRMENU),DISP=SHR |
|//HLPAMENG DD DSN=TIVSMSRV.SANRHLP(ANRMENU),DISP=SHR |
|//***************************************************************/ |
|//* The Disk Log data set is allocated and created as a */ |
|//* result of this job. The data sets identified in the PARM */ |
|//* field of the EXEC statement WILL be (re-)formatted and */ |
|//* if they were previously used, the existing information will*/ |
|//* be lost. DO NOT execute this job unless it is absolutely */ |
|//* necessary. It must not be used to UPGRADE a release 1 */ |
|//* server environment to Version 2. */ |
|//***************************************************************/ |
|//DSK DD DSN=TIVSMSRV.DSM1509.DISKLOG,DISP=(NEW,CATLG), |
|// SPACE=(TRK,(1,1)), |
|// UNIT=3390,VOL=SER=TIVSM03, |
|// DCB=(RECFM=FB,BLKSIZE=800,LRECL=80) |
|//SYSPRINT DD SYSOUT=* |
|//SYSTERM DD SYSOUT=* |
| |
|end LOGDBVOL.INSTALL jcl |
+--------------------------------------------------------------------------------+
RESTORE.DB
Contains JCL to restore the TSM database. This JCL is invoked by the REXX EXEC RECOVERY.DRMODE.
Figure 89. Restore Database Stanza
+--------------------------------------------------------------------------------+
|begin RESTORE.DB jcl |
| |
|//DRMREST JOB |
|//****************************************************************** |
|//* Purpose: Restore server database. |
|//* Recovery Administrator: Run this job to restore the server |
|//* database from database backup volumes. |
|//****************************************************************** |
|//SERVER EXEC PGM=DSMSERV,DYNAMNBR=300, |
|// PARM='/RESTORE DB TODATE=09/03/2000 TOTIME=12:01:04' |
|//OPT DD DSN=TIVSMSRV.DSM1509.DSMSERV.OPTX,DISP=SHR |
|//DSMAMENG DD DSN=TIVSMSRV.SANRMSG(ANRMENU),DISP=SHR |
|//HLPAMENG DD DSN=TIVSMSRV.SANRHLP(ANRMENU),DISP=SHR |
|//DSK DD DSN=TIVSMSRV.DSM1509.DISKLOG,DISP=SHR |
|//SYSPRINT DD SYSOUT=* |
|//SYSTERM DD SYSOUT=* |
| |
|end RESTORE.DB jcl |
+--------------------------------------------------------------------------------+
START.SERVER
Contains JCL to start the TSM server. This JCL is invoked by the REXX EXEC RECOVERY.DRMODE.
Figure 90. Start Server Stanza
+--------------------------------------------------------------------------------+
|begin START.SERVER jcl |
| |
|//TIVSM JOB |
|//****************************************************************** |
|//* Purpose: Start the server. |
|//* Recovery Administrator: Run this job to start the server. |
|//****************************************************************** |
|//SERVER EXEC PGM=DSMSERV,DYNAMNBR=300 |
|//OPT DD DSN=TIVSMSRV.DSM1509.DSMSERV.OPTX,DISP=MOD |
|//DSMAMENG DD DSN=TIVSMSRV.SANRMSG(ANRMENU),DISP=SHR |
|//HLPAMENG DD DSN=TIVSMSRV.SANRHLP(ANRMENU),DISP=SHR |
|//DSK DD DSN=TIVSMSRV.DSM1509.DISKLOG,DISP=SHR |
|//SYSPRINT DD SYSOUT=* |
| |
|end START.SERVER jcl |
+--------------------------------------------------------------------------------+
COPYVOL.AVAIL
Contains a TSM macro to mark copy storage pool volumes that were moved offsite as moved back onsite.This stanza does not include copy storage pool that are virtual volumes. You can use it as a guide and execute the TSM administrative commands as needed from a command line or graphical user interface, or you can copy it to a file, modify it, and execute it. This macro is invoked by the REXX EXEC RECOVERY.DRMODE.
In the event of a disaster, compare the copy storage pool volumes listed in this stanza with the volumes you have obtained from the courier and the offsite vault. If you have not physically obtained all volumes, you should remove the entries for the missing volumes from this stanza.
Figure 91. Copy Storage Pool Volumes Available Stanza
+--------------------------------------------------------------------------------+
|begin COPYVOL.AVAIL macro |
| |
| /* Purpose: Mark copy storage pool volumes as available for use in recovery. */|
| /* Recovery Administrator: Remove any volumes that have not been obtained */|
| /* from the vault or are not available for any reason. */|
| /* Note: It is possible to use the mass update capability of the */|
| /* UPDATE command instead of issuing an update for each volume. However, */|
| /* the 'update by volume' technique used here allows you to select */|
| /* a subset of volumes to be processed. */|
| |
| upd vol TIVSMSRV.DSM1509.BK07 acc=READW wherestg=CSTORAGEPF |
| upd vol TIVSMSRV.DSM1509.BK70 acc=READW wherestg=CSTORAGEPF |
| upd vol TIVSMSRV.DSM1509.BK99 acc=READW wherestg=CSTORAGEPFA |
| |
|end COPYVOL.AVAIL macro |
+--------------------------------------------------------------------------------+
COPYVOL.DESTR
Contains a TSM macro to mark copy storage pool volumes as unavailable that were onsite at the time of the disaster. You can use it as a guide and execute the TSM administrative commands as needed from a command line or graphical user interface, or you can copy it to a file, modify it, and execute it. This macro is invoked by the REXX EXEC RECOVERY.DRMODE.
In the event of a disaster, compare the copy storage pool volumes listed in this stanza with the volumes that were left onsite. If you have physically obtained any of the volumes, you should remove their entries from this stanza.
This stanza does not include copy storage pool virtual volumes, because these volumes are considered offsite and have not been destroyed in a disaster.
Figure 92. Copy Storage Pool Volumes Destroyed Stanzas
+--------------------------------------------------------------------------------+
|begin COPYVOL.DESTR macro |
| |
| /* Purpose: Mark destroyed copy storage pool volumes as unavailable. */ |
| /* Volumes in this macro were not marked as 'offsite' at the time the */ |
| /* PREPARE ran. They were likely destroyed in the disaster. */ |
| /* Recovery Administrator: Remove any volumes that were not destroyed. */ |
| |
|end COPYVOL.DESTR macro |
+--------------------------------------------------------------------------------+
PRIMVOL.DESTR
Contains a TSM macro to mark primary storage pool volumes as destroyed that were onsite at the time of disaster. You can use it as a guide and execute the TSM administrative commands as needed from a command line or graphical user interface, or you can copy it to a file, modify it, and execute it. This macro is invoked by the REXX EXEC RECOVERY.DRMODE.
In the event of a disaster, compare the primary storage pool volumes listed in this stanza with the volumes that were onsite. If you have physically obtained any of the volumes and have determined they are usable, you should remove their entries from here.
Figure 93. Primary Storage Pool Volumes Destroyed Stanza
+--------------------------------------------------------------------------------+
|begin PRIMVOL.DESTR macro |
| |
| /* Purpose: Mark primary storage pool volumes as ACCESS=DESTROYED. */ |
| /* Recovery administrator: Delete any volumes listed here */ |
| /* that you do not want to recover. */ |
| /* Note: It is possible to use the mass update capability of the */ |
| /* UPDATE command instead of issuing an update for each volume. However */ |
| /* the 'update by volume' technique used here allows you to select */ |
| /* a subset of volumes to be marked as destroyed. */ |
| |
| upd vol TIVSMSRV.DSM1509.AR01 acc=DESTROYED wherestg=ARCHIVEPOOL |
| upd vol TIVSMSRV.DSM1509.BK02 acc=DESTROYED wherestg=BACKUPPOOL |
| upd vol TIVSMSRV.DSM1509.BK01x acc=DESTROYED wherestg=BACKUPPOOL |
| upd vol TIVSMSRV.DSM1509.BK03 acc=DESTROYED wherestg=BACKUPPOOLF |
| upd vol BACK4X acc=DESTROYED wherestg=BACKUPPOOLT |
| |
|end PRIMVOL.DESTR macro |
+--------------------------------------------------------------------------------+
This stanza does not include primary storage pool virtual volumes, because these volumes are considered offsite have not been destroyed in a disaster.
PRIMVOL.REPLACEC
Contains JCL required to allocate and format the replacement primary storage pool volumes that were of device class DISK. You can use it as a guide, or you can copy it to a file, modify it, and execute it. This JCL is invoked by the REXX EXEC RECOVERY.NMODE.
The SET DRMPLANVPOSTFIX character is appended to the end of the names of the original volumes listed in this stanza. This appended character serves two alternative strategies:
Notes:
Figure 94. Primary Disk Storage Pool Replacement Volumes Stanza
+--------------------------------------------------------------------------------+
|begin PRIMVOL.REPLACEC jcl |
| |
|//DRMPRIMC JOB |
|//****************************************************************** |
|//* Purpose: Create replacement volumes for primary storage pools that |
|//* use device class DISK. |
|//* Recovery administrator: Edit this section for your replacement |
|//* volume names. New name must be unique, i.e. different from any |
|//* original or other new name. |
|//****************************************************************** |
|//* Replace TIVSMSRV.DSM1509.AR01 DISK 5.0M in ARCHIVEPOOL |
|//****************************************************************** |
|//* Allocate the VSAM data set |
|//****************************************************************** |
|//ALLOCAT EXEC PGM=IDCAMS |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD * |
| DELETE (TIVSMSRV.DSM1509.AR01@) CLUSTER PURGE |
| IF LASTCC = 8 THEN SET MAXCC = 0 |
| DEFINE CLUSTER( NAME(TIVSMSRV.DSM1509.AR01@) LINEAR MB(5) - |
| VOL(TIVSM01) ) |
|/* |
|//****************************************************************** |
|//* Pre-format the data set before defining it to the Server |
|//* Note: This step will not be executed if the ALLOCAT step fails. |
|//****************************************************************** |
|//TIVSMFMT EXEC PGM=DSMFMT,DYNAMNBR=300,COND=(0,NE,ALLOCAT), |
|// PARM='/TIVSMSRV.DSM1509.AR01@' |
|//DSMAMENG DD DSN=TIVSMSRV.SANRMSG(ANRMENU),DISP=SHR |
|//SYSPRINT DD SYSOUT=* |
|//SYSTERM DD SYSOUT=* |
|//* |
|//* Replace TIVSMSRV.DSM1509.BK02 DISK 16.0M in BACKUPPOOL |
|//****************************************************************** |
|//* Allocate the VSAM data set |
|//****************************************************************** |
|//ALLOCAT EXEC PGM=IDCAMS |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD * |
| DELETE (TIVSMSRV.DSM1509.BK02@) CLUSTER PURGE |
| IF LASTCC = 8 THEN SET MAXCC = 0 |
| DEFINE CLUSTER( NAME(TIVSMSRV.DSM1509.BK02@) LINEAR MB(16) - |
| VOL(TIVSM01) ) |
|/* |
|//****************************************************************** |
|//* Pre-format the data set before defining it to the Server |
|//* Note: This step will not be executed if the ALLOCAT step fails. |
|//****************************************************************** |
|//TIVSMFMT EXEC PGM=DSMFMT,DYNAMNBR=300,COND=(0,NE,ALLOCAT), |
|// PARM='/TIVSMSRV.DSM1509.BK02@' |
|//DSMAMENG DD DSN=TIVSMSRV.SANRMSG(ANRMENU),DISP=SHR |
|//SYSPRINT DD SYSOUT=* |
|//SYSTERM DD SYSOUT=* |
|//* |
|//* Replace TIVSMSRV.DSM1509.BK01X DISK 5.0M in BACKUPPOOL |
+--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+
|//****************************************************************** |
|//* Allocate the VSAM data set |
|//****************************************************************** |
|//ALLOCAT EXEC PGM=IDCAMS |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD * |
| DELETE (TIVSMSRV.DSM1509.BK01X@) CLUSTER PURGE |
| IF LASTCC = 8 THEN SET MAXCC = 0 |
| DEFINE CLUSTER( NAME(TIVSMSRV.DSM1509.BK01X@) LINEAR MB(5) - |
| VOL(TIVSM01) ) |
|/* |
|//****************************************************************** |
|//* Pre-format the data set before defining it to the Server |
|//* Note: This step will not be executed if the ALLOCAT step fails. |
|//****************************************************************** |
|//TIVSMFMT EXEC PGM=DSMFMT,DYNAMNBR=300,COND=(0,NE,ALLOCAT), |
|// PARM='/TIVSMSRV.DSM1509.BK01X@' |
|//DSMAMENG DD DSN=TIVSMSRV.SANRMSG(ANRMENU),DISP=SHR |
|//SYSPRINT DD SYSOUT=* |
|//SYSTERM DD SYSOUT=* |
| |
|end PRIMVOL.REPLACEC jcl |
+--------------------------------------------------------------------------------+
PRIMVOL.REPLACE
Contains a TSM macro to define replacement primary storage pool volumes to the TSM server. You can use it as a guide and execute the TSM administrative commands as needed from a command line or graphical user interface, or you can copy it to a file, modify it, and execute it. This macro is invoked by the REXX EXEC RECOVERY.NMODE.
Primary storage pool volumes that get entries in this stanza have at least one of the following three characteristics:
The SET DRMPLANVPOSTFIX character is appended to the end of the names of the original volumes listed in this stanza. This appended character serves two alternative strategies:
Notes:
Original Name | DRMPLANVPOSTFIX | Replacement | Legal Name for MVS |
---|---|---|---|
xyz.abc.1234567 | R | xyz.abc.1234567R | Yes |
xyz.abc.12345678 | R | xyz.abc.12345678R | No |
Figure 95. Primary Storage Pool Volumes Replacement Stanzas
+--------------------------------------------------------------------------------+
|begin PRIMVOL.REPLACE macro |
| |
| /* Purpose: Define replacement primary storage pool volumes for either: */ |
| /* 1. Original volume in a storage pool whose device class was DISK. */ |
| /* 2. Original volume in a storage pool with MAXSCRATCH=0. */ |
| /* 3. Original volume in a storage pool and volume scratch=no. */ |
| /* Recovery administrator: Edit this section for your replacement */ |
| /* volume names. New name must be unique, i.e. different from any */ |
| /* original or other new name. */ |
| |
| /* Replace TIVSMSRV.DSM1509.AR01 DISK 5.0M in ARCHIVEPOOL */ |
| def vol ARCHIVEPOOL TIVSMSRV.DSM1509.AR01@ acc=READW |
| |
| /* Replace TIVSMSRV.DSM1509.BK02 DISK 16.0M in BACKUPPOOL */ |
| def vol BACKUPPOOL TIVSMSRV.DSM1509.BK02@ acc=READW |
| |
| /* Replace TIVSMSRV.DSM1509.BK01X DISK 5.0M in BACKUPPOOL */ |
| def vol BACKUPPOOL TIVSMSRV.DSM1509.BK01X@ acc=READW |
| |
| /* Replace TIVSMSRV.DSM1509.BK03 FILES 4.0M in BACKUPPOOLF */ |
| def vol BACKUPPOOLF TIVSMSRV.DSM1509.BK03@ acc=READW |
| |
| /* Replace BACK4X COOL3494 0.0M in BACKUPPOOLT */ |
| def vol BACKUPPOOLT BACK4X@ acc=READW |
| |
|end PRIMVOL.REPLACE macro |
| |
+--------------------------------------------------------------------------------+
STGPOOL.RESTORE
Contains a TSM macro to restore the primary storage pools. You can use it as a guide and execute the TSM administrative commands as needed from a command line or graphical user interface, or you can copy it to a file, modify it, and execute it. This macro is invoked by the REXX EXEC RECOVERY.NMODE.
Figure 96. Storage Pool Restore Stanza
+--------------------------------------------------------------------------------+
|begin STGPOOL.RESTORE macro |
| |
|/* Purpose: Restore the primary storage pools from copy storage pool(s). */ |
|/* Recovery Administrator: Delete entries for any primary storage pools */ |
|/* that you do not want to restore. */ |
| |
| restore stgp ARCHIVEPOOL |
| restore stgp BACKUPPOOL |
| restore stgp BACKUPPOOLF |
| restore stgp BACKUPPOOLT |
| restore stgp SPACEMGPOOL |
| |
|end STGPOOL.RESTORE macro |
| |
+--------------------------------------------------------------------------------+
VOLHIST.FILE
Contains a copy of the server volume history information at the time PREPARE was run. The DSMSERV RESTORE DB command uses the volume history file to determine what volumes are required to restore the database. This stanza is referenced by the REXX EXEC RECOVERY.DRMODE.
The following rules are used to determine where the volume history file is placed at restore time:
Figure 97. Volume History Stanzas
+--------------------------------------------------------------------------------+
|begin VOLHIST.FILE |
|********************************************************************************|
|* Tivoli Storage Manager Sequential Volume Usage |
|* Updated 09/03/2000 12:01:55 |
|* Operation Volume Backup Backup Volume Device Volume |
|* Date/Time Type Series Oper. Seq Class Name Name |
|********************************************************************************|
|* Location for volume DBTP01 is 'IRONVAULT' |
| 2000/06/01 12:00:53 BACKUPFULL 1 0 1 LIB3494 DBTP01 |
| 2000/06/02 12:01:09 STGNEW 0 0 0 FILES TSMSERV.DSM1509.|
|* Location for volume DBTP02 is: 'IRONVAULT' |
| 2000/06/02 12:01:23 BACKUPFULL 2 0 1 LIB3494 DBTP02 |
| 2000/09/03 12:00:46 STGNEW 0 0 0 FILES TSMSERV.DSM1509.|
|* Location for volume DBTP03 is: 'HsiaoVan' |
| 2000/09/03 12:01:04 BACKUPINCR 2 1 1 LIB3494 DBTP03 |
| 2000/08/12 17:53:29 STGNEW 0 0 0 LIB3494 DBTP99 |
| 2000/08/12 17:53:30 STGNEW 0 0 0 FILES TSMSERV.DSM1509.|
| 2000/08/12 17:53:32 STGNEW 0 0 0 FILES TSMSERV.DSM1509.|
| 2000/08/12 17:53:33 STGNEW 0 0 0 FILESSM TSMSERV.DSM1509.|
| |
|end VOLHIST.FILE |
+--------------------------------------------------------------------------------+
DEVCONF.FILE
Contains a copy of the server device configuration information at the time PREPARE was run. The DSMSERV RESTORE DB command uses this data to read the database backup volumes. This stanza is referenced by the REXX EXEC RECOVERY.DRMODE.
The following rules are used to determine where the device configuration file is placed at restore time:
Figure 98. Device Configuration Stanza
+--------------------------------------------------------------------------------+
|begin DEVCONF.FILE |
| |
|/* Tivoli Storage Manager Device Configuration */ |
|DEFINE DEVCLASS COOL3494 DEVTYPE=CART FORMAT=DRIVE MOUNTLIMIT=1 MOUNTWAIT60 MOUN|
|DEFINE DEVCLASS FILES DEVTYPE=FILE MAXCAPACITY=4096K MOUNTLIMIT=2 DIRECTORY=DRMT|
|DEFINE DEVCLASS FILESSM DEVTYPE=FILE MAXCAPACITY=100K MOUNTLIMIT=2 DIRECTORY=DRM|
|DEFINE DEVCLASS LIB3494 DEVTYPE=CART FORMAT=DRIVE MOUNTLIMIT=1 MOUNTWAIT5 MOUNTR|
| |
|end DEVCONF.FILE |
+--------------------------------------------------------------------------------+
SERVOPT.FILE
Contains a copy of the server options file used when the server was started. The server options file sets various server operating characteristics.
This stanza is referenced by the REXX EXEC RECOVERY.DRMODE.
The disaster recovery plan file generated by DRM will add the DISABLESCHEDS option to the server options file and set it to YES. This option will disable administrative and client schedules while the TSM server is being recovered. After the server is recovered, you can enable scheduling by deleting the option or setting it to NO and then restarting the server.
Figure 99. Server Option Stanzas
+--------------------------------------------------------------------------------+
|begin SERVOPT.FILE |
| |
|* Server options file located in TSMSERV.DSM1509.DSMSERV.OPTX |
|TCPPort 1509 |
|VOLUMEHISTORY TSMSERV.DSM1509.VOLHIST.TXTX |
|DEVCONFIG TSMSERV.DSM1509.DEVCONF.TXTX |
|*The following option was added by PREPARE. |
|DISABLESCHEDS YES |
| |
|end SERVOPT.FILE |
| |
+--------------------------------------------------------------------------------+
LICENSE.INFORMATION
Contains a copy of the latest license audit results and the server license terms.
Figure 100. License Information Stanza
+--------------------------------------------------------------------------------+
|begin LICENSE.INFO |
| |
| Last License Audit: 09/30/2000 10:25:34 |
| Registered Client Nodes: 1 |
| Licensed Client Nodes: 51 |
|Are Open Systems Environment clients registered ?: No |
| Are Open Systems Environment clients licensed ?: No |
| Is space management in use ?: No |
| Is space management licensed ?: No |
| Is disaster recovery manager in use ?: Yes |
| Is disaster recovery manager licensed ?: Yes |
| Are Server-to-Server Virtual Volumes in use ?: No |
| Are Server-to-Server Virtual Volumes licensed ?: Yes |
| Is Advanced Device Support required?: No |
| Is Advanced Device Support licensed ?: No |
| Server License Compliance: Valid |
| |
|end LICENSE.INFO |
+--------------------------------------------------------------------------------+
Figure 101 shows the SMS versions of some of the stanzas.
Figure 101. Example of a Disaster Recovery Plan File (SMS Versions)
+--------------------------------------------------------------------------------+
|SMS versions of |
| LOGDBVOL.CREATE |
| |
|begin LOGDBVOL.CREATE jcl |
|//DRMLGDBC JOB |
|//****************************************************************** |
|//* Purpose: Create log and database volumes. |
|//* Recovery Administrator: Run this to format server log |
|//* and database volumes. |
|//****************************************************************** |
|//* Create database volume TSMSERV.DSM1509.DB01X 10M |
|//****************************************************************** |
|//* Allocate the VSAM data set |
|//****************************************************************** |
|//ALLOCAT EXEC PGM=IDCAMS |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD * |
| DELETE (TSMSERV.DSM1509.DB01X) CLUSTER PURGE |
| IF LASTCC = 8 THEN SET MAXCC = 0 |
| DEFINE CLUSTER( NAME(TSMSERV.DSM1509.DB01X) LINEAR MB(10) - |
| STORAGECLASS('SCLASS1') - |
| MANAGEMENTCLASS('MCLASS1') - |
| DATACLASS('DCLASS1') |
|/* |
|//****************************************************************** |
|//* Pre-format the data set before defining it to the Server |
|//* Note: This step will not be executed if the ALLOCAT step fails. |
|//****************************************************************** |
|//TSMFMT EXEC PGM=DSMFMT,DYNAMNBR=300,COND=(0,NE,ALLOCAT), |
|// PARM='/TSMSERV.DSM1509.DB01X' |
|//DSMAMENG DD DSN=TSMSERV.SANRMSG(ANRMENU),DISP=SHR |
|//SYSPRINT DD SYSOUT=* |
|//SYSTERM DD SYSOUT=* |
|//* Create database volume DRMTEST.DSM1509.DB02X 10M |
|//****************************************************************** |
|//* Allocate the VSAM data set |
|//****************************************************************** |
|//ALLOCAT EXEC PGM=IDCAMS |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD * |
| DELETE (TSMSERV.DSM1509.DB02X) CLUSTER PURGE |
| IF LASTCC = 8 THEN SET MAXCC = 0 |
| DEFINE CLUSTER( NAME(TSMSERV.DSM1509.DB02X) LINEAR MB(10) - |
| STORAGECLASS('SCLASS1') - |
| MANAGEMENTCLASS('MCLASS1') - |
| DATACLASS('DCLASS1') |
|/* |
|//****************************************************************** |
|//* Pre-format the data set before defining it to the Server |
|//* Note: This step will not be executed if the ALLOCAT step fails. |
|//****************************************************************** |
|//TSMFMT EXEC PGM=DSMFMT,DYNAMNBR=300,COND=(0,NE,ALLOCAT), |
|// PARM='/TSMSERV.DSM1509.DB02X' |
|//DSMAMENG DD DSN=TSMSERV.SANRMSG(ANRMENU),DISP=SHR |
|//SYSPRINT DD SYSOUT=* |
|//SYSTERM DD SYSOUT=* |
|//* |
+--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+
|//* Create log volume TSMSERV.DSD1509.LG01X 10M |
|//****************************************************************** |
|//* Allocate the VSAM data set |
|//****************************************************************** |
|//ALLOCAT EXEC PGM=IDCAMS |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD * |
| DELETE (TSMSERV.DSM1509.LG01X) CLUSTER PURGE |
| IF LASTCC = 8 THEN SET MAXCC = 0 |
| DEFINE CLUSTER( NAME(TSMSERV.DSM1509.LG01X) LINEAR MB(10) - |
| STORAGECLASS('SCLASS1') - |
| MANAGEMENTCLASS('MCLASS1') - |
| DATACLASS('DCLASS1') |
|/* |
|//****************************************************************** |
|//* Pre-format the data set before defining it to the Server |
|//* Note: This step will not be executed if the ALLOCAT step fails. |
|//****************************************************************** |
|//TSMFMT EXEC PGM=DSMFMT,DYNAMNBR=300,COND=(0,NE,ALLOCAT), |
|// PARM='/TSMSERV.DSM1509.LG01X' |
|//DSMAMENG DD DSN=TSMSERV.SANRMSG(ANRMENU),DISP=SHR |
|//SYSPRINT DD SYSOUT=* |
|//SYSTERM DD SYSOUT=* |
|//* |
|//* Create log volume TSMSERV.DSM1509.LG02X 10M |
|//****************************************************************** |
|//* Allocate the VSAM data set |
|//****************************************************************** |
|//ALLOCAT EXEC PGM=IDCAMS |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD * |
| DELETE (TSMSERV.DSM1509.LG02X) CLUSTER PURGE |
| IF LASTCC = 8 THEN SET MAXCC = 0 |
| DEFINE CLUSTER( NAME(TSMSERV.DSM1509.LG02X) LINEAR MB(10) - |
| STORAGECLASS('SCLASS1') - |
| MANAGEMENTCLASS('MCLASS1') - |
| DATACLASS('DCLASS1') |
|/* |
|//****************************************************************** |
|//* Pre-format the data set before defining it to the Server |
|//* Note: This step will not be executed if the ALLOCAT step fails. |
|//****************************************************************** |
|//TSMFMT EXEC PGM=DSMFMT,DYNAMNBR=300,COND=(0,NE,ALLOCAT), |
|// PARM='/TSMSERV.DSM1509.LG02X' |
|//DSMAMENG DD DSN=TSMSERV.SANRMSG(ANRMENU),DISP=SHR |
|//SYSPRINT DD SYSOUT=* |
|//SYSTERM DD SYSOUT=* |
| |
|end LOGDBVOL.CREATE jcl |
+--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+
|begin LOGDBVOL.INSTALL jcl |
| |
|//DRMINST JOB |
|//****************************************************************** |
|//* Purpose: Install server database and log volumes. |
|//* Recovery Administrator: Run this to install the server database |
|//* and log volumes. |
|//****************************************************************** |
|//SERVDSKD EXEC PGM=IEHPROGM |
|//SYSPRINT DD SYSOUT=* |
|//SYSABEND DD DUMMY |
|//DD1 DD UNIT=3390,VOL=SER=DRMSC1,DISP=OLD |
|//SYSIN DD * |
| UNCATLG DSNAME=TSMSERV.DSM1509.DISKLOG |
|/* |
|//**************************************************************** |
|//DELPARMS EXEC PGM=IDCAMS |
|//**************************************************************** |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD * |
| DELETE (TSMSERV.DSM1509.LOGDBVOL.PARMLOG) |
| DELETE (TSMSERV.DSM1509.LOGDBVOL.PARMLOG) NOSCRATCH |
| DELETE (TSMSERV.DSM1509.LOGDBVOL.PARMDB) |
| DELETE (TSMSERV.DSM1509.LOGDBVOL.PARMDB) NOSCRATCH |
| IF MAXCC <= 8 THEN SET MAXCC = 0 |
|/* |
|//**************************************************************** |
|//PARMLOG EXEC PGM=IEBGENER LOG PARAMETERS FOR INSTALL |
|//**************************************************************** |
|//SYSIN DD DUMMY |
|//SYSPRINT DD SYSOUT=* |
|//SYSUT2 DD DSN=TSMSERV.DSM1509.LOGDBVOL.PARMLOG, |
|// DISP=(,CATLG,DELETE), |
|// SPACE=(TRK,(1,1)), |
|// UNIT=SYSDA, |
|// DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160) |
|//SYSUT1 DD * |
|TSMSERV.DSM1509.LG01X |
|TSMSERV.DSM1509.LG02X |
|/* |
|//**************************************************************** |
|//PARMDB EXEC PGM=IEBGENER DB PARAMETERS FOR INSTALL |
|//**************************************************************** |
|//SYSIN DD DUMMY |
|//SYSPRINT DD SYSOUT=* |
|//SYSUT2 DD DSN=TSMSERV.DSM1509.LOGDBVOL.PARMDB, |
|// DISP=(,CATLG,DELETE), |
|// SPACE=(TRK,(1,1)), |
|// UNIT=SYSDA, |
|// DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160) |
|//SYSUT1 DD * |
|TSMSERV.DSM1509.DB01X |
|TSMSERV.DSM1509.DB02X |
|/* |
+--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+
|//***************************************************************/ |
|//SERVER EXEC PGM=DSMSERV,DYNAMNBR=300, |
|//***************************************************************/ |
|// PARM='/INSTALL 2 FILE:TSMSERV.DSM1509.LOGDBVOL.PARMLOG |
|// 2 FILE:TSMSERV.DSM1509.LOGDBVOL.PARMDB' |
|//DSMAMENG DD DSN=TSMSERV.SANRMSG(ANRMENU),DISP=SHR |
|//***************************************************************/ |
|//* The Disk Log data set is allocated and created as a */ |
|//* result of this job. The data sets identified in the PARM */ |
|//* field of the EXEC statement WILL be (re-)formatted and */ |
|//* if they were previously used, the existing information will*/ |
|//* be lost. DO NOT execute this job unless it is absolutely */ |
|//* necessary. It must not be used to UPGRADE a release 1 */ |
|//* server environment to Version 2. */ |
|//***************************************************************/ |
|//DSK DD DSN=TSMSERV.DSM1509.DISKLOG,DISP=(NEW,CATLG), |
|// SPACE=(TRK,(1,1)), |
|// STORCLAS=SCLASS1, |
|// MGMTCLAS=MCLASS1, |
|// DATACLAS=DCLASS1, |
|// DCB=(RECFM=FB,BLKSIZE=800,LRECL=80) |
|//SYSPRINT DD SYSOUT=* |
|//SYSTERM DD SYSOUT=* |
| |
|end LOGDBVOL.INSTALL jcl |
|begin PRIMVOL.REPLACEC jcl |
| |
|//DRMPRIMC JOB |
|//****************************************************************** |
|//* Purpose: Create replacement volumes for primary storage pools that |
|//* use device class DISK. |
|//* Recovery administrator: Edit this section for your replacement |
|//* volume names. New name must be unique, that is, different from any |
|//* original or other new name. |
|//****************************************************************** |
|//* Replace TSMSERV.DSM1509.AR01 DISK 5.0M in ARCHIVEPOOL |
|//****************************************************************** |
|//* Allocate the VSAM data set |
|//****************************************************************** |
|//ALLOCAT EXEC PGM=IDCAMS |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD * |
| DELETE (TSMSERV.DSM1509.AR01@) CLUSTER PURGE |
| IF LASTCC = 8 THEN SET MAXCC = 0 |
| DEFINE CLUSTER( NAME(TSMSERV.DSM1509.AR01@) LINEAR MB(5) - |
| STORAGECLASS('SCLASS1') - |
| MANAGEMENTCLASS('MCLASS1') - |
| DATACLASS('DCLASS1') |
|/* |
+--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+
|//****************************************************************** |
|//* Pre-format the data set before defining it to the Server |
|//* Note: This step will not be executed if the ALLOCAT step fails. |
|//****************************************************************** |
|//TSMFMT EXEC PGM=DSMFMT,DYNAMNBR=300,COND=(0,NE,ALLOCAT), |
|// PARM='/TSMSERV.DSM1509.AR01@' |
|//DSMAMENG DD DSN=TSMSERV.SANRMSG(ANRMENU),DISP=SHR |
|//SYSPRINT DD SYSOUT=* |
|//SYSTERM DD SYSOUT=* |
|/* |
|//* Replace TSMSERV.DSM1509.BK02 DISK 16.0M in BACKUPPOOL |
|//****************************************************************** |
|//* Allocate the VSAM data set |
|//****************************************************************** |
|//ALLOCAT EXEC PGM=IDCAMS |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD * |
| DELETE (TSMSERV.DSM1509.BK02@) CLUSTER PURGE |
| IF LASTCC = 8 THEN SET MAXCC = 0 |
| DEFINE CLUSTER( NAME(TSMSERV.DSM1509.BK02@) LINEAR MB(16) - |
| STORAGECLASS('SCLASS1') - |
| MANAGEMENTCLASS('MCLASS1') - |
| DATACLASS('DCLASS1') |
|/* |
|//****************************************************************** |
|//* Pre-format the data set before defining it to the Server |
|//* Note: This step will not be executed if the ALLOCAT step fails. |
|//****************************************************************** |
|//TSMFMT EXEC PGM=DSMFMT,DYNAMNBR=300,COND=(0,NE,ALLOCAT), |
|// PARM='/TSMSERV.DSM1509.BK02@' |
|//DSMAMENG DD DSN=TSMSERV.SANRMSG(ANRMENU),DISP=SHR |
|//SYSPRINT DD SYSOUT=* |
|//SYSTERM DD SYSOUT=* |
|//* |
|//* Replace TSMSERV.DSM1509.BK01X DISK 5.0M in BACKUPPOOL |
| |
+--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+
|//****************************************************************** |
|//* Allocate the VSAM data set |
|//****************************************************************** |
|//ALLOCAT EXEC PGM=IDCAMS |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD * |
| DELETE (TSMSERV.DSM1509.BK01X@) CLUSTER PURGE |
| IF LASTCC = 8 THEN SET MAXCC = 0 |
| DEFINE CLUSTER( NAME(TSMSERV.DSM1509.BK01X@) LINEAR MB(5) - |
| STORAGECLASS('SCLASS1') - |
| MANAGEMENTCLASS('MCLASS1') - |
| DATACLASS('DCLASS1') |
|/* |
|//****************************************************************** |
|//* Pre-format the data set before defining it to the Server |
|//* Note: This step will not be executed if the ALLOCAT step fails. |
|//****************************************************************** |
|//TSMFMT EXEC PGM=DSMFMT,DYNAMNBR=300,COND=(0,NE,ALLOCAT), |
|// PARM='/TSMSERV.DSM1509.BK01X@' |
|//DSMAMENG DD DSN=TSMSERV.SANRMSG(ANRMENU),DISP=SHR |
|//SYSPRINT DD SYSOUT=* |
|//SYSTERM DD SYSOUT=* |
| |
|end PRIMVOL.REPLACEC jcl |
+--------------------------------------------------------------------------------+