The rules applying to adding extent(s) to a database structure depends on which Type of extents are being added.
- There can be only one variable extent defined per Area, with the exception of After-Image extents (.ai) where by definition, more than one ai extent may be a variable extent.
- If the database has not grown into the variable-length BI extent, the PROSTRCT ADD operation will fail with error 8825. The given extent will first need to be removed with "PROSTRCT remove" before adding a BI new extent.
You must remove the variable length BI extent before adding additional BI extent(s). (8225)
The exception is immediately after the database is in a crashed state as a result of hitting the 2GB limit on extent sizes, when largefiles have not been enabled for the database, a new bi files can be added and the existing bi file will become a 2GB fixed extent:
SYSTEM ERROR: Attempted to exceed maximum size on file <path>\dbname.b1. (10601)
** Insufficient disk space to extend the before-image file. (854) - Running PROSTRCT ADD against a database that has grown into its variable-length extent, whether adding new fixed and/or a new variable extent, will cause the existing variable-length extent to be marked as a "fixed extent" before the new extent is added. The file's current size will be rounded up to a multiple of: ( 16 * db_blocksize )
- On systems where largefiles have not been enabled, with the "multiple of 16 x database blocksize" alogrithm restricts the absolute size of 2GB extents as per the table below:
Database blocksize "2 GB" defined in .st file (KB)
1 2,097,136
2 2,097,120
4 2,097,088
8 2,097,024
bi file 2,097,120