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

B37 error after allocating 160 cylinders


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

New User


Joined: 10 Jan 2008
Posts: 36
Location: CHINA

PostPosted: Tue Apr 01, 2008 7:28 am
Reply with quote

Hello,everyone,I encountered a very tricky B37 error.

when I do an unload utility,the output jcl is as follows.

Code:
//SYSREC00  DD DSN=BG50.DS.UNLOAD.DOUTHST.D&TM&TD,
//             DISP=(,CATLG),                     
//             SPACE=(CYL,(10,10),RLSE)


and the dataset is about 88 cylinders.

From the jcl ,we can see the system can allocate 160 cylinders.However,B37 abend occured.

Abend information:

Code:
ADDVOL FOR DD=SYSREC00 DSN=BG50.DS.UNLOAD.DOUTHST.D0331
VOL=BDSYB0 POOL=*NONE* EXT=16
POOL DEFINITION DOES NOT ALLOW VOLUME ADDITION   
IEC030I B37-04,IFG0554A,BG50D10,DB2UNLD,SYSREC00,745B,BDSYB0,BG50.DS.UN
IEA995I SYMPTOM DUMP OUTPUT                                           
SYSTEM COMPLETION CODE=B37  REASON CODE=00000004       


Besides, BDSYB0's information is below.

Volume . : BDSYB0
Code:
 Command ===>                                                                 

 Unit . . : 3390                                                             

  Volume Data             VTOC Data              Free Space   Tracks    Cyls 
  Tracks . :   50,085     Tracks  . :        90  Size  . . :  16,993   1,084 
  %Used  . :       66     %Used . . :        17  Largest . :     239      15 
  Trks/Cyls:       15     Free DSCBS:     3,744  Free                         
                                                 Extents . :     321         
         


When I changed the jcl from
Code:
SPACE=(CYL,(10,10),RLSE)

to
Code:
SPACE=(CYL,(80,10),RLSE)
,then it return 0.

Could you please help with it?
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 Apr 01, 2008 8:00 am
Reply with quote

Hello,

If it works with an rc=0, how would you want to fix it?

You might talk with your storage admin people and find out more about usage on BDSYB0.

How many times did the 10,10 allocation fail? How many times did the 80,10 work? Was this run more than jut the 2 times you mention?

How much time was there between the abend and successful run from your quote?

If there was only one failure, it may simply be that when the b37 occurred, there was not enough space on the volume. . . Or that due to severe fragmentation, the process ran out of extents.
Back to top
View user's profile Send private message
Absinthia

New User


Joined: 10 Jan 2008
Posts: 36
Location: CHINA

PostPosted: Tue Apr 01, 2008 8:17 am
Reply with quote

Hello,
I just want to know the reason why B37 occured,as from the jcl,there seems to be no problem.I guess when no volume is designated,the system
will just allocate a volume that only meets the primary allocation(or maybe the SMS volume's largest extent space is a little more than the primary allocation).However,there are not enough extent space that can add to 88 when allocated for 16 times.
However,when the primary allocation 80,the system will choose a volume that the largest extent space is 80 cylinders.

Am I right? I just guess so.
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 Apr 01, 2008 8:29 am
Reply with quote

Hello,

Yes, there is no problem with the jcl. The abend was caused there was insufficient space as allocated.

To better understand how a b37 can occur, i'd suggest you use the "IBM Manuals" link at the top of the page, scroll down to the last entry in the Messages & Codes secton, click on Vol IV of the MVS System Messages, and search for IEC030I (which is the message id from your posted output).
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Tue Apr 01, 2008 9:04 am
Reply with quote

Not to undercut Dick, and having very litle SMS stuff in my head, it might just be how the allocaton prioritized the space on the volume that got allocated.... icon_smile.gif
Back to top
View user's profile Send private message
expat

Global Moderator


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

PostPosted: Tue Apr 01, 2008 11:44 am
Reply with quote

And don't forget, that every call for a DASD space allocation, primary or secondary allocation, can be satisfied by up to 5 physical extents.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Tue Apr 01, 2008 11:45 am
Reply with quote

I might be wrong, but if I remember correctly a sequential dataset can have
a maximum of 16 extents on each volume ...

160 = 10primary + 10seconadry * 15 and after that

since there are not other volumes specified for allocation ... the abend

allocating (80,10) will give on the primary volume 230 cyls of space

allocating with a large primary and a small secondary is one of the most useless approach I have seen in storage management

.... ( 1000,10 ) I have seen it too many times !
Back to top
View user's profile Send private message
UmeySan

Active Member


Joined: 22 Aug 2006
Posts: 771
Location: Germany

PostPosted: Tue Apr 01, 2008 1:47 pm
Reply with quote

Hi Absinthia !

You're on the right way !!!

During your first run with SPACE=(CYL,(10,10),RLSE) a disk was chosen, that could satisfy the primary quantity. Then data wants to expand. Then no more cyls where allocatable on that one disk, so system wants to alloc a second disk. But that was forbidden by SMS definitions.

IEC030I B37-04,IFG0554A
POOL DEFINITION DOES NOT ALLOW VOLUME ADDITION

With the second try using SPACE=(CYL,(80,10),RLSE), system automaticaly allocated an other disk, where more prim-space was available. That disk had enough space to fullfill the requests.

When i new the approximate demand of space, a dataset needs, i mostly
use this for primary alloc. I'm not a fan of multi-volume-allocation. If the Space-Managers in your shop do their job right, there would be enough space on the dasd. If a third party software like STOP-X37 is installed, the allocation is re-allocated during a fail by the system automatically. You are also using RLSE. So what. Now a days, space doesn't cost as much as bygone days.

But also keep in mind, that the prim-space is always also needed on the second volume, if only one volume could not fullfill the whole request. Then system looks for an other disk with the same free prim-space.

Regards, UmeySan
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 Error to read log with rexx CLIST & REXX 11
No new posts Error when install DB2 DB2 2
No new posts CLIST - Virtual storage allocation error CLIST & REXX 5
No new posts Allocated cylinders of a dataset DB2 12
No new posts Error while running web tool kit REXX... CLIST & REXX 5
Search our Forums:

Back to Top