Example: Activating database mirroring

Overview

The decision whether to use software mirroring for a product database is typically taken during the installation procedure of the product. Following is a sample job that shows how you can activate software mirroring for an existing product database.

Important: All database access must be stopped during the entire procedure.

Steps

The following example refers to the _beta check|z MAIN database.

Step 1:

BST05CMD inserts the definitions for MAINKEYM (mirrored key of MAIN) and MAINDATM (mirrored data of MAIN) in the _beta check|z database definition file.

Step 2:

BST05CMD updates the definitions of MAINKEY (key of MAIN) and MAINDATA (data of MAIN) in the _beta check|z database definition file.

Step 3:

IDCAMS creates physical mirror data component.

Step 4:

IDCAMS creates physical mirror key component.

Step 5:

IDCAMS copies the content from the data/key database component to the mirror data/key database component.

JCL

+-----------------------------------------------------------------------+
|jobcard |
|//* |
|//* STEP 1: INSERT MAINKEYM AND MAINDATM DEFINITION IN B91DEF |
|//UPDDEF1 EXEC PGM=BST01RFF,REGION=0M, |
|// PARM=('S=91,B01LST=00,B91LST=00', |
|// 'PGM=BST05CMD,SIGNON=NO') |
|//* |
|//STEPLIB DD DISP=SHR,DSN=BETA.APFLOAD |
|// DD DISP=SHR,DSN=BSA.LOAD |
|// DD DISP=SHR,DSN=BETA91.LOAD |
|//* |
|//SFFPARM DD DISP=SHR,DSN=BETA.PARMLIB |
|//* |
|//B91DEF DD DISP=SHR,DSN=BETA91.BQL.DEF |
|//* |
|//BQLIN DD * |
| DEFINE INSERT FILE MAINDATM - |
| MIRRORFILE - |
| PRODUCT B91 - |
| COMMENT ' BETA91 DEFINITION TABLES' - |
| LNAME MAIN_DATABASE_DATA_FILE - |
| DSNAME BETA91.BQL.MIRRMAIN.DATA - |
| KEY MAINKEYM - |
| VOLUME(SMS) - |
| UNIT 3390 - |
| SPACE 10 - |
| CISIZE 4096 |
| DEFINE INSERT FILE MAINKEYM - |
| MIRRORFILE - |
| PRODUCT B91 - |
| COMMENT ' BETA91 DEFINITION TABLES' - |
| LNAME MAIN_DATABASE_KEY_FILE - |
| DSNAME BETA91.BQL.MIRRMAIN.KEY - |
| VOLUME(SMS) - |
| UNIT 3390 - |
| SPACE 10 - |
| CISIZE 4096 |
|/* |
|//BQLPRINT DD SYSOUT=* |
|//SYSPRINT DD SYSOUT=* |
|//* |
|//SFFFDUMP DD SYSOUT=* |
|//SYSUDUMP DD SYSOUT=* |
|//SYSABEND DD SYSOUT=* |
|//* |

|//* STEP 2: UPDATE MAINKEY AND MAINDATA DEFINITION IN B91DEF |
|//UPDDEF2 EXEC PGM=BST01RFF,REGION=0M, |
|// PARM=('S=91,B01LST=00,B91LST=00', |
|// 'PGM=BST05CMD,SIGNON=NO') |
|//* |
|//STEPLIB DD DISP=SHR,DSN=BETA.APFLOAD |
|// DD DISP=SHR,DSN=BSA.LOAD |
|// DD DISP=SHR,DSN=BETA91.LOAD |
|//* |
|//SFFPARM DD DISP=SHR,DSN=BETA.PARMLIB |
|//* |
|//B91DEF DD DISP=SHR,DSN=BETA91.BQL.DEF |
|//* |
|//BQLIN DD * |
| DEFINE UPDATE FILE MAINDATA - |
| MIRROR (MAINDATM) |
| DEFINE UPDATE FILE MAINKEY - |
| MIRROR (MAINKEYM) |
|/* |
|//BQLPRINT DD SYSOUT=* |
|//SYSPRINT DD SYSOUT=* |
|//* |
|//SFFFDUMP DD SYSOUT=* |
|//SYSUDUMP DD SYSOUT=* |
|//SYSABEND DD SYSOUT=* |
|//* |
|//* STEP 3: CREATE PHYSICAL MIRROR DATA COMPONENT |
|//DBDEF1 EXEC PGM=IDCAMS |
|//SYSIN DD * |
| DEFINE CLUSTER( - |
| NAME(BETA91.BQL.MIRRMAIN.DATA) - |
| CYLINDERS(40,5) - |
| SHAREOPTIONS(3 3) - |
| OWNER(BETA91) - |
| UNIQUE - |
| NONINDEXED - |
| ) - |
| DATA( - |
| NAME(BETA91.BQL.MIRRMAIN.DATA.DATA) - |
| CONTROLINTERVALSIZE(4096) - |
| RECORDSIZE(4088 4088) - |
| ) |
|/* |
|//SYSPRINT DD SYSOUT=* |
|//* |

|//* STEP 4: CREATE PHYSICAL MIRROR KEY COMPONENT |
|//DBDEF2 EXEC PGM=IDCAMS |
|//SYSIN DD * |
| DEFINE CLUSTER( - |
| NAME(BETA91.BQL.MIRRMAIN.KEY) - |
| CYLINDERS(20,5) - |
| SHAREOPTIONS(3 3) - |
| OWNER(BETA91) - |
| UNIQUE - |
| NONINDEXED - |
| ) - |
| DATA( - |
| NAME(BETA91.BQL.MIRRMAIN.KEY.DATA) - |
| CONTROLINTERVALSIZE(4096) - |
| RECORDSIZE(4088 4088) - |
| ) |
|/* |
|//SYSPRINT DD SYSOUT=* |
|//* |
|//* STEP 5: COPY DATA FROM DATA/KEY TO MIRROR DATA/KEY |
|//DBREPRO EXEC PGM=IDCAMS |
|//* |
|//OLD1 DD DISP=OLD,DSN=BETA91.BQL.MAIN.DATA |
|//NEW1 DD DISP=SHR,DSN=BETA91.BQL.MIRRMAIN.DATA |
|//OLD2 DD DISP=OLD,DSN=BETA91.BQL.MAIN.KEY |
|//NEW2 DD DISP=SHR,DSN=BETA91.BQL.MIRRMAIN.KEY |
|//* |
|//SYSPRINT DD SYSOUT=* |
|//SYSIN DD * |
| REPRO INFILE(OLD1) OUTFILE(NEW1) |
| REPRO INFILE(OLD2) OUTFILE(NEW2) |
|/* |
+-----------------------------------------------------------------------+