View previous topic :: View next topic
|
Author |
Message |
pkmurali Warnings : 1 Active User
Joined: 15 Dec 2005 Posts: 271
|
|
|
|
Hi Expat,
Thanks for sending a detailed explanation. After getting the total no of cylinders / tracks, what is the formula / step to map that with primary & secondary parameter?
For example i am getting 119 cylinders for LRECL=80 & Input Records = 1000000. How to map them into primary & secondary? Please throw some light on it.
Thanks,
Murali. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
When you have a question, start a new topic rather than posting a reply to a topic that has been inactive for nearly 4 years. . .
There is no "mapping" that i'm aware of. You specify a primary and a secondary. Many organizations have guidelines as to how these are specified. Suggest you talk with your dasd storage management people and learn how this is managed on your system. |
|
Back to top |
|
|
vasanthz
Global Moderator
Joined: 28 Aug 2007 Posts: 1744 Location: Tirupur, India
|
|
|
|
Hi,
I came across a spreadsheet on our forum sometime ago for space calculations.
Have attached it along with this post.
For,
Quote: |
LRECL=80 & Input Records = 1000000. |
As per the spreadsheet you could use,
SPACE=(CYL,(39,4),RLSE)
Hope it helps.
@experts - If this spreadsheet is incorrect, please let me know, cos I am not the author of this document.
Thanks, |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8700 Location: Dubuque, Iowa, USA
|
|
|
|
The primary space allocation should be big enough to handle the size of the data set, with perhaps a little extra to allow for unknown factors. The primary space should be modified for system factors (such as your z/OS version won't allow you to allocate more than 65535 tracks on a volume -- in which case specifying a primary space of 5000 cylinders would be ludicrous). My rule of thumb is to make the secondary space allocation 10 to 25% of the primary unless special circumstances apply (such as I know the file will need twice the primary space next month, or the data set is going in the link list in which case the secondary space should be zero). |
|
Back to top |
|
|
pkmurali Warnings : 1 Active User
Joined: 15 Dec 2005 Posts: 271
|
|
|
|
The topic was started based on the inputs from
ibmmainframes.com/about37184.html
Subject:How to know the no of Track & Block Size with No. of Rec
Quote: |
The basis of your answer is based on record format, record length and the number of records.
INTEGER(27998 / record length) gives the number of records per 3390 optimum block. There are two blocks on a track.
Dividing the number of records expected by the number that will fit on one track gives the number of tracks required.
Divide by 15 to find the number of cylinders required.
EXAMPLE, 391,227 records of FB LRECL=90
INTEGER(27998/90) = 311. Therefor 622 records will fit one track.
391227 / 622 = 628.9823 = 629 tracks required.
629 / 15 = 41.93333 = 42 cylinders required to store your data.
When creating a new dataset code only RECFM and LRECL to allow the system to automatically use the optimum blocksize for each device.
satishk wrote:
As i could see these kind of Q's will not be answered, but, since..u r a new member, i am answering this Q.
And why would these questions not be answered ?
Quote:
A Max of 6 PS files can be alocated in a PDS.
Well my PDS has 734 members in it which sort of blows that duff information out of the water. A directory block will contain 6 members (more if ISPF statistics are not used) and using 3390 format DASD a track will have 45 directory blocks (Except for the first track which only has 44).
Quote:
hence,number of recs is defined as ' LRECL * Blocking Factor '
This number of recs is under the constraint with the LRECL, RECFM =(Any of F,FB,V,FB)
Why bother with a blocking factor, SDB does it all for you for DASD and tape files. What constraints do you mean - please explain.
Quote:
For Example:-
LRECL= 80 then BLKSIZE = 80*100; this 100 is Blocking Factor which determines the number of recs.
See previous note for SDB
Quote:
The RECFM = F or FB or V or VB, since RECFM is associated with RDW-Record Descriptor Word which always occupies 4 BYTES irrespective of its Record Length and it stores the description of the Record Integer.
F format records do not use RDW. This is not clear in your reply.
What is a record integer ?
Quote:
Henceforth, u can get the complete details of the number of Records followed by BLKSIZE.
I do not understand this, please elaborate.
Quote:
I request you to refer to the JCL basics..so that u may not ask these fundamentals.
Not so much as ask fundamentals, but it would prevent you from being given wrong or misleading replies.
_________________
Some people are like Slinkies. They have no real value,
but it sure is fun to see them pushed down the stairs.
|
Based on the above details i prepared one tool to calculate the total no of cylinders required if average no of records and LRECL as input. Based on that for LRECL=80 & Input Records = 1000000 the cylinders calculated was 119. Please let me know whether it is correct or wrong.
Thanks,
Murali. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8796 Location: Welsh Wales
|
|
|
|
Show your workings and results and then you can check it yourself |
|
Back to top |
|
|
pkmurali Warnings : 1 Active User
Joined: 15 Dec 2005 Posts: 271
|
|
|
|
This is the piece of code to calculate space
Code: |
/****************rexx*****/
Say ' Tool to calculate the Cylinders based on No of Records & LRECL'
Say ' Enter the Average No of records needed & LRECL:'
Pull Rec LREC
Temp2 = (27998/LREC) * 2
Track = Rec/Temp2
Cyl1 = Track/15
Say 'Total Cylinders Required = ' TRUNC(Cyl1)
Exit
|
|
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8796 Location: Welsh Wales
|
|
|
|
I use
Code: |
RECBLK = TRUNC(27998 / LRECL)
TRKS = TRUNC(RECS / RECTRK * 2) + 1
CYLS = TRUNC(TRKS / 15) + 1 |
Which always rounds the numbers up to the next integer |
|
Back to top |
|
|
pkmurali Warnings : 1 Active User
Joined: 15 Dec 2005 Posts: 271
|
|
|
|
How to split 119 into primary & secondary? any formula available? |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10888 Location: italy
|
|
|
|
the question does not make much sense!
primary and secondary allocation specifications depend on application design
and how the data processed varies from day to day
so is not really related to the space needed for a fixed amount of data!
the secondary allocation is there to provide for data growth
also the logic behind Your calculation seems a bit Rough to me!
there are some record lengths for which half track might not be the best
blocking |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
Quote: |
How to split 119 into primary & secondary? any formula available? |
Why do you believe you need to split this?
Suggest you re-read the post from Robert. . . |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8700 Location: Dubuque, Iowa, USA
|
|
|
|
Quote: |
How to split 119 into primary & secondary? any formula available? |
What, exactly, do you think a primary and secondary extent is? You should ALWAYS plan on allocating the data set in the primary and only if there is more data should secondary extents be required! Asking how to split an allocation into primary and secondary indicates that (1) you have not paid any attention to the posts in this thread, and (2) you have no business programming on a mainframe without a major amount of training (or retraining) in the basic concepts. The system will handle allocating the data set as space is available, and you have some -- but not very much -- control over the process. |
|
Back to top |
|
|
|