Oninit Logo
The Down System Specialists
+1-913-674-0360
+44-2081-337529
Partnerships Contact
Finderr

-136 ISAM error: no more extents.

The database server needs to add an extent to a table but cannot do so. Either not enough disk space is available in the dbspace, or the table has been given the maximum number of extents that is allowed, or the maximum number of pages has been reached. The database server administrator can determine the cause as follows:

1. Determine the tblspace number for the table. It is the value in the partnum column of the systables table for this table.

2. Convert the tblspace number to hexadecimal and extract its most-significant 2 digits (the high-order byte). This chunk number indicates where the table resides.

3. Use the onstat utility -t option to find out disk usage for this table. Note particularly the values reported for npages (disk pages available), nused (disk pages used), and nextns (number of extents).

If nused is less than npages, and nextns is large, the table may have too many extents. The upper limit of extents per table depends on the page size of the dbspace it is in, as well as how much space is consumed by other entries on its tblspace page. An estimate of the maximum allowed number of extents is the page size in bytes, minus 150 bytes of overhead, divided by eight. Thus a table in a 2K page size dbspace is limited to roughly (2,048 - 150) / 8 = 237 extents, but the actual limit may be lower if other entries on its tblspace page reduce the space available for extent entries. Larger page sizes allow correspondingly higher numbers of extents.

If there are too many extents, reallocate the table using fewer, larger extents, or in a dbspace with a larger page size. To reallocate the table, unload it to a flat file, then drop the table. Re-create the table, specifying a first-extent size sufficient to hold all its current data and a next-extent size between one-fourth and one-sixteenth its current size. Then reload the data into the table.

If nextns is small or the difference between npages and nused is less than the size of the next-extent size for the table, not enough disk space is available in the dbspace where the table resides. Use the chunk number from step 2 and the ON-Monitor or ON-Monitor Chunks display to determine the dbspace, then add a new chunk to that dbspace.

If nused is close to 0xFFFFFF (16,777,215), the maximum number of pages has been reached for the table. Reallocate the table in a dbspace with a larger page size as described above.