Job DBMOVE - ENQ problem 'waiting for datasets'
search cancel

Job DBMOVE - ENQ problem 'waiting for datasets'

book

Article ID: 228650

calendar_today

Updated On:

Products

DISK BACKUP AND RESTORE Disk Backup and Restore - MVS DATACOM - AD Datacom/AD

Issue/Introduction

During the execution of DISK job CCUWJCL(DBMOVE) to enlarge or move the Datacom DB, the job can fail with the below messages:

11.00.34 JOB35447  IEF196I ACF9CCCD USERID A328352  IS ASSIGNED TO THIS JOB - SMDBMOVE
11.00.34 JOB35447  IEF861I FOLLOWING RESERVED DATA SET NAMES UNAVAILABLE TO SMDBMOVE
11.00.34 JOB35447  IEF863I DSN = DMS.META.T0.DB.DMS650 SMDBMOVE RC = 04 RSN = 00000000 FROM SERVICE ENQ
11.00.34 JOB35447  IEF863I DSN = DMS.META.T0.DB.IXX650 SMDBMOVE RC = 04 RSN = 00000000 FROM SERVICE ENQ
11.00.34 JOB35447 *IEF099I JOB SMDBMOVE WAITING FOR DATA SETS

What is causing the problem and how to fix it.

Environment

Release :  

Component : Disk Backup and Restore

Resolution

The above messages are caused by an MVS ENQ problem on the IXX and DMS datasets because in the same job there are conflicting actions against the same Datacom DB (it tries to close the DB and  allocate with DISP=NEW a dataset which is currently managed by Datacom).

In order to avoid any ENQ problem the Best Practice is to split the DBMOVE job in 2 subsequent jobs as follows:

JOB1 - executing the 1st and 2nd step of DBMOVE job (CLOSE/BACKUP-RENAME)

JOB2 - executing the 3rd and 4th step of DBMOVE job  (ALLOC - LOAD/OPEN) 

Here the two sample jobs we suggest to execute:

JOB1 :

//DBMOVE01  JOB (...),MSGCLASS=T,
//          REGION=0K,CLASS=P1
//*
//********************************************************************
//*                                                                  *
//*   THIS JOB IS INTENDED TO BE USED IF YOU NEED TO MOVE A          *
//*   CA DISK DATABASE TO ANOTHER PACK(S) OR IF YOU NEED TO          *
//*   COPY THE DATABASE TO A LARGER ALLOCATION.                      *
//*                                                                  *
//*     GENERALLY THIS WILL BE USED AT SUPPORT'S REQUEST.            *
//*                                                                  *
//*   CA DISK DATABASE MUST BE CLOSED BEFORE THIS JOB CAN BE RUN.    *
//*   ALL CA DISK TASKS USING THE DATABASE MUST BE QUIESCED.         *
//*                                                                  *
//*   --- THE MUF MUST BE UP TO RUN THIS JOB. ---                    *
//*                                                                  *
//*   THE JOB CONTAINS FOUR STEPS AND MUST BE SPLITTED INTO 2 JOBS   *
//*   OTHERWISE YOU WILL FACE ENQUEUE ISSUES.                        *
//*                                                                  *
//*   ADJUST THE REQUESTED DBID:                                     *
//*                                                                  *
//*                                                                  *
//*   1. JOB:                                                        *
//*   BACKUP - BACKS UP THE DATABASE IN NATIVE SEQUENCE              *
//*   RENAME - RENAMES EXISTING DATA AREAS                           *
//*                                                                  *
//*   2. JOB:                                                        *
//*   ALLOC  - ALLOCATES NEW DATA SETS                               *
//*   LOAD   - RELOADS THE DATABASE                                  *
//*                                                                  *
//*   EXAMINE THE DATA AREA ALLOCATION SIZES TO BE SURE THEY ARE     *
//*   AT LEAST AS LARGE AS THE CURRENT ALLOCATIONS. YOU MAY INCREASE *
//*   THE SIZE OF ANY OF THE DATA AREAS.                             *
//*                                                                  *
//********************************************************************
//BACKUP   EXEC PGM=DBUTLTY,REGION=4M
//*
//SYSPRINT DD   SYSOUT=*
//DATAOUT  DD   DISP=(NEW,CATLG,DELETE),SPACE=(CYL,(500,100),RLSE),
//         DSN=DMS.SKA.P0.DB.DMS650.BACK(+1)
//SYSIN    DD   *
 SET OPTION1=ON-ERROR-CONTINUE
 ACCESS STATUS=OFF,DBID=650,USERS=WAIT
 COMM OPTION=CLOSE,DBID=650
 BACKUP DBID=650,DDNAME=DATAOUT,SEQBUFS=128,SEQ=NATIVE
/*
//********************************************************************
//*      RENAME EXISTING DATA AREAS
//*
//RENAME   EXEC PGM=IDCAMS,REGION=4M
//SYSOUT   DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//SYSUDUMP DD  SYSOUT=*
//SYSIN    DD  *
   ALTER  DMS.META.T0.DB.IXX650 -
     NEWNAME(DMS.META.T0.DB.IXX650.OLD)
   ALTER  DMS.META.T0.DB.DMS650 -
     NEWNAME(DMS.META.T0.DB.DMS650.OLD)
/*
//

JOB2: 

//DBMOVE02  JOB (..),MSGCLASS=T,
//          REGION=0K,CLASS=P1 
//*
//********************************************************************
//*      ALLOCATE NEW DATA AND INDEX AREAS
//*
//ALLOC    EXEC PGM=IEFBR14
//DMS650   DD DSN=DMS.META.T0.DB.DMS650,
//         DISP=(,CATLG,DELETE),
//         UNIT=SYSDA,MGMTCLAS=SUB#U099,
//         SPACE=(CYL,(200,50))
//IXX650   DD DSN=DMS.META.T0.DB.IXX650,
//         DISP=(,CATLG,DELETE),
//         UNIT=SYSDA,MGMTCLAS=SUB#U099,
//         SPACE=(CYL,(100,20))
//********************************************************************
//LOAD     EXEC PGM=DBUTLTY,REGION=0M,MEMLIMIT=NOLIMIT,
//         COND=(0,LT)
//*
//SYSPRINT DD   SYSOUT=*
//SORTMSG  DD   SYSOUT=*
//SORTDIAG DD   SYSOUT=*
//DATAIN   DD   DISP=(OLD,KEEP),DSN=DMS.SKA.P0.DB.DMS650.BACK(0)
//SYSIN    DD   *
 INIT AREA=IXX,DBID=650
 INIT AREA=DMS,DBID=650
 LOAD DBID=650,FORMAT=BACKUP,DDNAME=DATAIN,
      KBYTES=98,SORT=9999999,OPTIMIZE=YES,OPTION1='(I)',
      SORTDD=SORTMSG,SORTDFLT=YES,SORTWK=7
 SET OPTION1=ON-ERROR-CONTINUE
 ACCESS STATUS=WRITE,DBID=650
/*

 

Additional Information

The additional changes evidenced in green are introduced to increase the performance of the LOAD step, according to  the knowledge article "Calculate the SORTWK space needed on CA Datacom DBUTLTY LOAD and RETIX",