Informix Error -344
-344 Cannot delete row - row in table does not match row in audit trail.
While the database server was reconstructing a table from the audit trail, it found a discrepancy between the position of a deleted row now and the position that was recorded in the audit trail when the row was first deleted. Either the audit-trail file has been corrupted, or the audit-trail file is incomplete, with missing records for some alterations. The table cannot be recovered as it stands. Try the operation again after you make sure that the table has been restored to exactly the same state as when the audit trail was created. If the error recurs, rebuild the table by other means.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-344 is the delete-side counterpart of -343: during audit-trail-based table reconstruction, a
row that the trail says should be deleted doesn't match what's actually at that position in the
table — the same underlying class of problem (corruption or incomplete audit-trail records)
surfacing on a delete replay instead of an insert replay.
- A corrupted audit-trail file, where the recorded delete no longer matches the table's actual current state.
- Incomplete audit-trail records — some alterations were missed, so the table's actual state has diverged from what the trail expects at this point in the replay.
- The table was modified outside the audit-trail-tracked path, breaking the trail's assumption of a complete, ordered history.
Solutions / Resolution
- Restore the table to its original state from when the audit trail was created, per the official guidance, and replay the trail again from that clean starting point.
- If the problem persists after restoring and replaying, treat the audit trail as unreliable and rebuild the table through alternative means rather than continuing to rely on it.
- Investigate whether the table was modified outside the audit-tracked path, to prevent recurrence once a clean state is re-established.
Examples
Restoring and replaying from a clean starting point
1. Restore the table to its state at the time the audit trail
was created (from a matching backup).
2. Replay the audit trail's recorded changes from that point.
3. If -344 recurs, the trail itself is unreliable — rebuild the
table from a different, trustworthy source instead.
Diagnostic Checks
- Confirm exactly when the audit trail was created, and whether a matching backup of the table from that point exists.
- Check whether the table was modified through any path other than the audit-tracked one during the trail's lifetime.
- If -344 recurs after a clean restore-and-replay attempt, treat the audit trail itself as corrupted rather than retrying indefinitely.
Related Errors / Related Topics
- -343 — "Row from audit trail was added to a different position than expected." The insert-side sibling of this same reconstruction-mismatch problem — see its addendum for the identical restore-and-replay resolution path.
- -341 — "Could not read a row from audit trail file." A related audit-trail integrity failure, at the read level rather than the reconstruction/replay level.
Same resolution as -343: restore to the audit trail's starting point and replay; if the mismatch
recurs, rebuild the table from a different trusted source instead of continuing to retry.