Kbase P100265: Large database crashes with error 210
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  2/4/2005 |
|
Status: Unverified
FACT(s) (Environment):
Progress 8.x
SYMPTOM(s):
Database crashes with core dump
Database log file shows error (210).
SYSTEM ERROR: Attempt to read block 39680 which does not exist. (210)
** Save file named core for analysis by Progress Software Corporation. (439)
SYSTEM ERROR: The broker is exiting unexpectedly, beginning Abnormal Shutdown. (5292)
A database scan using dbrpr shows missing block errors.
Can't find Blk 67108841 (2147482912)
CAUSE:
The database has grown and hit the maximum database size. The maximum database size is based upon the Progress version you are using, and also the database blocksize.
A good indicator that you have hit the maximum database size is the block & dbkey numbers within the dbrpr output. The block number shown is not always exactly 64GB but it is close enough to assume that this was the cause. With a Version 8 database using a 1k block size, the maximum database size is 64GB. Therefore it can only have up to 67108864 blocks:
1kb x 67108864 = 64GB
FIX:
To fix the problem you need to do one of the following:
Solution 1:
1. Restore the database.
2. If you are using AI, roll forward the AI files to a point prior to the database crash. (so that you haven't yet hit the 64GB limit).
3. Archive or purge some of the data from the database.
4. Dump/load the database into a new structure to fully reclaim the space generated from deleting/archiving records.
Solution 2:
1. Restore the database.
2. If you are using AI, roll forward the AI files to a point prior to the database crash. (so that you haven't yet hit the 64GB limit).
3. Archive or purge some of the data from the database.
4. Dump/load the database into a new structure that has a larger database block size.
NOTE: Only do this if you are sure that increasing the database block size is appropriate for the the size
umber of records within your database. Increasing the database blocksize can cause a substantial increase in database size if not done appropriately.
Solution 3:
1. Restore the database.
2. If you are using AI, roll forward the AI files to a point prior to the database crash. (so that you haven't yet hit the 64GB limit).
3. Dump the database.
4. Upgrade Progress to 9.x or higher.
5. Load the data into a more appropriate database structure.
NOTE: Your application will need to have been tested/certified for the newer Progress version and all code will need to be recompiled.
Progress Version 9 and higher can have much larger database sizes and this is the recommended solution, however it is understandable that this may not be possible due to application requirements.