Consultor Eletrônico



Kbase 14064: S/E: Attempt to read block above high water mark. (3636)
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/05/1998
S/E: Attempt to read block above high water mark. (3636)

The high water mark is the pointer between the data/index
information in the database and the free chain which is a list of
empty blocks waiting to be allocated as index or data information.

When Progress attempts to take a block from the free chain which
is above the high water mark, and use it for either data or index
information we take the block and then update the master block to
indicate the change in the high water mark. In this case the high
water mark would be increased.

This error usually indicates that the pointer to the high
water mark is corrupted.

To address this problem:

1. Log the client session out, start the client again. If the
error still occurs see step 2.
2. Bring down the broker and start it up again. If the error still
occurs, see step 3.
3. Bring down the broker, truncate the bi file, start the database
repair utility (proutil dbname -C dbrpr). If you are prompted
with a question similiar to: "mb_totblks does match databse fix?",
answer yes. This should resolve the error. If it does not,
go back into dbrpr, and choose option 1 to go to the Database
Scan menu, choose options 7 and 8 to rebuild the RM and Free
chains. When this is complete, restart your broker.

Other causes of this error are:

1) An index key has a corrupted DBKEY in it. To solve this case,
rebuild the index with the index rebuild utility (proutil -C idxbuild)

2) A record has multiple fragments and the pointer that connects them
is corrupted. Options here are to go to backup or delete bad records
with the dbrpr utility (from the Database Scan menu).


SEPT-1995

Progress Software Technical Support Note # 14064