Kbase P23546: How to recover from bi file 2 Gig 2 GB in Progress 8.x
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  12/15/2005 |
|
Status: Verified
FACT(s) (Environment):
Progress 8.x
SYMPTOM(s):
Progress 8 bi file reaching 2 GB limit
Runaway transaction looping causing bi to grow at 200MB / 10 seconds
bi file is approaching 2 Gig limit and likely to crash
proshut database, will force bi recovery and the bi file will continue to grow
Killing the PID of the user running the transaction will possibly leave the database in an inconsistent state
The bi file continues to grow beyond 2 Gig limit after PID killed off during truncate bi
The database backup is too old to consider using
CAUSE:
In Progress 8.x, the sum of the bi extents (or if there's only one bi extent) cannot exceed 2 Gigabytes. This is a Progress limitation in Progress 8.x
The reason that the bi file continues to grow, is that the rollback recovery needs to be written to the bi notes as the transaction is rolled back. After forcing a shutdown of the database as well, the subsequent defered truncate bi action may cause the bi file(s) growing beyond 2 GB.
FIX:
The recovery plan suggested that will restore the physical integrity of the database but the logical integrity will have to be examined:
0.) refer to Progress Solution P24330, "Consequences of using -F"
1.) double check that ALL processes running against the database HAVE stopped
2.) delete the .bi file, create a ZERO length one dbname.bi
3.) backup database
4.) use the -F option to force into the database: proutil dbname -C truncate -F
5.) run the unsupported dbrpr utility with Options 1, (scan menu) + options 1,3,4,5 which will describe any errors found and how many records were removed.
6.) At this point decide if it isn't perhaps better to go to backup (ie if many records were removed). Also, please bear in mind that the PHYSICAL integrity of the database will be restored at this point, but you'll still have to ascertain the LOGICAL integrity.
6.) Rebuild indexes: proutil db-name -C idxbuild -C ALL -TB 24 -TM 32 -B1024
Please note, the dbrpr is an UNSUPPORTED utility. This solution should only be used as a very last resource.