DBAtlas · Database operations atlas

ORA-01555: Snapshot too old: rollback segment number too small

Oracle

What does it mean?

A long-running query could not access the old undo data needed to build the read-consistent image as of its start time, because that undo information was overwritten.

Why does it happen?

A small undo tablespace, a short UNDO_RETENTION, long-running queries during very heavy concurrent DML, or a loop that commits on the same table inside a query (fetch across commit).

How to fix it

Increase UNDO_RETENTION and enlarge the undo tablespace; where possible leave it under automatic management (AUTOEXTEND on). Split long queries into smaller pieces or run them off-peak. Consider RETENTION GUARANTEE: ALTER TABLESPACE undotbs1 RETENTION GUARANTEE. Fix application logic that commits inside a loop.

Open in DBAtlas →

More from this engine