Kbase P181256: Cannot access database after building indexes (idxbuild) against a repaired database.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  25/01/2011 |
|
Status: Unverified
SYMPTOM(s):
Cannot access database after building indexes (idxbuild) against a repaired database.
Clients or utilities attempting to connect to the database receive errors.
bfx: Field too large for a data item. Try to increase -s. (42)
SYSTEM ERROR: fmget: bad record or unknown value. (13)
Database was forced into due to bi file corruption prior to scanning and repairing the database with dbrpr.
Error message showing bi corruption prior to forcing into the database was:
rmDoChange: old record 29180029 area 6 updctr 218 has size -29952 expected 278 in txn 17186179 updctr 218
Database was scanned with dbrpr and hundreds of records were corrupted.
Idxbuild after scan and repair of the database showed 2 errors but ran to completion.
Errors from idxbuild were:
ERROR: extracting the field value failed.
SYSTEM ERROR: Failed to build key for recid = 29008972 index number 1316 table number 37. (4431)
ERROR: extracting the field value failed.
SYSTEM ERROR: Failed to build key for recid = 29178240 index number 1316 table number 37. (4431)
Clients and utilities could access the database prior to running idxbuild.
Once idxbuild is ran against the freshly repaired (dbrpr) database, no clients or utilities can access the database without getting error 42 and 13.
Attempts to remove the two records in the 4431 error prior to running the idxbuild command did not address the issue with clients/utilities not being able to access the database after running idxbuild.
FACT(s) (Environment):
Database being started from proserve command.
Database starts successfully without errors.
Windows
x86 (Intel 32-bit)
Progress 9.1D
Progress 9.1D0920 Hot Fix Version
Database was originally stored on devices making use of RAID 5.
CAUSE:
Database corruption had occurred as a result of multiple hardware issues that have been experienced over a 1 week period while the database was being served (up and running). Possible schema corruption.
FIX:
Go to backup.
If a backup is not available you can attempt to dump and reload the database. Please just realize that when dumping and loading the database you could experience issues where you may need to dump around the corruption. In those cases, see solution:
P26318, "How to dump around corrupted records"