Db2 utilities coexistence recommendations

Until all members of the data sharing group are running Db2 12, avoid use of new utility capabilities in Db2 12. If you use utility options that are supported in Db2 11, utilities can attach to either a Db2 11 or Db2 12 member.

Important: Start of changeIn data sharing release coexistence, you must restart a utility on a member on the same Db2 release as the member where the utility job was originally submitted. The same utility ID (UID) must be used to restart the utility. That UID is unique within a data sharing group. However, if Db2 fails, you must restart Db2 on either the same or another z/OS system before you restart the utility.End of change

Start of changeThe utilities batch program (DSNUTILB) is split into multiple load modules: a release-independent load module called DSNUTILB, multiple release-dependent modules DSNUT111 or DSNUT121, and forDb2 11 it includes multiple utility-dependent feature load modules.End of change To operate in a mixed-release data sharing environment, you must have DSNUT111, and DSNUT121. You must also have all utility-dependent load modules and their aliases for utilities that you purchased for use with Db2 11 available to the utility jobs that operate across the data sharing group. The following examples show how you can make thee required load modules available.

Changing STEPLIB in DSNUPROC

The recommended method for making the release-dependent modules available for utility jobs is to change the STEPLIB in DSNUPROC to include the other release, as in the following example:

//DSNUPROC PROC LIB='DSN1210.SDSNLOAD',
//         SYSTEM=DSN,
//         SIZE=0K,UID=',UTPROC='
//DSNUPROC EXEC PGM=DSNUTILB,REGION=&SIZE,
//         PARM='&SYSTEM,&UID,&UTPROC'
//STEPLIB  DD   DSN=&LIB,DISP=SHR;
//         DD   DSN=DSN1110.SDSNLOAD,DISP=SHR <— coexistence
//SYSPRINT DD   SYSOUT=*
//UTPRINT  DD   SYSOUT=*
//SYSUDUMP DD   SYSOUT=*
//*DSNUPROC PEND        REMOVE * FOR USE AS INSTREAM PROCEDURE

Cross-copy into load libraries

Another approach, which is not recommended for long-term use, is to cross-copy the release-dependent modules into the load libraries of the other release. For example, copy DSNUT111 into the Db2 12 load libraries, and copy DSNUT121 into the Db2 11 load libraries. The problem with this approach is that you must repeat this procedure every time you apply maintenance to these modules. Thus, as with coexistence in general, this approach is only for short-term use.

The following shows sample JCL to complete the cross-copy: Start of change
//
CROSCOPY PROC D121TPRE='DSN1210',
//            D111TPRE='DSN1110',
//            RGN=4096K,SOUT='*'
//* *******************************************************************
//*    FOR EXECUTION OF IEBCOPY - DB2 POST-INSTALLATION             ***
//* *******************************************************************
//COPY     EXEC PGM=IEBCOPY,REGION=&RGN
//SYSUT3   DD  UNIT=SYSDA,SPACE=(CYL,(5,1))
//SYSUT4   DD  UNIT=SYSDA,SPACE=(CYL,(5,1))
//* **************  DB2 TARGET LIBRARIES  *****************************
//*
//D111LOAD DD  DSN=&D111TPRE..SDSNLOAD,DISP=OLD
//D121LOAD DD  DSN=&D121TPRE..SDSNLOAD,DISP=OLD
//*
//         PEND
//COEXIST  EXEC PROC=DSNTIJCO
//SYSIN    DD *
  COPYMOD INDD=((D121LOAD,R)),OUTDD=D111LOAD
   SELECT MEMBER=(DSNUT121)     
  COPYMOD INDD=((D111LOAD,R)),OUTDD=D121LOAD
   SELECT MEMBER=(DSNUT111)        <-- add any utility-dependent feature modules here
End of change
Start of change

When to update COPY, RECOVER, and REBUILD INDEX jobs for Db2 catalog objects

You might need to update COPY, RECOVER, and REBUILD INDEX utility jobs to add new or remove obsolete Db2 catalog objects after migration to Db2 12. When a utility encounters the following situations for When a utility encounters the following situations for Db2 catalog objects, it issues message DSNU1530I:
  • The object is no longer used or no longer exists.
  • The object is created in a higher catalog level or function level.

For best results, update the utility jobs for the new or obsolete Db2 catalog objects after you activate the function level that the changes support, when coexistence with Db2 11 is no longer a possibility. For more information about the catalog changes in Db2 12, see Catalog changes in Db2 12.

End of change