Informix Error -776: Alter fragment error: unable to move rows to new fragmentation scheme.
Cause and resolution
Alter fragment error: unable to move rows to new fragmentation scheme.
During an ALTER FRAGMENT operation, the rows could not be moved to another fragmentation strategy. See the accompanying ISAM error for more information on why the ALTER FRAGMENT operation failed.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-776 fires when ALTER FRAGMENT can't move existing rows into the new fragmentation scheme — per
the official guidance, the accompanying ISAM error carries the specific reason.
- Insufficient space in the target dbspace(s) for the rows being moved, a plausible common cause given similar space-related failures elsewhere in this range, though the sparse official text only points generically at the accompanying ISAM error.
- A row that would violate the new fragmentation scheme's own constraints (an expression
that no row can satisfy, or a
NOT NULL/check constraint conflict surfacing during the move). - An underlying ISAM-level error during the row-move operation, per the official guidance's pointer to checking the accompanying ISAM error code.
Solutions / Resolution
- Check the accompanying ISAM error code, per the official guidance, for the specific underlying reason.
- Check free space in the target dbspace(s) for the new fragmentation scheme:
onstat -d - Review the new fragmentation scheme's expressions against the actual data being moved, to rule out a data/expression mismatch as the cause (the same general check used for -772).
Examples
Checking space in the target dbspaces
$ onstat -d
-- review free-page counts for the dbspaces in the new fragmentation scheme
Diagnostic Checks
- Check the accompanying ISAM error code first, per the official guidance.
- Check free space in the target dbspace(s) as a plausible concrete cause.
- Review the new scheme's fragment expressions against the actual data.
Related Errors / Related Topics
- -778 — "Unable to alter fragmentation scheme on index or table." A closely related
ALTER FRAGMENTfailure, at the scheme-alteration step itself rather than the row-move step.
Check the accompanying ISAM error and target dbspace free space first, then review the new scheme's expressions against the actual data.