Kbase P105964: dbrpr fails with bad frag messages for extents that have a smaller record id than surrounding extent
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  01/05/2009 |
|
Status: Verified
SYMPTOM(s):
dbrpr fails when scanning data extents that surround ai areas
dbrpr fails with bad frag messages for specific extents
** Bad Frag <dbkey> for rec <dbkey> Err:1
Can access records in these extents without receiving errors.
Errors only seem to occur with dbrpr.
Areas that are failing with bad frag messages were recently added to the database.
Problem can be avoided by removing the .db file and then using prostrct builddb to create a new .db file.
Used the following code to verify that the record ids for the extents that are receiving the bad frag messages have smaller record ids then the surrounding extents:
for each _areaextent:
display recid(_areaextent) _extent-path format "x(50)".
FACT(s) (Environment):
UNIX
Progress 9.1E01 Service Pack
CAUSE:
Bug# OE00116700
CAUSE:
The .db file has extents listed in the _areaExtent file that have a smaller record id than surrounding extents. This causes dbrpr to create an invalid pointer when scanning the control area to create a list of areas and extents to scan. This invalid pointer is referenced later on by dbrpr when validating records in these extents. Using prostrct builddb to create a new .db file resolves the issue because the record ids for _area and _areaExtents are now in order.
FIX:
Upgrade to 9.1E03.
Upgrade to 10.0B04.
Upgrage to 10.1A or later.
Workaround:
1. prostrct list dbname so that dbname.st file will be updated with most recent information.
2. Copy original dbname.db file to orig.dbname.db in case we need to recover for some unknown reason.
3. rm dbname.db
4. prostrct builddb dbname dbname.st