View previous topic :: View next topic
|
Author |
Message |
scerwdriver
New User
Joined: 16 Mar 2009 Posts: 11 Location: Pune
|
|
|
|
Hi,
Can some one please help me on below ?
i have taken backup of two files residing on different volume serial. The files are existing on the respective volume serials.
now i want to restore these backed up files and overwrite the current files in a single JCL.
the file names are :
ABCD.IDMS
ABCD.COBOL
I tried with following but no luck :
Code: |
1.
//RESTDB EXEC PGM=ADRDSSU
//SYSPRINT DD SYSOUT=*
//WORKDB1 DD UNIT=DISK,VOL=SER=DASD1,DISP=SHR
//WORKDB2 DD UNIT=DISK,VOL=SER=DASD2,DISP=SHR
//ARCHIVE DD DSN=ABCD.BACKUP.D020510,DISP=OLD
//SYSIN DD *
RESTORE -
OUTDDNAME(WORKDB1 WORKDB2) -
INDDNAME(ARCHIVE) -
DATASET(INCLUDE( -
ABCD.**)) -
RENAMEUNCONDITIONAL(ABCD.*,ABCD.*) -
CATALOG
/*
2.
//RESTDB EXEC PGM=ADRDSSU
//SYSPRINT DD SYSOUT=*
//WORKDB1 DD UNIT=DISK,VOL=SER=(DASD1,DASD2),DISP=SHR
//ARCHIVE DD DSN=ABCD.BACKUP.D020510,DISP=OLD
//SYSIN DD *
RESTORE -
OUTDDNAME(WORKDB1) -
INDDNAME(ARCHIVE) -
DATASET(INCLUDE(**)) -
RENAMEUNCONDITIONAL(ABCD.*,ABCD.*) -
CATALOG
/* |
This i gave as sample. I want to run this JCL to restore the backup of more than thousand files so that all these files will be restored at their respective locations(at respective DASDs) without the need of deletion of existing files. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
If you use the REPLACE or REPLACEUNCONDITIONAL option there is no need to delete anything.
Also, it may be advisable to post output from failed processes rather than just say "I tried this and it didn't work". We need information to be able to help you, rather than a statement of the obvious. Of course it didn't work, that is why you are posting on the forum. |
|
Back to top |
|
|
scerwdriver
New User
Joined: 16 Mar 2009 Posts: 11 Location: Pune
|
|
|
|
sorry for not mentioning the logs :
i can find the errors as below :
ADR780I (001)-TDDS (01), THE INPUT DUMP DATA SET BEING PROCESSED IS IN PHYSICAL DATA SET FORMAT AND WASCREATED BY DFSMSDSS VERSION
1 RELEASE 10 MODIFICATION LEVEL 0 ON 2010.153 12:03:59
ADR380E (001)-TDPNV(14), DATA SET ABCD.IDMS NOT PROCESSED, 41
ADR382W (001)-TDDS (01), THE FOLLOWING DATA SETS WERE NOT PROCESSED FROM VOLUME DASD1 DUE TO ERRORS
ABCD.IDMS
0ADR415W (001)-TDDS (01), NO DATA SETS WERE COPIED, DUMPED, OR RESTORED FROM LOGICALVOLUME DASD1
ADR380E (001)-TDPNV(14), DATA SET ABCD.COBOL NOT PROCESSED, 41
ADR382W (001)-TDDS (01), THE FOLLOWING DATA SETS WERE NOT PROCESSED FROM VOLUME DASD2 DUE TO ERRORS
ABCD.COBOL
0ADR415W (001)-TDDS (01), NO DATA SETS WERE COPIED, DUMPED, OR RESTORED FROM LOGICALVOLUME DASD2
0ADR415W (001)-TDDS (02), NO DATA SETS WERE COPIED, DUMPED, OR RESTORED FROM ANYVOLUME
These are not SMS- managed DASDs. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
ADR380E return code 41 says
Quote: |
| 41
During physical restore or copy, the target volume is not
| SMS-managed, but one of the following situations occurs:
* | The ACS routine returned an SMS storage class.
* | The user specified BYPASSACS with STORCLAS.
* | The user specified BYPASSACS without STORCLAS, but the
| source data set was SMS-managed.
* | The data set is only supported in an SMS environment. |
You need to work with your site storage management group. It sure looks like the data sets are under SMS control, whether or not the volume you're trying to restore is. |
|
Back to top |
|
|
scerwdriver
New User
Joined: 16 Mar 2009 Posts: 11 Location: Pune
|
|
|
|
Thanks for your suggestions,
you are very true, i have checked it already and hence i wrote 'These are not SMS- managed DASDs.', but including these DASDs under SMS will take time as it has some long procedure .
Thats why i was hoping for some alternative for this,otherwise i have left with the only option that you have suggested. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
You could try the restore with the option BYPASSACS -- but I assume you've tried that and it didn't work. Your RENAMEUNCONDITIONAL option is just a waste of time -- renaming a high level qualifier to itself won't do anything for you. If the data sets already exist, REPLACE or REPLACEUNCONDITIONAL would allow the existing files to be overlaid.
Also you keep mentioning "SMS-managed DASD" -- as if the fact that the ACS routines allow individual high level qualifiers to be under SMS control irrespective of anything else is of no consequence. Believe me, the high level qualifier matters in ACS routines. The disk packs may not be under SMS control, but if the high level qualifier is under SMS control, then you've got to handle that. |
|
Back to top |
|
|
scerwdriver
New User
Joined: 16 Mar 2009 Posts: 11 Location: Pune
|
|
|
|
Many thanks,
the REPLACE or REPLACEUNCONDITIONAL is working but i here i hit with a problem. if you see the start of the post i have written two different syntax.
If i run this jcl with REPLACE clause the only one DASD which is ebncountered first is considered i.e. only DASD1 is processed for restore and throws an error for the second one (the dataset residing on DASD2).
ADR380E (001)-TDPNV(14), DATA SET ABCD.COBOL NOT PROCESSED, 41
i tried with following :
//RESTDB EXEC PGM=ADRDSSU
//SYSPRINT DD SYSOUT=*
//WORKDB1 DD UNIT=DISK,VOL=SER=DASD1,DISP=SHR
//WORKDB2 DD UNIT=DISK,VOL=SER=DASD2,DISP=SHR
//ARCHIVE DD DSN=ABCD.BACKUP.D020510,DISP=OLD
//SYSIN DD *
RESTORE -
OUTDDNAME(WORKDB1) -
INDDNAME(ARCHIVE) -
DATASET(INCLUDE(ABCD.**)) -
REPLACE
RESTORE -
OUTDDNAME(WORKDB2) -
INDDNAME(ARCHIVE) -
DATASET(INCLUDE(ABCD.**)) -
REPLACE
/*
above JCL restores the required datasets whos DASD is used but throws error for 2nd dataset(residing on WORKDB2) while processing for WORKDB1. and while processing for WORKDB2 it throws the same error for the earlier dataset(residing on WORKDB1).
is there any way to avoid this ? so that i would not require to go through the logs for checking every dataset whether it has restored. the situation will be worst when i will be running this on large scale(imagine for thousands of files). |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
What results do you get with
Code: |
//RESTDB EXEC PGM=ADRDSSU
//SYSPRINT DD SYSOUT=*
//WORKDB1 DD UNIT=DISK,VOL=SER=DASD1,DISP=SHR
//WORKDB2 DD UNIT=DISK,VOL=SER=DASD2,DISP=SHR
//ARCHIVE DD DSN=ABCD.BACKUP.D020510,DISP=OLD
//SYSIN DD *
RESTORE -
OUTDDNAME(WORKDB1 WORKDB2) -
INDDNAME(ARCHIVE) -
DATASET(INCLUDE(ABCD.**)) -
REPLACE
/*
|
|
|
Back to top |
|
|
scerwdriver
New User
Joined: 16 Mar 2009 Posts: 11 Location: Pune
|
|
|
|
i'm hitting the same problem with this code too.... i also tried with
giving :
DATASET(INCLUDE(**))
still the processing is done for the DASD that encountered first i.e. in above code it will process for WORKDB1 only.. if i change the position like :
OUTDDNAME(WORKDB2 WORKDB1) -
It will process for WORKDB2 only and gives error
ADR380E (001)-TDPNV(14), DATA SET ABCD.COBOL NOT PROCESSED, 41
for the WORKDB1 file.
due to this i tried with separate restores which restores all the required datasets but gives error as while processing for one dataset on DASD1, it wont process for another dataset residing on DSAD2.
so here the problem is how to avoid this error. Hope i explained correctly! |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
The only thing I can suggest at this point is to open a problem with IBM and hopefully they can tell you more about the 41 return code. |
|
Back to top |
|
|
PeterHolland
Global Moderator
Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
|
|
Till now i didnt see how you created the dump with ADRDSSU. If i remember is that the restore operation depends on how the dump was taken. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
PeterHolland wrote: |
Till now i didnt see how you created the dump with ADRDSSU. If i remember is that the restore operation depends on how the dump was taken. |
Peter, You must be getting old(er), it's a physical format dump. |
|
Back to top |
|
|
PeterHolland
Global Moderator
Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
|
|
Quote: |
ADR780I (001)-TDDS (01), THE INPUT DUMP DATA SET BEING PROCESSED IS IN PHYSICAL DATA SET FORMAT
|
Quote: |
Peter, You must be getting old(er), it's a physical format dump.
|
Oops expat, i think im losing it. But then making such a dump can
depend on different parameters supplied. Conflicting with some
restore operations. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Which is why I would always recommend using a logical dump. I've been caught out by the physical dump syndrome a few times in the past. |
|
Back to top |
|
|
PeterHolland
Global Moderator
Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
|
|
expat wrote: |
Which is why I would always recommend using a logical dump. I've been caught out by the physical dump syndrome a few times in the past. |
Expat, we are on the same level here. (mostly all the time ) |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
I agree -- logical dumps are the way to go! |
|
Back to top |
|
|
|