DB build failed (198 Views)
Reply
Frequent Advisor
Raymond F
Posts: 99
Registered: ‎03-13-2000
Message 1 of 4 (198 Views)
Accepted Solution

DB build failed

Hello. I have a job that purges, rebuilds, and reloads the DB. The DB build process failed. The error output is shown below. What is the cause of this error? Is there a dataset limit that I am encountering? If so, what is the limit? Thanks for your time.

: RUN DBSCHEMA.PUB.SYS;PARM=1

PAGE 1 HEWLETT-PACKARD 30391C.10.00 TurboIMAGE/3000: DBSCHEMA THU, JUN 9, 2005, 10:48 AM (C) HEWLETT-PACKARD CO. 1987


$CONTROL LINES=60,BLOCKMAX=2048,NOLIST,ROOT,JUMBO
CAPACITY: 017844008;

***** ERROR ***** NUMBER OF BLOCKS EXCEEDS TURBOIMAGE MAXIMUM

Blocks needed = 17844008, but Maximum TurboIMAGE Blocks = 16777215.

With $CONTROL BLOCKMAX = 2560, and a blocking factor of 7,
the number of blocks would fit (2549144 blocks of 2395 words).

A blocking factor can be specified in parentheses after the capacity, as in:
... capacity : 17844008 (7) ...

CAPACITY: 017136828;

***** ERROR ***** NUMBER OF BLOCKS EXCEEDS TURBOIMAGE MAXIMUM

Blocks needed = 17136828, but Maximum TurboIMAGE Blocks = 16777215.

With $CONTROL BLOCKMAX = 2560, and a blocking factor of 11,
the number of blocks would fit (1557893 blocks of 2498 words).

END.


NUMBER OF ERROR MESSAGES: 2
ITEM NAME COUNT: 1166 DATA SET COUNT: 156

PRECEDING ERRORS -- NO ROOT FILE CREATED.

SCHEMA PROCESSING TERMINATED.

Program terminated in an error state. (CIERR 976)
REMAINDER OF JOB FLUSHED.
CPU sec. = 4. elapsed min. = 1. THU, JUN 9, 2005, 10:48 AM.
Esteemed Contributor
Dan Clifford
Posts: 201
Registered: ‎03-25-1998
Message 2 of 4 (198 Views)

Re: DB build failed

Try specifying a blocking factor of 7 after the capacity and see what you get:

CAPACITY: 17136828 (7);

You are probably exceeding the maximum size of a file on the system.
Frequent Advisor
Raymond F
Posts: 99
Registered: ‎03-13-2000
Message 3 of 4 (198 Views)

Re: DB build failed

Thanks. I am trying ot understand what the maximum value is that I am running into, and if it is a maximum on a dataset or whatever. Any ideas?
Esteemed Contributor
Dan Clifford
Posts: 201
Registered: ‎03-25-1998
Message 4 of 4 (198 Views)

Re: DB build failed

Ray,

Ok, now I know what you want. When you specified the dataset capacity without adding a blocking factor Image will assign a default blocking factor of 1. I tried to do some calculations to determine how large each dataset record was and I came up with 684 bytes - if that is not the exact number it is probably fairly close. In your $CONTROL command you specify that the BLOCKMAX is 2048 words (the new maximum is now 2560 words).

So, since your dataset record is 684 bytes and the maximum size of a block is 4096 bytes(2048 words *2) and your default blocking factor is 1 (since you did not specify a blocking factor) Image will require 1 block for every record in this dataset. since the capacity is 17,844,008 then 17,844,008 blocks will be needed. Image has a limit of 16,777,215 blocks so you are getting an error. DBSCHEMA is telling you to change the BLOCKMAX to 2560 and use a blocking factor of 7 in which case Image will now only need 2,549,144 blocks to store all of the potential data for this dataset which is well under the limit of 16,777,215 blocks.

You could change the BLOCKMAX and the blocking factor to get other combinations that will work and some might have better performance or use less space than others. If you have a tool like DBGENRAL or ADAGER they probably have functions that will compute the optimum setting to use for you.

I hope this answers your question.

Dan
The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation.