IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Need help in restoring a TAPE file to a DASD file


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
zhaochunli

New User


Joined: 03 Dec 2008
Posts: 7
Location: china

PostPosted: Mon Dec 22, 2008 12:07 pm
Reply with quote

I have the JOB below to restore a TAPE file to a DASD file using ADRDSSU.

Code:

//STEP010  EXEC PGM=ADRDSSU                         
//SYSPRINT DD SYSOUT=*                             
//TAPE     DD UNIT=(CART,,DEFER),                   
//         VOL=(,,,50),                           
//         LABEL=EXPDT=99000,                   
//         DISP=(OLD,KEEP),                     
//         DSNAME=STIBS.CI27015M.EXTRACT(+0)     
//DASD   DD DSNAME=STIBS.CI27015M.EXT,           
//         UNIT=SYSDA,                           
//         DISP=(NEW,PASS,DELETE),               
//         SPACE=(CYL,(5,1),RLSE),               
//         DCB=(RECFM=FB,LRECL=300,BLKSIZE=23400)
//SYSIN    DD *                                     
      RESTORE DATASET(INCLUDE(CI27015M.EXTRACT)) -       
             TGTGDS(ACTIVE) -                           
             INDDNAME(TAPE) OUTDDNAME(DASD) REPLACE

The JCL return code 0008 because:
THE DUMP DATA SET IS EMPTY
NO DATA SETS WERE COPIED, DUMPED, OR RESTORED FROM ANY VOLUME
ChunLi
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Mon Dec 22, 2008 1:01 pm
Reply with quote

Hello,

Have you verified that the file is actually on that tape?

Do you have the output from the j0ob that created the backup? If yes, post the control statements and the informatoinal messages presented when the job was run.
Back to top
View user's profile Send private message
zhaochunli

New User


Joined: 03 Dec 2008
Posts: 7
Location: china

PostPosted: Mon Dec 22, 2008 1:25 pm
Reply with quote

Hi d.sch.,
Thanks for you replay!

I am sure the file is actually on the tape. Because this file is created by below code:
    //*----OUTFILE----*
    //SYS003 DD DSN=&PREFIX..CI27015D.ACCUM(&NEWGEN),
    // DISP=(NEW,CATLG,DELETE),
    // UNIT=(CART,,DEFER),
    // VOL=(,,,50),
    // LABEL=EXPDT=99000,
    // DCB=(GDG.MODEL,RECFM=FB,LRECL=300,BLKSIZE=23400)

There is no output from the job.
The Joblog as below:
    ADR101I (R/I)-RI01 (01), TASKID 001 HAS BEEN ASSIGNED TO COMMAND 'RESTORE '
    ADR109I (R/I)-RI01 (01), 2008.357 13:40:17 INITIAL SCAN OF USER CONTROL STATEMENTS COMPLETED.
    ADR016I (001)-PRIME(01), RACF LOGGING OPTION IN EFFECT FOR THIS TASK
    ADR006I (001)-STEND(01), 2008.357 13:40:17 EXECUTION BEGINS
    ADR337E (001)-TDDS (01), THE DUMP DATA SET IS EMPTY
    ADR415W (001)-TDDS (02), NO DATA SETS WERE COPIED, DUMPED, OR RESTORED FROM ANY VOLUME
    ADR006I (001)-STEND(02), 2008.357 13:41:09 EXECUTION ENDS
    ADR013I (001)-CLTSK(01), 2008.357 13:41:09 TASK COMPLETED WITH RETURN CODE 0008
    ADR012I (SCH)-DSSU (01), 2008.357 13:41:09 DFSMSDSS PROCESSING COMPLETE. HIGHEST RETURN CODE IS 0008 FROM: TASK 001

thanks.
ChunLi
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Mon Dec 22, 2008 1:36 pm
Reply with quote

Quote:
I am sure the file is actually on the tape.
........
ADR337E (001)-TDDS (01), THE DUMP DATA SET IS EMPTY


review Your sureness, dfdss is more trustworthy than You judgement
Back to top
View user's profile Send private message
zhaochunli

New User


Joined: 03 Dec 2008
Posts: 7
Location: china

PostPosted: Mon Dec 22, 2008 1:58 pm
Reply with quote

Hi enrico-sorichetti,

Yes, if i view this file, present the message 'GDG base or tape entry'. So it's sure the Tape file.

Maybe there has another error in my code?
please help me, thanks very much.

ChunLi
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Mon Dec 22, 2008 2:06 pm
Reply with quote

did You care to look at the manual to understand the meaning of the
messages You received...
looks like not
the message is clear,

Quote:
ADR337E (ttt)-mmmmm(yy), THE DUMP DATA SET IS EMPTY
Explanation: An attempt has been made to restore from an empty dump data set.
System Action: The return code is 8.
Operator Response: None.
Application Programmer Response: Rerun the job with a good dump data set.
Source: DFSMSdss


follow the manual' s advice
Rerun the job with a good dump data set.
Back to top
View user's profile Send private message
Douglas Wilder

Active User


Joined: 28 Nov 2006
Posts: 305
Location: Deerfield IL

PostPosted: Mon Dec 22, 2008 8:43 pm
Reply with quote

This is the message you get when the dataset to be restored is not in the backup dataset specified. Is the file name to be restored 'CI27015M.EXTRACT'? Only 2 nodes long? Could you show us the control card used in the backup? If the messages listed above are from the backup, it looks like nothing was backed up. Did you try dumping some of the records from the tape to see if the dataset is actually on the tape?
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Mon Dec 22, 2008 9:15 pm
Reply with quote

Hello,

Quote:
I am sure the file is actually on the tape. Because this file is created by below code:

Code:
//*----OUTFILE----*
//SYS003 DD DSN=&PREFIX..CI27015D.ACCUM(&NEWGEN),
// DISP=(NEW,CATLG,DELETE),
// UNIT=(CART,,DEFER),
// VOL=(,,,50),
// LABEL=EXPDT=99000,
// DCB=(GDG.MODEL,RECFM=FB,LRECL=300,BLKSIZE=23400)

This will surely catalog a new generation, but does not guarantee that the file you want is on the backup. Look at the output of the execution that created the generation you are trying to use and see if the file was copied to the backup.

You might also run the backup again and ensure the file you want is copied.

An unverified backup is only that - unverified. It is at best a file of questionable content (until it is used and verified - one of the first things that should happen with a newly created backup process is verification that not only did it run to successful eoj, but that it copied everything that it should.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Mon Dec 22, 2008 9:23 pm
Reply with quote

for dfdss dumps the best practice to avoid later troubles is to run a jib with two steps
step 1 - dump
step 2 - restore with the parameter
Quote:
TYPRUN=NORUN
For copy, dump, restore, compress, and release operations, only input data set selection is done without actually processing data sets. Printed output for the run indicates the data sets selected. For a defragmentation operation, the initial volume statistics are printed without actually relocating any extents. For a CONVERTV operation, a full report is produced, but no volumes or data sets are actually converted. For CGCREATE operation, only control card syntax checking is done. The task is not processed.


it could be worth to automate the checking by writing the dfdss sysouts to two datasets
and run something to compare for mismatches
Back to top
View user's profile Send private message
zhaochunli

New User


Joined: 03 Dec 2008
Posts: 7
Location: china

PostPosted: Tue Dec 23, 2008 10:58 am
Reply with quote

Hi all,
Thank you very much, but it still does not work.
Now, I attached the JCL & JobLog for FYI.

Thanks & regards
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Tue Dec 23, 2008 11:35 am
Reply with quote

Hello,

Please review your jcl and control statements. They are completely out of sync. . . If that is the job that was submitted previously to create the backup, none was created.

After you correct the jobstream, run it again. If there are questions or probems, please post the same info as you posted this time using copy/paste and the "Code" tag rather than uploading attahments. Many people are not permitted to download atachments due to security restrictions on their systems.
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Tue Dec 23, 2008 12:38 pm
Reply with quote

DO NOT post attachments as many people can not download then.
Back to top
View user's profile Send private message
zhaochunli

New User


Joined: 03 Dec 2008
Posts: 7
Location: china

PostPosted: Tue Dec 23, 2008 1:18 pm
Reply with quote

hi d.sch.,

I'm very sorry to trouble you.
Quote:
They are completely out of sync. . . It that is the job that was submitted previously to crate the backup, none was created.

i can't see this completely, please advice me, thank you.

thanks & regards
ChunLi
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Tue Dec 23, 2008 1:24 pm
Reply with quote

from the sysout attached
Quote:
0ADR415W (001)-DTDSC(04), NO DATA SETS WERE COPIED, DUMPED, OR RESTORED FROM ANY VOLUME


what does that hint You ????
the dump dataset is empty
also the dataset naming is odd
Quote:
- DUMP DATASET(INCLUDE(ZCLICDU.VALID.TAPE)) -
OUTDDNAME(TAPE2)
ADR101I (R/I)-RI01 (01), TASKID 001 HAS BEEN ASSIGNED TO COMMAND 'DUMP '
RESTORE DATASET(INCLUDE(ZCLICDU.VALID.TAPE2)) -
INDDNAME(TAPE2) OUTDDNAME(DASD) REPLACE

but ZCLICDU.VALID.TAPE2 is the dfdss file name

everything is confusing here
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Tue Dec 23, 2008 5:34 pm
Reply with quote

Code:
//STEP020  EXEC PGM=ADRDSSU                                             00077404
//SYSPRINT DD SYSOUT=*                                                  00077504
//TAPE1    DD DSNAME=ZCLICDU.VALID.TAPE,                                00077604
//            UNIT=(HCART,,DEFER),                                      00077704
//            VOL=(,,,50),                                              00077804
//            LABEL=EXPDT=99000,                                        00077904
//            DISP=OLD                                                  00078004
//TAPE2    DD DSNAME=ZCLICDU.VALID.TAPE2,                               00078104
//            UNIT=(HCART,,DEFER),                                      00078204
//            VOL=(,,,50),                                              00078304
//            LABEL=EXPDT=99000,                                        00078404
//            DISP=(NEW,CATLG,DELETE)                                   00078504
//DASD     DD DSNAME=ZCLICDU.VALID.NDASD,                               00079004
//            UNIT=SYSDA,                                               00079104
//            DISP=(NEW,CATLG,DELETE),                                  00079204
//            SPACE=(CYL,(5,1),RLSE),                                   00079304
//            DCB=(RECFM=FB,LRECL=300,BLKSIZE=23400)                    00079404
//SYSIN    DD *                                                         00079504
 DUMP DATASET(INCLUDE(ZCLICDU.VALID.TAPE)) -                            00079604
      OUTDDNAME(TAPE2)                                                  00079704
 RESTORE DATASET(INCLUDE(ZCLICDU.VALID.TAPE2)) -                        00079904
      INDDNAME(TAPE2) OUTDDNAME(DASD) REPLACE                           00080004
/*                                                                      00080204
This step makes absolutely no sense.
1) Why have DDNAME TAPE1 if you're going to do the backup by DATASET?
2) If you decide to do a RESTORE immediately after the DUMP, you need some way to check the DUMP code to ensure it actually worked before doing the restore.
3) You are attempting to RESTORE a dataset name you did not back up. This cannot be done. If you wish to restore ZCLICDU.VALID.TAPE into a new dataset name, you have to restore ZCLICDU.VALID.TAPE and use the RENAMEUNCONDITIONAL option of the restore.
4) If you're going to do a restore, you absolutely cannot use the same name for the DF/DSS backup file as the restored file -- you're not ever going to be able to do that.

Perhaps if you attempt to describe just what it is you're attempting to accomplish with this hodgepodge, we could suggest ways to do it that will actually have a chance of working.
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Tue Dec 23, 2008 5:47 pm
Reply with quote

What we really need to see here is the output from the run that wrote the tape STIBS.CI27015M.EXTRACT(+0).

From that we can see which datasets were backed up and which ones were not.
Back to top
View user's profile Send private message
zhaochunli

New User


Joined: 03 Dec 2008
Posts: 7
Location: china

PostPosted: Thu Dec 25, 2008 9:15 am
Reply with quote

Hi all,
Thank you very much....

Regards,
ChunLi
Back to top
View user's profile Send private message
zhaochunli

New User


Joined: 03 Dec 2008
Posts: 7
Location: china

PostPosted: Thu Dec 25, 2008 3:50 pm
Reply with quote

Hi all,
With your help, now, I can dump a DASD file to a TAPE and can resore it successfully, but if I have a TAPE file that processed by a PGM, how should i do can view and edit it? If I don't use IEBGENER, then how should I do can copy it to DASD?

please advice.
I'm looking forward to your replay.
Thanks in advance.
Merry Xmas.

ChunLi
Back to top
View user's profile Send private message
Arun Raj

Moderator


Joined: 17 Oct 2006
Posts: 2481
Location: @my desk

PostPosted: Thu Dec 25, 2008 4:28 pm
Reply with quote

Quote:
If I don't use IEBGENER, then how should I do can copy it to DASD?
You can use SyncSort/DFSORT if you have either of those.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
No new posts SFTP Issue - destination file record ... All Other Mainframe Topics 2
No new posts Access to non cataloged VSAM file JCL & VSAM 18
No new posts Need help for File Aid JCL to extract... Compuware & Other Tools 23
Search our Forums:

Back to Top