DBAtlas · Atlas de operaciones de bases de datos

ORA-01555: Snapshot too old: rollback segment number too small (snapshot demasiado antiguo)

Oracle

¿Qué significa?

Una consulta de larga duración no pudo acceder a los datos de undo antiguos necesarios para construir la imagen de lectura consistente a la hora de su inicio, porque esa información de undo fue sobrescrita.

¿Por qué ocurre?

Un tablespace de undo pequeño, un UNDO_RETENTION corto, consultas de larga duración con DML concurrente muy intenso, o un bucle que hace commit sobre la misma tabla dentro de una consulta (fetch across commit).

Cómo solucionarlo

Aumente UNDO_RETENTION y amplíe el tablespace de undo; cuando sea posible, déjelo en gestión automática (AUTOEXTEND activado). Divida las consultas largas en partes más pequeñas o ejecútelas fuera de horas pico. Considere RETENTION GUARANTEE: ALTER TABLESPACE undotbs1 RETENTION GUARANTEE. Corrija la lógica de la aplicación que hace commit dentro de un bucle.

Abrir en DBAtlas →

Más entradas de este motor