View previous topic :: View next topic
|
Author |
Message |
lokeshpurushothaman
New User
Joined: 02 Sep 2004 Posts: 5 Location: chennai
|
|
|
|
hi,
can anyone explain me as to how the secondary space for a dataset is allocated?
for eg.
when i code space=(80,(2000,0))
i m able to store exactly 2000 records. if i store another record it gives me a sb37 error which is understandable.
when i code space=(80,(2000,3000))
I am not able to determine as to how many records can this dataset store even before the job runs.
Given a requirement that i want to store 20000 records initially and if i expect an increase in file size by another 10000
how do i code the primary and sec space.
It would be great if you could reply me at *****Email id removed***** |
|
Back to top |
|
|
priya
Moderator
Joined: 24 Jul 2003 Posts: 568 Location: Bangalore
|
|
|
|
Quote: |
when i code space=(80,(2000,0))
i m able to store exactly 2000 records. if i store another record it gives me a sb37 error which is understandable. |
Yes, you can store only 2000 records. because your secondaryu cllcoation is 0.
when i code space=(80,(2000,3000))
I am not able to determine as to how many records can this dataset store even before the job runs.
Now you can store upto: (2000*80) + ((3000*80)*15) bytes for your dataset. |
|
Back to top |
|
|
lokeshpurushothaman
New User
Joined: 02 Sep 2004 Posts: 5 Location: chennai
|
|
|
|
Hi Priya,
Whatever you say is theoritically fine. but practically it doesn't work.
Before posting this question i tried with 5000 records but each time i run the job and then add records thru ispf it either takes in more than 5000 records or less than that. Unable to freeze the no. of records.
More inputs on this is welcome. |
|
Back to top |
|
|
ankyhunk
Moderator
Joined: 05 May 2005 Posts: 98 Location: Navi Mumbai, India
|
|
|
|
Hi Lokesh,
You can try this - SPACE=(CYL,(100,50),RLSE). Here the space allocated would be in cylinders ( 100 primary, 50 secondary). But dont worry the rest of the space will be released through the release parameter at the end of the step. |
|
Back to top |
|
|
lokeshpurushothaman
New User
Joined: 02 Sep 2004 Posts: 5 Location: chennai
|
|
|
|
Hi Ankur,
I guess what you say is wrong because CYL,(100,50),RLSE) will allocate
100 primary cylinders and 50*15=750 secondary cylinders.
Correct me if I am wrong. |
|
Back to top |
|
|
SteveConway
New User
Joined: 26 May 2005 Posts: 28 Location: Northern VA, USA
|
|
|
|
A sequential file, with no striping, no multiple volumes specified, is limited to 16 extents on a given DASD volume. This limitation is due to the format of the VTOC DSCBs.
A primary allocation can be made in up to five extents on a given volume, so you may have from 11 to 15 extents available for secondary allocation. A fragmented or very full volume may affect your allocation.
Barring SMS 'guaranteed space' processing, or an empty DASD volume to work with, and other uses of available technology (striping, multi-volume, etc), it can be impossible to determine exactly how many records a newly-allocated dataset will hold.
Generally speaking, Ankyhunk's statement above is correct, 100 cylinders primary space, and secondary allocation set at 50 cylinders. Lokesh is also correct in pointing out that the system will attempt to allocate that secondary value up to 15 times. You have a potential total size of the dataset of 850 cylinders, as allocated above.
Cheers,,,Steve |
|
Back to top |
|
|
|