Why do i get the message-No space in directory?



TSO Programming, ISPF, SDF, SDSF and PDF, FTP, TCP/IP Concepts, SNA & SNA/IP etc...

Why do i get the message-No space in directory?

Postby vanzhere » Fri Sep 10, 2010 7:09 pm

I was creating a new member in PDS. I got a message-No space indirectory. Why did i get such message?
vanzhere
 
Posts: 7
Joined: Thu Jun 17, 2010 11:45 am
Has thanked: 0 time
Been thanked: 0 time

Re: Why do i get the message-No space in directory?

 

Re: Why do i get the message-No space in directory?

Postby GuyC » Fri Sep 10, 2010 7:30 pm

simply stated : too many members.
A pds has an area called 'Directory blocks' where a list of all members is maintained.
The number of directory blocks is something you say during allocation of the pds.
I can explain it to you, but i can not understand it for you.
GuyC
 
Posts: 315
Joined: Tue Aug 11, 2009 3:23 pm
Has thanked: 1 time
Been thanked: 4 times

Re: Why do i get the message-No space in directory?

Postby Robert Sample » Fri Sep 10, 2010 7:50 pm

If you run out of directory blocks, you can contact your site support group to determine if your site has the freeware PDS installed. This is available through the CBT site (http://www.cbttape.org) and allows directory blocks to be added to a PDS.

If your site does not have PDS installed, your only choice is to create a new partitioned data set (with more directory blocks), use IEBCOPY to copy all members from the old partitioned data set to the new partitioned data set, and start using the new one. If you go this route, you could also create the new data set as a PDSE, which does not run out of directory blocks.
Robert Sample
Global moderator
 
Posts: 3367
Joined: Sat Dec 19, 2009 8:32 pm
Location: East Dubuque, Illinois
Has thanked: 1 time
Been thanked: 222 times

Re: Why do i get the message-No space in directory?

Postby steve-myers » Fri Sep 10, 2010 8:46 pm

Personal opinion: the process to add directory blocks to a PDS is very nearly as risky as doing a "compress" of a PDS. This process has to physically move any members that exist on the same physical track as the last directory block and its trailing EOF to the end of the PDS, then reformat the end of the directory. It is much safer to create a new PDS with more directory blocks, use IEBCOPY (or ISPF 3.3) to copy the old dataset to the new data set, and then rename the data sets, as Mr. Sample proposes.
steve-myers
Global moderator
 
Posts: 1885
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 197 times

Re: Why do i get the message-No space in directory?

Postby vanzhere » Fri Sep 10, 2010 8:54 pm

but i have only 4 members in the PDS i use.... the PDS i was using got deleted unfortunately.... as you said to use IEBCOPY utility and start using the new one ...i did the same way..
but stil i get the same message.... can u suggest a better solution???
vanzhere
 
Posts: 7
Joined: Thu Jun 17, 2010 11:45 am
Has thanked: 0 time
Been thanked: 0 time

Re: Why do i get the message-No space in directory?

Postby Robert Sample » Fri Sep 10, 2010 9:02 pm

Post any messages using the Code tag. Also post the PDS definition -- particular space and directory blocks.
Robert Sample
Global moderator
 
Posts: 3367
Joined: Sat Dec 19, 2009 8:32 pm
Location: East Dubuque, Illinois
Has thanked: 1 time
Been thanked: 222 times

Re: Why do i get the message-No space in directory?

Postby steve-myers » Sat Sep 11, 2010 10:45 am

Well, I hope the original poster did allocate more than one block block in his new PDS.

Long ago I had figured out I could allocate just 5 members with ISPF statistics in a one directory block PDS, with the space used in the directory block distributed like this:
                                     Total
                          Size Number Size
Directory block used bytes  2     1     2
"EOF" member               12     1    12
Member Entries             42     5   210
                                      224
You cannot store a 6th member. I then tried load modules; I was able to store 6 members, with the space used in the directory block distributed like this:
                                     Total
                          Size Number Size
Directory block used bytes  2     1     2
"EOF" member               12     1    12
Member Entries             36     6   216
                                      230
These are the minimum length directory entries for load modules. There are several ways to create longer directory entries, but most of those methods are beyond the presumptive skill level of most of the readers of this board. One method is not beyond this skill level: alias entries are longer than minimum length directory entries:
                                     Total
                          Size Number Size
Directory block used bytes  2     1     2
"EOF" member               12     1    12
Member Entry               36     1    36
Alias Entries              46     4   184
                                      234
I was slightly annoyed that the binder stored nothing when I tried to create 5 alias entries, but this may make some sense. A dump of this directory block is:
0000     0  00EAD4F0 F0F0F0F0  F0F10000 032C0000  *..M0000001......*
0010    16  09000000 000002E2  00304830 48000000  *.......S........*
0020    32  88000101 0000D4F0  F0F0F0F0 F0F20000  *h.....M0000002..*
0030    48  03B10000 09000000  000002E2 00304830  *...........S....*
0040    64  48000000 88000100  0000D4F0 F0F0F0F0  *....h.....M00000*
0050    80  F0F10100 D4F0F0F0  F0F0F0F3 000003B1  *01..M0000003....*
0060    96  00000900 00000000  02E20030 48304800  *.........S......*
0070   112  00008800 01000000  D4F0F0F0 F0F0F0F1  *..h.....M0000001*
0080   128  0100D4F0 F0F0F0F0  F0F40000 03B10000  *..M0000004......*
0090   144  09000000 000002E2  00304830 48000000  *.......S........*
00A0   160  88000100 0000D4F0  F0F0F0F0 F0F10100  *h.....M0000001..*
00B0   176  D4F0F0F0 F0F0F0F5  000003B1 00000900  *M0000005........*
00C0   192  00000000 02E20030  48304800 00008800  *.....S........h.*
00D0   208  01000000 D4F0F0F0  F0F0F0F1 0100FFFF  *....M0000001....*
00E0   224  FFFFFFFF FFFF0000  00000000 00000000  *................*
00F0   240  00000000 00000000  00000000 00000000  *................*
So our original poster is going to have to give us more information about what he is doing if we can have any hope of helping him further.
steve-myers
Global moderator
 
Posts: 1885
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 197 times

Re: Why do i get the message-No space in directory?

Postby JENSENV » Fri Oct 22, 2010 12:08 am

Why is anyone using PDS or PO datasets anymore? IBM created PDSE, or PO-E or DSNTYPE=LIBRARY in 1989.

They work exactly like a PDS yet will allow up to 123 extents, are self re-organizing/compressing, and have an imbeded directory so you never get directory space issues again. They also are indexed so that member retrieval is faster than a PDS.

Allocate a new file with the parameter DSNTYPE=LIBRARY and copy all members from the old library to the new one using IEBCOPY.
JENSENV
 
Posts: 1
Joined: Fri Oct 22, 2010 12:02 am
Has thanked: 0 time
Been thanked: 0 time

Re: Why do i get the message-No space in directory?

Postby dick scherrer » Fri Oct 22, 2010 12:13 am

Hello and welcome to the forum,

PDSEs will not work in all cases.

Suggest you do some research and post back what you learn about then a pdse is your friend and when a pdse should not be used. . . .
Hope this helps,
d.sch.
User avatar
dick scherrer
Global moderator
 
Posts: 6304
Joined: Sat Jun 09, 2007 8:58 am
Has thanked: 3 times
Been thanked: 91 times

Re: Why do i get the message-No space in directory?

Postby steve-myers » Fri Oct 22, 2010 7:48 am

There are a number of reasons people do not use PDSE, despite some minor advantages.
  • The JCL to allocate a PDSE is different than the JCL to allocate a PDS. This is also true for the line mode TSO ALLOCATE command and resources like ISPF option 3,2. Most people are too lazy to change what they do.
  • PDSE data sets generally use more space than PDS data sets. Basically, the members are mapped into 4K blocks, regardless of the member size, and this adds to the space.
  • PDSE data sets require substantially more CPU time than traditional PDS data sets.
  • Programs that work with PDS data sets directly are rarely written for maximum performance. Programs like IEBCOPY and alternative vendor provided programs are exceptions to this rule, but there is no "fast" method to perform I/O to PDSE data sets. Obviously this affects program like IEBCOPY and the vendor provided programs
  • Modern DASD rather negates the potential performance advantages of the PDSE indexed directory. A keyed search in a large directory on rotating DASD is a real dog, but when the directory is in storage as is the case with modern DASD this search amounts to skipping through storage. I don't think I've ever seen studies demonstrating where an indexed PDSE directory produces better results on rotating DASD than traditional PDS directories. In any event, I suspect there are very few PDS data sets with a large enough directory for an indexed search to produce significantly better results in PDSE.
  • PDSE uses the same general system paths and control formats as the Hierarchal File System used by Unix System Services in z/OS. HFS has developed a reputation of being a dog and is being phased out.
steve-myers
Global moderator
 
Posts: 1885
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 197 times

Next

Return to TSO & ISPF

 


  • Related topics
    Replies
    Views
    Last post