Try OpenEdge Now
skip to main content
Database Administration
Database Basics : Creating and Deleting Databases : Creating a database with PROSTRCT CREATE : Creating a structure description file : Extent length
Extent length
You can specify a fixed-length or a variable-length extent:
*Fixed-length — When you create a fixed-length extent, its blocks are preallocated and preformatted specifically for the database. If you want the extent to be fixed length, the extent type token of the extent description line is f. This token must be lowercase. If the extent is fixed length, use the extent size token to indicate its length in kilobytes.
The size of the extent, in kilobytes, must be a multiple of (16 * database-blocksize). If you specify a size that is not a multiple of this, PROSTRCT CREATE displays a warning message and rounds the size up to the next multiple of (16 * database-blocksize). The minimum length for a fixed-length file is 32K, and the maximum length of a file depends on the size of the file system and the physical volume containing the extent.
The table below shows how the extent size changes based on the database block size.
Table 2. Calculating extent size
Database block size
Extent size
2*(16 * 1)
3*(16 * 1)
1*(16 * 2)
2*(16 * 2)
3*(16 * 2)
1*(16 * 4)
2*(16 * 4)
3*(16 * 4)
1*(16 * 8)
2*(16 * 8)
3*(16 * 8)
*Variable-length — Typically, you use a variable-length extent as an overflow file when all fixed-length extents have been exhausted. For DB and BI extents, you can define one variable-length extent for each area, and it must be the last extent in the area. There is no limit to the number of variable-length AI extents you can define. While you indicate a variable-length extent by leaving out the extent size in the .st file entry line, you can also specify the maximum size to which the extent can grow by indicating the "v" extent type and a size in kilobytes. The initial allocation for a variable-length extent is 32K or the size of the cluster (whichever is larger). Calculate the cluster size by multiplying your block size times your blocks per cluster value.
Note: Regardless of whether the extent is fixed- or variable-length, if it is in a data area with clusters its size must be large enough to hold an entire cluster, or PROSTRCT generates and error.