Consultor Eletrônico



Kbase P143282: Getting error 6834 performing prostrct create or prostrct repair.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   26/02/2010
Status: Unverified

SYMPTOM(s):

Warning: Extent size should be a multiple of 16 database blocks. (6834)

Adjusted to <#> from <#>. (6835)

The structure file format is valid. (12619)

FACT(s) (Environment):

OpenEdge 10.x
x86 (Intel 32-bit)
x86_64 (AMD64/EMT64)
All Supported Operating Systems
Progress/OpenEdge Product Family

CHANGE:

The database automatically adjusts the file size of extents to be even multiples of 16 times the database blocksize, in kilobytes.

CAUSE:

The size of the extent is not a multiple of 16 times the database blocksize.

FIX:

When the prostrct create command is used it follows specific rules to create the database extents.
One important rule that is hard coded into the prostrct create command is that a database extent must be an even multiple of 16 times the database block size.

While prostrct create lists when it has found a definition in a structure file (.st file) it does not change the file, it automatically adjusts the physical size of the file upwards to the next even multiple of 16 times the database blocksize.


Example:
On windows the default blocksize is 4k.
The minimum size of an area must be 16 blocks
Therefore, using the default database blocksize, an extent must be a multiple of 64 (16 * 4k).

If the following line were defined in a .st file:
d "mydata area":26,16;1 .\sports2000_26.d1 f 20000

This is not an even multiple of 16 times the database blocksize.
When prostrct create is run and reads that line of the .st file it will generate the (6834) message:
Warning: Extent size should be a multiple of 16 database blocks. (6834)
Prostrct create will automatically correct the physical file size and post the (6835) message:
Adjusted to 20032 from 20000. (6835)

The .st should be updated with the correct value 20032 in the above example.

Since the physical file has already been updated a quick way to find out what the size should be is to take the byte size of the file, divide by 1024.

Example:
If the byte size is 20512768, after you divide by 1024 you arrive at the value 20032.