Tivoli Header

Administrator's Guide


The Disaster Recovery Plan File

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).

Breaking Out a Disaster Recovery Plan File

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.

Note:
REXX is not required to use Tivoli Disaster Recovery Manager and is not included with Tivoli Storage Manager. However, if you have REXX, you can use it to break out the disaster recovery plan file and to automate the execution of parts of the recovery procedure. For more information about REXX and to order the product from IBM, go to the Web site at http://www.ibm.com.

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)'                                                           |
+--------------------------------------------------------------------------------+

Structure of the Disaster Recovery Plan File

The disaster recovery plan is divided into the following types of stanzas:

Command stanzas
Consist of JCL, REXX EXEC, and TSM macros. They can be viewed, printed, updated, or executed as part of the disaster recovery process.
Note:
The RECOVERY.DRMODE and RECOVERY.NMODE stanzas contain the REXX EXEC that invokes JCL and macros contained in the other stanzas.

Instruction stanzas
Consist of recovery instructions specific to your site. They can be printed, updated, and used during server recovery.

Server requirements stanzas
Consist of the database and recovery log requirements, and volume and device requirements. They can be viewed or printed.

Configuration file stanzas
Consist of the volume history, device configuration, and server options files.
Table 31 lists the recovery plan file stanzas, and indicates what type of administrative processing is required during setup of DRM, routine processing, or disaster recovery. It also indicates whether the stanza contains a macro, JCL, script, or a configuration file.

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
Note:
In the column "Administrative Action during Setup or Periodic Updates," None indicates that DRM automatically collects this information for the file.
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

Example Disaster Recovery Plan File

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.

Description and Table of Contents 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 Requirements Stanza

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                                                              |
+--------------------------------------------------------------------------------+

Recovery Instructions Stanzas

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.

Note:
prefix is the prefix portion of the file name. See Specifying Defaults for the Disaster Recovery Plan File.

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.

Note:
prefix is the prefix portion of the file name. See Specifying Defaults for the Disaster Recovery Plan File.

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.

Note:
prefix is the prefix portion of the file name. See Specifying Defaults for the Disaster Recovery Plan File.

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.

Note:
prefix is the prefix portion of the file name. See Specifying Defaults for the Disaster Recovery Plan File.

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.

Note:
prefix is the prefix portion of the file name. See Specifying Defaults for the Disaster Recovery Plan File.

For more information on editing the text source file, see Specifying Recovery Instructions for Your Site.

Volume and Device Requirements Stanzas

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                                                            |
+--------------------------------------------------------------------------------+

Disaster Recovery Mode Stanza

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:

CFGFILES.CREATE
LOGDBVOL.CREATE
LOGDBVOL.INSTALL
RESTORE.DB
START.SERVER

This REXX EXEC also invokes the TSM macros contained in the following stanzas:

COPYVOL.AVAIL
COPYVOL.DESTR
PRIMVOL.DESTR

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                                                        |
+--------------------------------------------------------------------------------+

Normal Mode Stanza

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                                                         |
+--------------------------------------------------------------------------------+

Creates Files Stanza

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                                                         |
+--------------------------------------------------------------------------------+

Server Recovery Stanzas

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                                                            |
+--------------------------------------------------------------------------------+

Copy Storage Pool Volumes Stanzas

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                                                         |
+--------------------------------------------------------------------------------+

Primary Storage Pool Volumes Stanzas

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:

  1. Replacement primary volume names must be different from any other original volume name or replacement name.

  2. The RESTORE STGPOOL command restores storage pools on a logical basis. There is no one-to-one relationship between an original volume and its replacement.

  3. There will be corresponding entries to define these volumes in the stanza PRIMVOL.REPLACE. If you choose to change the names of volumes in this stanza, you will also need to change the corresponding entries in PRIMVOL.REPLACE.

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:

  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 attribute=no

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:

  1. Replacement primary volume names must be different from any other original volume name or replacement name.

  2. The RESTORE STGPOOL command restores storage pools on a logical basis. There is no one-to-one relationship between an original volume and its replacement.

  3. There will be entries for the same volume in PRIMVOL.REPLACEC and PRIMVOL.REPLACE if the volume has a device class of DISK. If you choose to change the names of the volumes in this stanza, you will also need to change the corresponding entries in PRIMVOL.REPLACEC.

  4. You must be careful not to violate the data set name or removable volume label requirements of the MVS operating system. The PLANVOLPOSTFIX character increases the length of the data set name or removable volume label by 1. For example, for a primary volume of device type DISK:

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                                                       |
|                                                                                |
+--------------------------------------------------------------------------------+

Storage Pool Restore Stanza

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                                                       |
|                                                                                |
+--------------------------------------------------------------------------------+

Configuration Stanzas

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                                                                |
+--------------------------------------------------------------------------------+

Example SMS Version of the Disaster Recovery Plan File

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                                                        |
+--------------------------------------------------------------------------------+

 


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]