Db2 for z/OS on IBM Z

Db2 for z/OS on IBM Z

Db2 for z/OS on IBM Z

Leading enterprise data server technology powering business critical transactions and analytics

 View Only

Redirected Recovery with the RECOVER utility

By LI FEI ZHENG posted Fri August 27, 2021 04:27 AM

  

What is redirected recovery. 


A redirected recovery is when the RECOVER utility redirects the recovery of an object (the source) to another object (the target). Specifically, the target table space, index space, or index is recovered by using image copies and log records of the associated source object. The data or index keys in the source object and the applications on the
source object are unaffected by the recovery.


Why it's needed. 

Redirected recoveries are useful for testing recovery procedures and data analysis.  With redirected recovery,  customer is able to 
  • verify that the recovery procedure is valid and determine if recovery time object can be met easily and accurately 
  • recover production data to a point in time or to the current state for testing, analysis , or transporting to another Db2 subsystem with consistency.  
All of these tasks can be performed without impacting data availability.


Solution overview

Recovery utility is enhanced to support redirected recovery. 
  • Use recovery resources of source table spaces(image copies and Db2 logs) to recover target table spaces. 
  • To a point in time or to the current state with consistency(uncommitted work is backed out).  To current is treated as PIT recovery, current RBA/LRSN after RECOVER has done DRAIN ALL on target object is the recovery point
  • Source OBIDs will be translated to target OBIDs
  • UTS and LOB table spaces.
  • Definition of source and target objects must be same 
  • COPY-pending is set on target objects 
  • Available in V12 FL500 or higher.  Enabling APAR PH27043. 
  • Index currently is not supported yet

Sample RECOVER utility syntax 
----
RECOVER TABLESPACE TARGETDB.TARGETTS FROM SOURCEDB.SOURCETS 
----

Availability of objects involved. 
  • Source objects are available for INSERT,UPDATE, DELETE and most utilities , but not for ALTER. ( UTRW is set)
  • Target objects are not available for applications and most other utilities. (UTUT is set)

SYSCOPY record is inserted for target objects.  
  • ICTYPE = P 
  • STYPE = F
  • DSNAME = Source dbname.tsname 
  • PIT_RBA = Recovery log point 
  • START_RBA = Current RBA/LRSN at end of redirected recovery 

Recommended actions on target after RECOVER completion. 
  • REPAIR CATALOG 
  • Run COPY to create new recovery base 
  • REBUILD any indexes 
  • CHECK DATA if in CHKP 
  • Sample scenarios. 


Sample Scenarios

Scenario 1 - Redirected recovery fails when definition of source and target objects don't match. 
Source objects DDL 
----
CREATE TABLESPACE SOURCETS IN TESTDB MAXPARTITIONS 1;
CREATE TABLE SOURCETB
(COL1 CHAR(10),
COL2 INT)
IN TESTDB.SOURCETS;
----

Target objects DDL 
----
CREATE TABLESPACE TARGETTS IN TESTDB MAXPARTITIONS 1;
CREATE TABLE TARGETTB
(COL1 VARCHAR(10),
COL2 INT)
IN TESTDB.TARGETTS;
----

Redirected Recovery to current fails with RC8.  
----
DSNU050I 238 02:36:13.91 DSNUGUTC - RECOVER TABLESPACE TESTDB.TARGETTS FROM TESTDB.SOURCETS
DSNU1566I -DB2A 238 02:36:13.91 DSNUCASV - TARGET TABLESPACE TESTDB.TARGETTS DIFFERS FROM
SOURCE TABLESPACE TESTDB.SOURCETS TABLE SCHEMA MISMATCH
DSNU1567I -DB2A 238 02:36:13.91 DSNUCASV - DEFINITION OF TARGET TABLE ADMF001.TARGETTB DIFFERS FROM
SOURCE TABLE ADMF001.SOURCETB: TARGET TABLE COLUMN 1 DATA TYPE IS VARCHAR, SOURCE TABLE DATA
TYPE IS CHARACTER
DSNU500I 238 02:36:13.92 DSNUCBDR - RECOVERY COMPLETE, ELAPSED TIME=00:00:00
DSNU012I 238 02:36:13.92 DSNUGBAC - UTILITY EXECUTION TERMINATED, HIGHEST RETURN CODE=8
----


Scenario 2 - Redirected recovery to current 

Redirected recovery job output. 
----
DSNU050I 239 00:23:55.33 DSNUGUTC - RECOVER TABLESPACE TESTDB.TARGETTS FROM TESTDB.SOURCETS
DSNU1569I -DB2A 239 00:23:55.34 DSNUCAIN - RECOVERY LOGPOINT IS X'00DA395A6748B2100400'
DSNU3345I 239 00:23:55.36 DSNUCBMT - MAXIMUM UTILITY PARALLELISM IS 1 BASED ON NUMBER OF OBJECTS
DSNU427I 239 00:23:55.36 DSNUCBMT - OBJECTS WILL BE PROCESSED IN PARALLEL,
NUMBER OF OBJECTS = 1

DSNU515I 239 00:23:55.36 DSNUCBAL - THE IMAGE COPY DATA SET DSNC000.TESTDB.SOURCETS.D210827.P000.FCOPY WITH
DATE=20210827 AND TIME=002336
IS PARTICIPATING IN RECOVERY OF TABLESPACE TESTDB.TARGETTS
DSNU504I 239 00:23:55.76 DSNUCBRT - MERGE STATISTICS FOR TABLESPACE TESTDB.TARGETTS -
NUMBER OF COPIES=1
NUMBER OF PAGES MERGED=4
ELAPSED TIME=00:00:00
DSNU578I -DB2A 239 00:23:55.78 DSNUCALA - SYSLGRNX INFORMATION FOR MEMBER DB2A
DSNU513I -DB2A 239 00:23:55.78 DSNUCALA - RECOVER UTILITY LOG APPLY RANGE IS
RBA 000000000001483B9748 LRSN 00DA395A5BD432DF0600 TO
RBA 00000000000000000000 LRSN 00DA395A6748B2100400
DSNU1568I -DB2A 239 00:23:55.79 DSNUCALA - LOGAPPLY PHASE: 20 LOG RECORDS READ, 3 LOG RECORDS APPLIED
DSNU1510I 239 00:23:55.79 DSNUCBLA - LOG APPLY PHASE COMPLETE, ELAPSED TIME = 00:00:00
DSNU1550I -DB2A 239 00:23:55.79 DSNUCALC - LOGCSR IS STARTED FOR MEMBER DB2A, PRIOR CHECKPOINT RBA =
X'0000000000014837E476'
DSNU1568I -DB2A 239 00:23:55.79 DSNUCALC - LOGCSR PHASE: 370 LOG RECORDS READ, 0 LOG RECORDS APPLIED
DSNU1551I -DB2A 239 00:23:55.79 DSNUCALC - LOGCSR IS FINISHED FOR MEMBER DB2A, ELAPSED TIME = 00:00:00
DSNU1552I -DB2A 239 00:23:55.79 DSNUCALC - LOGCSR PHASE COMPLETE, ELAPSED TIME = 00:00:00
DSNU1553I -DB2A 239 00:23:55.79 DSNUCALC - RECOVER UTILITY DETECTS THE FOLLOWING ACTIVE URS:
INFLIGHT = 1, INABORT = 0, INDOUBT = 0, POSTPONED ABORT = 0 COMMITTED = 0, ABORTED = 0

MEM T CONNID CORRID AUTHID PLAN S URID DATE TIME
DB2A B TSO SYSADM SYSADM DSNESPUR F 000000000001483BA000 2021-08-27 07.23.46
DBNAME SPACENAME DBID/PSID PART RBA
TESTDB TARGETTS 011E/0004 0001 00DA395A5F4D037BC000

DSNU1554I -DB2A 239 00:23:55.81 DSNUCALU - LOGUNDO IS STARTED FOR MEMBER DB2A
DSNU1568I -DB2A 239 00:23:55.81 DSNUCALU - LOGUNDO PHASE: 14 LOG RECORDS READ, 1 LOG RECORDS APPLIED
DSNU1556I -DB2A 239 00:23:55.81 DSNUCALU - LOGUNDO IS FINISHED FOR MEMBER DB2A, ELAPSED TIME = 00:00:00
DSNU1557I -DB2A 239 00:23:55.81 DSNUCALU - LOGUNDO PHASE COMPLETE, ELAPSED TIME = 00:00:00
DSNU1571I -DB2A 239 00:23:55.81 DSNUCATP - OBID TRANSLATION IS COMPLETE FOR TABLESPACE TESTDB.TARGETTS
DSNU1565I 239 00:23:55.81 DSNUCBTP - TRANSLAT PHASE COMPLETE, ELAPSED TIME = 00:00:00
DSNU1575I -DB2A 239 00:23:55.82 DSNUCATM - RUN REPAIR CATALOG UTILITY ON TARGET BASE TABLE SPACES
TO COMPLETE RECOVERY PROCESS
DSNU381I -DB2A 239 00:23:55.83 DSNUGSRX - TABLESPACE TESTDB.TARGETTS IS IN COPY PENDING
DSNU500I 239 00:23:55.83 DSNUCBDR - RECOVERY COMPLETE, ELAPSED TIME=00:00:00
DSNU010I 239 00:23:55.83 DSNUGBAC - UTILITY EXECUTION COMPLETE, HIGHEST RETURN CODE=4
----
0 comments
11 views

Permalink