How to prevent the Endevor Error C1LB003E - ELIB FULL OR MEMBER SIZE > RESERVE PAGES - data set (member)
search cancel

How to prevent the Endevor Error C1LB003E - ELIB FULL OR MEMBER SIZE > RESERVE PAGES - data set (member)

book

Article ID: 11040

calendar_today

Updated On:

Products

Endevor

Issue/Introduction

This document will provide you with the basic information you need to understand and resolve the error
C1LB003E - ELIB FULL OR MEMBER SIZE > RESERVE PAGES - data set (member)

Environment

Release: All Supported Releases
Component: Endevor

Resolution

"C1LB003E - ELIB FULL OR MEMBER SIZE > RESERVE PAGES - data set (member )" is issued when a new page needs to be allocated during the creation of a member but the ELIB is full, meaning that it does not have any free page to allocate. This may happen in three situations:

  • The ELIB does NOT expand automatically. This happens when its  RESERVE PAGES threshold has been set to zero, either at the first INIT or at a subsequent ADJUST
  • The elib had a RESERVE PAGES threshold defined enabling automatic expansion, but a previous automatic expand failed to create the additional space which caused the threshold to be automatically set to zero so that the automatic expansion is not attempted again.
  • The elib did expand automatically, but the member being added is too big and it doesn't fit in the library free space, even after automatic expansion added extra free space to the library.

The third situation may occur when the member being added is very big. This is a possibility because:

  • Automatic expansion takes place only when the member creation is started
  • The final size of the member is not known when the member is started so there is no way to make free space available in advance
  • Therefore, if the member does not fit in the available free space (including the result of an eventual expansion), message C1LB003E will arise  

The number of secondary pages defined for the dataset also plays a role. Each automatic expansion adds that number of free pages at the end of the library. If the number is small, this will increase the chances of receiving the error message even after automatic expansion.

To try to prevent the situation follow the following instructions.

1 - Run BC1PNLIB on source and target ELIB to gather information about the member(s) stored.  Below is sample JCL to run the INQUIRE would be:


//ELBINQR EXEC PGM=BC1PNLIB
//STEPLIB DD DISP=SHR,DSN=xxx.xxxxxx.CSIQAUTH
// DD DISP=SHR,DSN=xxx.xxxxxx.CSIQLOAD
//ELIB1 DD DISP=SHR,DSN=YOUR.ENDEVOR.ELIB.FILE.NAME
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//BSTERR DD SYSOUT=*
//SYSIN DD *
INQUIRE DDNAME=ELIB1
OPTION MEMBER.

OPTION MEMBER produces a list of members showing the number of pages used by each member.

2 - Run BC1PNLIB ADJUST to increase the reserve page:
     ADJUST DDNAME=INITVSAM RESERVE PAGES = xxx
     Where xxx is the value of the largest member number of pages + 10%

Below is sample JCL for the ADJUST:

//ADJUST  EXEC PGM=BC1PNLIB                                                   
//STEPLIB DD DISP=SHR,DSN=XXX.XXXXX.CSIQAUTH
// DD DISP=SHR,DSN=XXX.XXXXX.CSIQLOAD
//INITVSAM DD DSN=your.ELIB,
// DISP=(SHR,KEEP)
//SYSPRINT DD SYSOUT=*
//BSTERR DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSIN DD *
ADJUST DDNAME=INITVSAM
ALLOCATE PAGES = 600
RESERVE PAGES = 1000 .
INQUIRE DDNAME=INITVSAM .
/*

**Note that multiple options can be adjusted at once such as a secondary storage allocation of 600 pages and a reserve threshold of 1000 pages.  If only adjusting 1 option, specify that 1 option only.



Additional Information

For more information on ELIBS please see:

Tips and Techniques for Managing Endevor Elibs

Review the documentation on Endevor ELIBS  ELIBS where the utilities above are discussed as well as the formulas to adjust and size ELIB libraries :