View previous topic :: View next topic
Author
Message
magesh23586 Active User Joined: 06 Jul 2009Posts: 213 Location: Chennai
we have a db2 job which basically takes image copy to a tape dataset which is consuming more time , please advice on optimizing the same.
JCL
Code:
//DSNNPROC EXEC PGM=DSNUTILB,REGION=5000K,
// PARM='YYYP,YYYYYYY,'
//STEPLIB DD DSN=DB2.XXXX.YYYNLOAD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//UTPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=D
//SYSIN DD DSN=UUUU.PARMLIB(PPPPPPP),DISP=SHR
//SYSCOPY DD DSN=ZZZ.DB2.YYYYYYY.KKKKKKK.FFFFFFFF(+1),
// DISP=(NEW,CATLG,DELETE),
// DCB=(MODEL,RECFM=FB,BLKSIZE=28672,LRECL=4096),
// UNIT=(CART,,DEFER),
// VOL=(,RETAIN),
// LABEL=(01,SL,,EXPDT=99000)
//DDNAMEC DD DSN=ZZZ.DRDB6.YYYYYYY.KKKKKKK.FFFFFFFF(+1),
// DISP=(NEW,CATLG,DELETE),
// DCB=(MODEL,RECFM=FB,BLKSIZE=28672,LRECL=4096),
// UNIT=(CART,,DEFER),
// VOL=(,RETAIN),
// LABEL=(01,SL,,EXPDT=99000)
Sysin...
COPY TABLESPACE KKKKKKK.FFFFFFFF
DSNUM ALL
COPYDDN (SYSCOPY)
RECOVERYDDN (DDNAMEC)
FULL YES
SHRLEVEL REFERENCE
JESMSGLG
Code:
20.55.50 JOB10559 IEF877E YYYYYYY NEEDS 1 UNIT(S) 723
723 FOR DSNNPROC STEP01 DDNAMEC
723 FOR VOLUME PRIVAT- 1
723 OFFLINE
723 0200-0204 0206-0211 0216-021F
723 :
20.55.50 JOB10559 IEF878I END OF IEF877E FOR YYYYYYY DSNNPROC STEP01 DDNAMEC
20.55.50 JOB10559 *201 IEF238D YYYYYYY - REPLY DEVICE NAME,'WAIT' OR 'CANCEL'.
20.55.50 JOB10559 OPS1181H INIT OPSS (*Local*) MVS N/A MESSAGE.IEF238D R 2
20.55.50 JOB10559 R 201,WAIT
20.55.50 JOB10559 R 201,WAIT
20.55.51 JOB10559 *202 IEF433D YYYYYYY - WAIT REQUESTED -- REPLY 'HOLD' OR 'NOH
20.55.51 JOB10559 OPS1181H INIT OPSS (*Local*) MVS N/A MESSAGE.IEF433D R 2
20.55.51 JOB10559 R 202,NOHOLD
20.55.51 JOB10559 R 202,NOHOLD
20.56.28 JOB10559 IEF244I YYYYYYY DSNNPROC STEP01 - UNABLE TO ALLOCATE 1 UNIT(
20.56.28 JOB10559 IEF877E YYYYYYY NEEDS 1 UNIT(S) 960
960 FOR DSNNPROC STEP01 DDNAMEC
960 FOR VOLUME PRIVAT- 1
960 OFFLINE
960 0200-0204 0206-0211 0216-021F
960 :
20.56.28 JOB10559 IEF878I END OF IEF877E FOR YYYYYYY DSNNPROC STEP01 DDNAMEC
20.56.28 JOB10559 *209 IEF238D YYYYYYY - REPLY DEVICE NAME,'WAIT' OR 'CANCEL'.
20.56.28 JOB10559 OPS1181H INIT OPSS (*Local*) MVS N/A MESSAGE.IEF238D R 2
20.56.28 JOB10559 R 209,WAIT
20.56.28 JOB10559 R 209,WAIT
20.56.29 JOB10559 *210 IEF433D YYYYYYY - WAIT REQUESTED -- REPLY 'HOLD' OR 'NOH
20.56.29 JOB10559 OPS1181H INIT OPSS (*Local*) MVS N/A MESSAGE.IEF433D R 2
20.56.29 JOB10559 R 210,NOHOLD
20.56.29 JOB10559 R 210,NOHOLD
20.57.08 JOB10559 IEF244I YYYYYYY DSNNPROC STEP01 - UNABLE TO ALLOCATE 1 UNIT(
20.57.08 JOB10559 IEF877E YYYYYYY NEEDS 1 UNIT(S) 563
563 FOR DSNNPROC STEP01 DDNAMEC
563 FOR VOLUME PRIVAT- 1
563 OFFLINE
563 0200-0204 0206-0211 0216-021F
563 :
20.57.08 JOB10559 IEF878I END OF IEF877E FOR YYYYYYY DSNNPROC STEP01 DDNAMEC
20.57.08 JOB10559 *220 IEF238D YYYYYYY - REPLY DEVICE NAME,'WAIT' OR 'CANCEL'.
20.57.08 JOB10559 OPS1181H INIT OPSS (*Local*) MVS N/A MESSAGE.IEF238D R 2
20.57.08 JOB10559 R 220,WAIT
20.57.08 JOB10559 R 220,WAIT
20.57.09 JOB10559 *221 IEF433D YYYYYYY - WAIT REQUESTED -- REPLY 'HOLD' OR 'NOH
20.57.09 JOB10559 OPS1181H INIT OPSS (*Local*) MVS N/A MESSAGE.IEF433D R 2
20.57.09 JOB10559 R 221,NOHOLD
20.57.09 JOB10559 R 221,NOHOLD
20.59.16 JOB10559 IEF244I YYYYYYY DSNNPROC STEP01 - UNABLE TO ALLOCATE 1 UNIT(
20.59.16 JOB10559 IEF877E YYYYYYY NEEDS 1 UNIT(S) 757
757 FOR DSNNPROC STEP01 DDNAMEC
757 FOR VOLUME PRIVAT- 1
757 OFFLINE
757 0200-0204 0206-0211 0216-021F
757 :
20.59.16 JOB10559 IEF878I END OF IEF877E FOR YYYYYYY DSNNPROC STEP01 DDNAMEC
20.59.16 JOB10559 *232 IEF238D YYYYYYY - REPLY DEVICE NAME,'WAIT' OR 'CANCEL'.
20.59.16 JOB10559 OPS1181H INIT OPSS (*Local*) MVS N/A MESSAGE.IEF238D R 2
20.59.16 JOB10559 R 232,WAIT
20.59.16 JOB10559 R 232,WAIT
20.59.16 JOB10559 *233 IEF433D YYYYYYY - WAIT REQUESTED -- REPLY 'HOLD' OR 'NOH
20.59.16 JOB10559 OPS1181H INIT OPSS (*Local*) MVS N/A MESSAGE.IEF433D R 2
20.59.16 JOB10559 R 233,NOHOLD
20.59.16 JOB10559 R 233,NOHOLD
21.02.33 JOB10559 IEF244I YYYYYYY DSNNPROC STEP01 - UNABLE TO ALLOCATE 1 UNIT(
21.02.33 JOB10559 IEF877E YYYYYYY NEEDS 1 UNIT(S) 716
716 FOR DSNNPROC STEP01 DDNAMEC
716 FOR VOLUME PRIVAT- 1
716 OFFLINE
716 0200-0204 0206-0211 0216-021F
716 :
21.02.33 JOB10559 IEF878I END OF IEF877E FOR YYYYYYY DSNNPROC STEP01 DDNAMEC
21.02.33 JOB10559 *240 IEF238D YYYYYYY - REPLY DEVICE NAME,'WAIT' OR 'CANCEL'.
21.02.33 JOB10559 OPS1181H INIT OPSS (*Local*) MVS N/A MESSAGE.IEF238D R 2
21.02.33 JOB10559 R 240,WAIT
21.02.33 JOB10559 R 240,WAIT
21.02.35 JOB10559 *241 IEF433D YYYYYYY - WAIT REQUESTED -- REPLY 'HOLD' OR 'NOH
21.02.35 JOB10559 OPS1181H INIT OPSS (*Local*) MVS N/A MESSAGE.IEF433D R 2
21.02.35 JOB10559 R 241,NOHOLD
21.02.35 JOB10559 R 241,NOHOLD
21.18.53 JOB10559 IEC501A M 2364,PRIVAT,SL,COMP,YYYYYYY,DSNNPROC.STEP01,ZZZ.DB
21.18.54 JOB10559 IECTMS9 2364,867543,YYYYYYY ,SYSCOPY ,CATALOG ,00001,TSR1A
21.18.55 JOB10559 IEC705I TAPE ON 2364,867543,SL,COMP,YYYYYYY,DSNNPROC.STEP01,
21.18.55 JOB10559 *IEC501A M 0205,PRIVAT,SL,COMP,YYYYYYY,DSNNPROC.STEP01,ZZZ.DR
21.18.55 JOB10559 *TMS001 IEC501A M 0205,PRIVAT,SL,COMP,YYYYYYY,DSNNPROC.STEP0
21.19.33 JOB10559 IECTMS3 0205,826247,IS NOT SCRTCH (24)
21.19.34 JOB10559 IEC502E R 0205,826247,SL,YYYYYYY,DSNNPROC
21.19.34 JOB10559 TMS014 IEC502E R 0205,826247,SL,YYYYYYY,DSNNPROC
21.19.34 JOB10559 *IEC501A M 0205,PRIVAT,SL,COMP,YYYYYYY,DSNNPROC.STEP01,ZZZ.DR
21.19.34 JOB10559 *TMS001 IEC501A M 0205,PRIVAT,SL,COMP,YYYYYYY,DSNNPROC.STEP0
21.20.14 JOB10559 IECTMS9 0205,826290,YYYYYYY ,DDNAMEC ,CATALOG ,00001,TSR1A
21.20.31 JOB10559 IEC705I TAPE ON 0205,826290,SL,COMP,YYYYYYY,DSNNPROC.STEP01,
21.20.34 JOB10559 IEC205I SYSCOPY,YYYYYYY,DSNNPROC,FILESEQ=1, COMPLETE VOLUME
690 DSN=ZZZ.DB2.YYYYYYY.KKKKKKK.FFFFFFFF.G0152V00,VOLS=867543,
690 TOTALBLOCKS=160
21.20.56 JOB10559 IEC205I DDNAMEC,YYYYYYY,DSNNPROC,FILESEQ=1, COMPLETE VOLUME
875 DSN=ZZZ.DRDB6.YYYYYYY.KKKKKKK.FFFFFFFF.G0152V00,VOLS=826290,
875 TOTALBLOCKS=160
21.20.56 JOB10559 NDC101I YYYYYYY STEP01 DSNNPROC 00 664 1489 *****
Regards,
Magesh
Back to top
enrico-sorichetti Superior Member Joined: 14 Mar 2007Posts: 10872 Location: italy
Quote:
which is consuming more time
define more time ,
and explain why You think that it should take less than it does now.
Back to top
magesh23586 Active User Joined: 06 Jul 2009Posts: 213 Location: Chennai
Job takes 23 Minutes to just Mount, after mounting the step was completed in 5 minutes.
Please check time from 20.55.50 - 21.18.53 .
Code:
20.55.50 JOB10559 IEF877E YYYYYYY NEEDS 1 UNIT(S) 723
.
.
.
21.18.53 JOB10559 IEC501A M 2364,PRIVAT,SL,COMP,YYYYYYY,DSNNPROC.STEP01,ZZZ.DB
Regards,
Magesh
Back to top
enrico-sorichetti Superior Member Joined: 14 Mar 2007Posts: 10872 Location: italy
it should not take too much ingenuity to understand that the way the job is written does not influence the availability of the needed tape units...
whining on a forum will not make the tape units available sooner
why not speak to Your operations support instead ?
Back to top
magesh23586 Active User Joined: 06 Jul 2009Posts: 213 Location: Chennai
Sure, Will definetly talk with operation team.
Is there any paramter changes we can do to help the job to mount the dataset effectively/quickly ?
Please advice
Code:
//SYSCOPY DD DSN=ZZZ.DB2.YYYYYYY.KKKKKKK.FFFFFFFF(+1),
// DISP=(NEW,CATLG,DELETE),
// DCB=(MODEL,RECFM=FB,BLKSIZE=28672,LRECL=4096),
// UNIT=(CART,,DEFER),
// VOL=(,RETAIN),
Regards,
Magesh
Back to top
expat Global Moderator Joined: 14 Mar 2007Posts: 8797 Location: Welsh Wales
How can you mount a tape when there are no tape drives available ???
Do you not understand that the problem is your job is waiting for tape drives to become available to mount the output tapes onto.
Back to top
Anuj Dhawan Superior Member Joined: 22 Apr 2006Posts: 6250 Location: Mumbai, India
Quote:
which is consuming more time
I hope you're not confusing elapsed time with CPU time?
Back to top
Nic Clouston Global Moderator Joined: 10 May 2007Posts: 2455 Location: Hampshire, UK
And, once a valid scratch tape was mounted the step took just over 1 minute wall time.
Back to top
magesh23586 Active User Joined: 06 Jul 2009Posts: 213 Location: Chennai
Anuj,
I understand it is not consuming CPU and it consuming just time.
Expat,
I understand the job is waiting for the tape drive availability.
I just want know, is there any parameter involved, which will give special priority to my job and make sure the tape drive is available for me at the first time of request. Because after 20 minutes the tape drive was available and the tape is mounted. I have enclosed only one step, there are 20 steps involved, and each takes 20 to 30 minutes. The job take approximately 9 hours.
Regards,
Magesh
Back to top
enrico-sorichetti Superior Member Joined: 14 Mar 2007Posts: 10872 Location: italy
if a tape unit is not available, no jcl or whatsoever parameter will make one available for You full stop
Back to top
Gary Jacek New User Joined: 17 Dec 2007Posts: 64 Location: Victoria, BC, Canada
Perhaps the esoteric "CART" refers to hardware that requires a manual tape mount. That would mean that every time your jobstep changes, some poor console operator must get out of their chair, walk across an acre/hectare of raised floor, find a scratch tape, and mount it in the drive.
// UNIT=(CART,,DEFER),
You should ask your operations support team what tape esoterics might be more appropriate to your needs. They may be able to offer you tape that resides in a silo or ATL that is mounted for you by a robot, or they may be able to offer you an esoteric that gives you access to "virtual tape". That is to say, direct write to DASD which is then archived later to a pool of tapes that back up the virtual tape subsystem.
This list of esoterics can only be provided by your onsite staff.
Good luck.
Back to top
dick scherrer Moderator Emeritus Joined: 23 Nov 2006Posts: 19244 Location: Inside the Matrix
Hello,
Suggest you work with your Operations or Scheduling people to determine why this job is being run when there is no tape device available.
How many tape drives of this type are available on the system?
What about writing the output to dasd and eliminate the wait for the tape?
Back to top
magesh23586 Active User Joined: 06 Jul 2009Posts: 213 Location: Chennai
Thanks for the kind advice,
We have decided to load the data into to DASD, and then move it to tape later using another job, which will be scheduled after batch.
Regards,
Magesh
Back to top
dick scherrer Moderator Emeritus Joined: 23 Nov 2006Posts: 19244 Location: Inside the Matrix
Thank you for letting us know you have a direction.
d
Back to top
Pete Wilson Active Member Joined: 31 Dec 2009Posts: 580 Location: London
What is the point of writing to DASD and then copying that to TAPE, you've just triplicated your data. If you write to DASD then that dataset should be able to be migrated by DFHSM or equivalent which will move that dataset to tape for you, efficiently. Talk to your Storage team to ensure the file you're creating has the correct Dataclas (to compress the file), and the correct Mgmtclas (to ensure it gets migrated). Also, specify BLKSIZE=0 so the dataset automatically gets the right blksize regardless of the media its written to.
Back to top
dick scherrer Moderator Emeritus Joined: 23 Nov 2006Posts: 19244 Location: Inside the Matrix
Yup, agreed
d
Back to top
Gary Jacek New User Joined: 17 Dec 2007Posts: 64 Location: Victoria, BC, Canada
If you have the right permissions, you can write your dataset to disk and then execute a jobstep to ask HSM to send the dataset to ML2. In most shops ML2 is on tape and HSM puts as many datasets as will fit, onto that tape. So very efficient for tape management.
//*
//SENDML2 EXEC PGM=IKJEFT01,DYNAMNBR=128,REGION=1024K
//*
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//*
//SYSTSIN DD *
HMIG 'your.disk.dataset' ML2
/*
//*
Back to top
expat Global Moderator Joined: 14 Mar 2007Posts: 8797 Location: Welsh Wales
I think that Interval Migration would be an easier way to go using DFHSM.
No need to worry about the correct authorisations, no need to update control statement members when changes are made. Just let HSM do its stuff regardless.
Back to top
Please enable JavaScript!