Document Type | Troubleshooting
Category | Administration
Applicable Product Version | 7FS02PS
Document Number | TADTS020
Issue
The following error occurred when performing Insert on a specific table.
THROW. ec=ERROR_TX_MAX_EXTENTS_EXCEED(-21025)
Cause
When the table was created, the MAXEXTENTS value was set to 121 in the STORAGE clause.
This is an excessively low value compared to the default of 4294967295, causing the extent limit to be reached and resulting in the error.
NoteChanging MAXEXTENTS via ALTER TABLE statement is not supported.
Solutions
Since the MAXEXTENTS value cannot be directly adjusted for the affected table, it is necessary to take action by reconstructing the table. You can proceed by choosing one of the two methods below.
[After service stop, using tbexport/tbimport method]
- Backup the target table data using tbexport.
- Create a new table with an adjusted MAXEXTENTS value.
- Restore the data using tbimport.
- Restart the service and verify normal operation.
[Table copy method]
- Create a new table using the CREATE TABLE ... AS SELECT ~ statement.
- Reconstruct existing indexes, constraints, etc., identically on the new table.
- Replace the existing table using RENAME or similar commands.
Note
You can identify tables with small MAXEXTENTS values in advance by querying the DBA_TABLES view.
It is advisable to perform pre-checks on such items to prevent errors during operation.
Errors due to MAXEXTENTS limits are design restrictions, and fundamental resolution is difficult except by recreating the table.
For long-term operation, it is necessary to set an appropriate MAXEXTENTS value when creating tables to avoid INSERT errors.