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

Calculate primary/secondary space


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

Active User


Joined: 15 Dec 2005
Posts: 271

PostPosted: Fri Feb 04, 2011 10:40 am
Reply with quote

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
View user's profile Send private message
dick scherrer

Moderator Emeritus


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

PostPosted: Fri Feb 04, 2011 10:46 am
Reply with quote

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
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1742
Location: Tirupur, India

PostPosted: Fri Feb 04, 2011 2:00 pm
Reply with quote

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
View user's profile Send private message
Robert Sample

Global Moderator


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

PostPosted: Fri Feb 04, 2011 6:04 pm
Reply with quote

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
View user's profile Send private message
pkmurali
Warnings : 1

Active User


Joined: 15 Dec 2005
Posts: 271

PostPosted: Tue Feb 08, 2011 5:57 pm
Reply with quote

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
View user's profile Send private message
expat

Global Moderator


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

PostPosted: Tue Feb 08, 2011 6:06 pm
Reply with quote

Show your workings and results and then you can check it yourself
Back to top
View user's profile Send private message
pkmurali
Warnings : 1

Active User


Joined: 15 Dec 2005
Posts: 271

PostPosted: Tue Feb 08, 2011 6:21 pm
Reply with quote

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
View user's profile Send private message
expat

Global Moderator


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

PostPosted: Tue Feb 08, 2011 6:32 pm
Reply with quote

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
View user's profile Send private message
pkmurali
Warnings : 1

Active User


Joined: 15 Dec 2005
Posts: 271

PostPosted: Tue Feb 08, 2011 8:24 pm
Reply with quote

How to split 119 into primary & secondary? any formula available?
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Tue Feb 08, 2011 8:33 pm
Reply with quote

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
View user's profile Send private message
dick scherrer

Moderator Emeritus


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

PostPosted: Tue Feb 08, 2011 9:50 pm
Reply with quote

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
View user's profile Send private message
Robert Sample

Global Moderator


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

PostPosted: Tue Feb 08, 2011 11:34 pm
Reply with quote

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
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 Replace each space in cobol string wi... COBOL Programming 2
No new posts Execute secondary panel of sdsf with ... CLIST & REXX 1
No new posts how to calculate SUM value for VB fil... DFSORT/ICETOOL 1
No new posts how to calculate SUM for VB file usin... JCL & VSAM 1
No new posts Query on edit primary command CLIST & REXX 5
Search our Forums:

Back to Top