View previous topic :: View next topic
|
Author |
Message |
Selva-kumar
New User
Joined: 01 Mar 2007 Posts: 52 Location: chennai
|
|
|
|
Hi,
The VSAM file which am using is getting error while writing and abends with File status of 24. As file status 24 is meant for writing the file beyond its boundary, i checked the file attributes in LISTCAT and it has freespace.
This abend occurs when some other parallel jobs are running. When i re-ran this job once other job got completed, it ran fine. I like to know what esle could be the reason for it. I have given the LISTCAT entry details.
Code: |
REC-TOTAL------157633863* SPLITS-CI--------5133783*
REC-DELETED----235822166* SPLITS-CA---------216139*
REC-INSERTED---329090551* FREESPACE-%CI---------14
REC-UPDATED------------0* FREESPACE-%CA---------10
REC-RETRIEVED--334018593* FREESPC-----140266774528*
USER-DATA-SIZE----------------------------94902151432
ALLOCATION
SPACE-TYPE------CYLINDER HI-A-RBA----173861683200
IDCAMS SYSTEM SERVICES
SPACE-PRI-----------2985 HI-U-RBA----171701452800
SPACE-SEC-----------2985
|
|
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Quote: |
As file status 24 is meant for writing the file beyond its boundary, i checked the file attributes in LISTCAT and it has freespace. |
Why do you think the file having freespace would have anything to do with a file status 24? |
|
Back to top |
|
|
Selva-kumar
New User
Joined: 01 Mar 2007 Posts: 52 Location: chennai
|
|
|
|
Thats because if all the HI-A-RBA is being used up, and if we try to write, it could have caused file status 24. |
|
Back to top |
|
|
PeterHolland
Global Moderator
Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
|
|
Your HURBA is not totally used, so there could be space. If your remove the FSPC with an ALTER what happens then?
And looking at your listcat i suggest to do a reorg for that dataset. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Quote: |
HI-A-RBA----173861683200
HI-U-RBA----171701452800 |
You have not used all the free space at the end of the file.
How many disk packs is this file on? |
|
Back to top |
|
|
PeterHolland
Global Moderator
Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
|
|
Quote: |
Quote:
HI-A-RBA----173861683200
HI-U-RBA----171701452800
You have not used all the free space at the end of the file.
|
Are you repeating me Robert |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
No, Peter, you're just preceding me! |
|
Back to top |
|
|
PeterHolland
Global Moderator
Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
|
|
Sorry Robert,
i forgot how fast i can be (sometimes). |
|
Back to top |
|
|
Selva-kumar
New User
Joined: 01 Mar 2007 Posts: 52 Location: chennai
|
|
|
|
Peter,
The file has a freespace allocation of (14 10) during the file creation. If i remove the FSPC with ALTER command, wont i get problem when i try to update/insert/delete records in this file? Also, i did a re-org to this file some 8 months back.
Robert,
I believe you are asking for the number of volumes that the file is on with the term 'disk pack is on'. The file is on 22 volumes. correct me if misunderstood ur question |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
There's two limits that apply to VSAM extended addressability files -- 59 volumes and CI size times 4 GB. Since your data set is only on 22 volumes, it does not appear to be reaching either limit.
Freespace is only relevant when inserting records -- updates in place (unless the record length changes) won't impact the freespace, and deletes add to freespace (although it may not be usable freespace). If your file does not have freespace defined where an insert is done, the normal CI and CA split rules will apply. |
|
Back to top |
|
|
Pete Wilson
Active Member
Joined: 31 Dec 2009 Posts: 580 Location: London
|
|
|
|
You may need to add more candidate volumes for the file to extend to if it has reached the full number assigned by it's Dataclas, or Volume parameter on the define. This is obviously a very large file at 161Gb going by the HURBA.
Enter the following in an IDCAMS job to add a further 5 candidates:
ALTER dsname VOLUMES(* * * * *)
It's impossible to tell from the portion of LISTCAT shown but is the FSPC(14 10) appropriate? The file obviously has huge numbers of inserts so the CI freespace is probably required, and perhaps a reorg needs to be done more regularly, but does 14% CI freespace allow for the MAXLRECL at least? Be helpful to see the LISTCAT page showing MIN/MAX LRECL's, KEYLEN. |
|
Back to top |
|
|
Selva-kumar
New User
Joined: 01 Mar 2007 Posts: 52 Location: chennai
|
|
|
|
This is the definition of that vsam file.
Code: |
DEFINE CLUSTER -
(NAME(File name) -
KEYS(47 0) -
REUSE -
RECORDSIZE(159 2389) -
SHAREOPTIONS(2 3) -
CYL(4000 4000) -
FREESPACE (14 10) -
SPEED) -
DATA -
(NAME(File name.DATA) -
CISZ(4096)) -
INDEX -
(NAME(File name.INDEX) -
CISZ(2048))
|
|
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
1. Your index CI size is too small based on the key length and data CI size.
2. The data CI size is not very good considering the maximum record length.
3. These help explain why your file is 81% free space.
And these may explain the intermittent 24 file status codes. |
|
Back to top |
|
|
Pete Wilson
Active Member
Joined: 31 Dec 2009 Posts: 580 Location: London
|
|
|
|
Data CICIZE would be better at 26624 for example as that would only waste 334bytes per CI for max recordsize, but two minlrecls could fit into that so not much waste at all. And if freespace was set to 9% it would allow for one maxlrecl record to fit comfortably in the 2396 bytes, or a fairly even number of lrecl 159's.
Data CICIZE at 12288 would also only waste 334bytes per CI for max recordsize. And if freespace was set to 20% it would allow for one maxlrecl record to fit comfortably in the 2457 bytes.
Using the 4096 byte Data CISIZE means you could be wasting up to 2245 bytes per CI for maxlrecl as only 1.7 maxlrecl can fit into 4096 wasting 1672 bytes and the 14% freespace provides 573 bytes which 2389 won't fit into, although two 159 lrecl's would.
Basically CISIZE can be any multiple of 512 so you find what fits your LRECL best for the Data CI and calculate what freespace will be as a percentage of the CISIZE in bytes. For the Index I think in these later releases of DFP IBM have finally made so it will provide an appropriate CISIZE by default to avoid the 'dead' unreferenced CI issue of the past.
NOTE: If the file is used by CICS you have to make sure there are buffer pools available for the changed CISIZE's first. |
|
Back to top |
|
|
|