View previous topic :: View next topic
|
Author |
Message |
kgumraj
Active User
Joined: 01 May 2006 Posts: 151 Location: Hyderabad
|
|
|
|
Hi,
One of our partition dataset got corrupted and is giving I/O error. The reason being the Directory block information is verified wrong. Now this partition dataset is been treated as sequential file.
How to repair this error?
Is there anything like VERIFY of IDCAMS for PO
OR
Is it possible to copy the individual members in separate sequential file? |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
The first question would be ..... what is your backup strategy ? |
|
Back to top |
|
|
kgumraj
Active User
Joined: 01 May 2006 Posts: 151 Location: Hyderabad
|
|
|
|
Hi,
expat wrote: |
The first question would be ..... what is your backup strategy ? |
I posted early, how to recover a dataset that got deleted, and from the response. I called data center people and they retrived that for us. But the problem is I am not able to browse one dataset.
other dataset is working fine.
Hope you got it. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
If the directory has been corrupted, then the dataset will need to be recovered from the latest backup that was taken before the corruption occurred. |
|
Back to top |
|
|
kgumraj
Active User
Joined: 01 May 2006 Posts: 151 Location: Hyderabad
|
|
|
|
Hi,
expat wrote: |
If the directory has been corrupted, then the dataset will need to be recovered from the latest backup that was taken before the corruption occurred. |
if the Backup itself is corrupted, how can we repair that ? |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
That depends on when the dataset became corrupted, and how long or soon after it was noticed.
If you do not have any valid backups, then you can not restore it.
I am not sure if you can add a dummy member by IEBGENER and repair the directory, might be worth a try.
Code: |
//SYSUT1 DD *
DUMMY RECORD
/*
//SYSUT2 DD DSN=your.pds(DUMMY),DISP=OLD,
// RECFM=FB,LRECL=80,SPACE=(pri,sec,dirblks)
|
I will try and find out if this is possible. It somehow sticks in my mind that it might work. Let me know if you try it, and if I get some time I'll take a look and see what I can find out. |
|
Back to top |
|
|
GlobalGyan
New User
Joined: 31 Jan 2006 Posts: 28
|
|
|
|
How did you manage to get your PDS 'corrupted'? :=)
-GG |
|
Back to top |
|
|
mmwife
Super Moderator
Joined: 30 May 2003 Posts: 1592
|
|
|
|
Is this a source lib PDS? |
|
Back to top |
|
|
kgumraj
Active User
Joined: 01 May 2006 Posts: 151 Location: Hyderabad
|
|
|
|
Hi,
mmwife wrote: |
Is this a source lib PDS? |
Yes, it has all the programs in it. |
|
Back to top |
|
|
Phrzby Phil
Senior Member
Joined: 31 Oct 2006 Posts: 1042 Location: Richmond, Virginia
|
|
|
|
I have had a PDS corrupted by writing to it with the wrong LRECL. I could no longer access any members. Bummer. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
That situation would almost certainly be corrected by the code I posted earlier. |
|
Back to top |
|
|
kgumraj
Active User
Joined: 01 May 2006 Posts: 151 Location: Hyderabad
|
|
|
|
Hi,
expat wrote: |
That situation would almost certainly be corrected by the code I posted earlier. |
Your JCL will solve the error, but empty the file |
|
Back to top |
|
|
murmohk1
Senior Member
Joined: 29 Jun 2006 Posts: 1436 Location: Bangalore,India
|
|
|
|
Kiran,
Quote: |
but empty the file |
What do you mean by that? It is a file or PDS you are talking about. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Why will it empty the file ???
All it is doing is writing a new member to the PDS and resetting the RECFM & LRECL parameters. Done it a few times before, and all OK.
You can omit the space parameters for a RECFM / LRECL change. |
|
Back to top |
|
|
mmwife
Super Moderator
Joined: 30 May 2003 Posts: 1592
|
|
|
|
Expat is right. This happens fairly often. His solution won't won't empty the file. It just creates a dummy member in the PDS and in so doing, restores the orig lrecl/blksize (assuming you know what it was).
PS Don't use the space param. If you don't know the DCB info, Code:
DCB=(prod_source_lib_dsn) or is it DCB=(*.prod_source_lib_dsn) ? where,
prod_source_lib_dsn is in std DSN format. |
|
Back to top |
|
|
Neil Culleton
New User
Joined: 16 Jul 2008 Posts: 1 Location: Australia
|
|
|
|
For the next person who <blush> corrupts a dataset by writing to it using a wrong LRECL, the above solution works.
In my case i needed more DCB parms:
===================================
//COPY1 EXEC PGM=IEBGENER
//SYSUT1 DD *
DUMMY RECORD
/*
//SYSUT2 DD DISP=OLD,DSN=HLQ.XXX.YYY(DUMMY),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920)
===================================
Using just LRECL or just BLKSIZE was giving:
'IEB311I CONFLICTING DCB PARAMETERS' on the IEBGENER.
Cheers,
Neil. |
|
Back to top |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2546 Location: Silicon Valley
|
|
|
|
Quote: |
if the Backup itself is corrupted, how can we repair that ? |
Some sites keep multiple generations of a dataset. For example, HSM has a GEN() parameter in the HRECOVER command, so you can recover not the most recent generation, but an older version. |
|
Back to top |
|
|
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
Hi,
I'm surprised to hear how often PDS become corrupted, surely it warrants investigating the problem.
I remember having the occasional one and found that utilities like IEBGENER, IDCAMS, SORT and even REXX's causing problems, I found by creating temporary PDS's and using IEBCOPY to copy the member to the target library, problems seemed to disappear.
I don't remember corruptions being caused by IEBCOPY.
Now that's not to say I don't use these utilities to write directly into the target libraries, but I try to avoid it.
Gerry |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hi Gerry,
Quote: |
I'm surprised to hear how often PDS become corrupted, |
From what i've noticed (at least on this forum) it is often caused when people (who do not yet understand how things "work") use "their own" jcl to compile/link instead of the "standard" compile/link for their system. |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
or people writting rexx scripts to modify and don't bother creating and using a test (copy) pds first. |
|
Back to top |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2546 Location: Silicon Valley
|
|
|
|
Instead of PDSs, I think people should use PDSEs. Functionality is the same. But the underlying organization is different. I think you can you avoid many of the problems that you might have with a PDS. |
|
Back to top |
|
|
|