Mark,
I have the same cloning process as you logically. I know exactly the problem
you face. Your rfe makes sense.
I get around it by cloning at the volume level, but there is always the outlier
that needs to be cloned by itself, or the once in awhile fix that needs to be
made.When I run into that I either rename then delete the enqueued dataset
via ispf, and then reload, or if the dataset is actually in use validly, I use
idcams to delete all members, compress, then reload via iebcopy.
There is a restore with tol(enqf) I believe too.
Dave Jousma
Vice President | Director, Technology Engineering
Fifth Third Bank | 1830 East Paris Ave, SE | MD RSCB2H | Grand Rapids, MI
49546
616.653.8429
From: IBM Mainframe Discussion List on behalf of
Mark Zelden
Sent: Friday, October 13, 2023 10:55:30 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: DFDSS RFE - Please read / vote
On Fri, 13 Oct 2023 15: 31: 42 -0500, Mark Zelden wrote:
I've had some offline responses also. Including the suggestion to use
TOLERATE(ENQFAILURE) which only applies to the input dataset. Let me explain
again and show
On Fri, 13 Oct 2023 15:31:42 -0500, Mark Zelden wrote:
I've had some offline responses also. Including the suggestion to use
TOLERATE(ENQFAILURE)
which only applies to the input dataset. Let me explain again and show all
the DFDSS control cards.
I have an "program products" sysres that is an extension of IBM OS sysres.
There is a maintenance
version of that sysres, just like you have a maintenance IBM sysres that you
apply SMP/E maintenance
to. The PP sysres gets cloned along with the IBM sysres via full volume disk
to disk copies. That is not
a problem.
That program products sysres (really 2 3390-27 volumes) has perhaps 40 IBM /
ISV products.
All the datasets are indirectly catalogued via Program product SMP/E
target libs are copied
(and renamed during the copy) to the PP maintenance sysres at various time.
When maintenance
for any give product is applied (or an upgrade) and is ready to roll out the
sysprog copies
the SMP/E targets to this maintenance sysres. So think of it as a volume were
changes are staged for
production. Then after cloning, the changes are rolled out as a package, be it
with IBM OS maintenance,
one product, several products, or any combination like that. This is done via
rolling IPLs in
a sysplex environment so as not to cause any application outages (usually half
the LPARs one
month, the other half the next month). Almost every product's main loadlib is
in the LNKLST - at
least anything that has associated production JCL, TSO CLISTs / EXECs, ISPxLIBs
etc. If something is only
used by an STC, it may not be in the LNKLST. This is to shield anyone from
having to make
JCL changes etc. (pretty standard stuff, right?).
So many of these datasets being "staged" prior to cloning are ENQed. If the
input library
in the copy is larger than the one on the maintenance sysres volume, that is
when DFDSS
fails. If it doesn't have to scratch / reallocate the dataset that already
exists to make it
larger to accommodate the input data set size, it works fine.
Here is a sample of the copy process with DFDSS, only there would be many more
libraries copied / renamed than just a single one for almost all products.
(another shortcoming
of DFDSS compared to FDRCOPY where only the HLQ can be renamed and FDRCOPY can
rename the hlq plus add / remove nodes for multiple datasets - dozens if I
needed, in a single
control statement, but I digress...)
//SYSINDD *
COPY DS( -
INCLUDE( -
smphlq.product.V6R3.LINKLIB -
) -
) -
RENAMEU( -
(smphlq.product.V6R3.LINKLIB -
prodhlq.product.LINKLIB)-
) -
SHARE TOL(ENQF) PROCESS(SYS1) -
BYPASSACS(**) -
NULLSTORCLAS-
LIDY(inpvol)-
OUTDYNAM(outvol,SYSALLDA) -
REPLACEUNCONDITIONAL -
WAIT(2,2) ALLDATA(*) ALLEXCP
/*
If prodhlq.product.LINKLIB is ENQed (in this case you can presume it is due to
being in the LNKLST on the driving system), you get this error:
ADR497E (001)-CATLG(07), A CATALOG ERROR OCCURRED WHILE DELETING UNCATALOGED
DATA SET prodhlq.product.LINKLIB. RETURN CODE IS 102, REASON
CODE IS FP-007
ERROR OCCURRED WHILE DELETING UNCATALOGED DATA SET
** VOTE here by clicking the vote icon at the top left!
https://urldefense.com/v3/__https://ibm-z-hardware-and-operating-systems.ideas.ibm.com/ideas/ZOS-I-3862__;!!MwwqYLOC6b6whF7V!l88xZXKbWy57EEOicntO2a0U2-ASRLcj7Ya5t5ggE89_A6unfsAePPoZPdaeGWNpUinbleEiMkvaePQ$
Regards, Mark
>Sorry for top posting...
>
>Let's address your comments one keyword at a time:
>
>DELETE - deletes the source (input) dataset. Ouch! Lets not delete my SMP/E
>target libs during copy to my sysres set please!
>
>PURGE - overlays an output dataset that has an expiration date not yet
>reached. Not applicable.
>
>UNCOND - no such parm