v8 BI file size

cdwatkins

New Member
I have an application on a v8 Progress database. The users (many of them) end up with very long, open transactions. Therefore I experience a fairly large BI.

BI is in multiple extents.

My question - is there a limit on the TOTAL size of the BI in v8 or am I just constricted to the 2GB file size for EACH extent?
 
Users should NEVER end up with very long open transactions, it sounds as if your system is very poorly scoped and could result in the loss of much work should the users log off abnormally.
The worse case scenario would be the transaction scoped to the login script whereby should the user session crash at any point during the day he/she would lose all of the work they had done during the course of the day.
 
V8 is, of course, ancient, obsolete and unsupported. You should upgrade.

Total bi size is limited to 2GB in version 8.

Therefore it is very important to set the bi threshold to some suitable value. Since you may need up to 2x the used bi space to roll back a TRX you generally want to set -bithold to something on the order of -bithold 600.
 
to answer at your question:
NO, you are not constricted to the total size of the all Before Image files.

The problem is the last "unlimited" extend. If this file grows more than ~2.5 Go
(the limit of SEEK variable - ansi C) the database server stop's.

You can add more fixed extends If you consider necessary.

check your configuration:
prostrct list [databasename] .... vi/notepad [databasename].st


Fix:
create a file named: add.st which contains:
b . f 1024
b .
_______________________
* note the f 1024 is a fixed size (one Mo, in this case) ! ... you can say more ...

and add this new extend to the database with:

prostrct add [databasename] add.st
 
Version 8 *is* restricted to no more than 2GB total bi space. It does not matter how many bi extents you have -- if the total bi space used exceeds 2GB the db crashes and probably is not recoverable.

One of the big advantages of version 9 was the removal of that limit.
 
Thanks for all the responses/input. I'd been able to find v9 limits, but nothing for v8.
I do have a -bithold set currently but was hoping that I could create multiple extents and effectively avoid a stalled db.
 
Progress K-center entry p15124 explains how the bi file works, makes reference to the v8 2GB limit and mentions that it is removed in v9 and above.
 
You could also run scripts (if you dont have them already) to monitor database users with long transactions and disconnect them if then are longer than a certain number of minutes.

HTH
 
Back
Top