ORA-01555: Snapshot too old: rollback segment number too small
OracleO que significa?
Uma consulta de longa duração não conseguiu acessar os dados de undo antigos necessários para montar a imagem de leitura consistente referente ao seu momento de início, porque essas informações de undo foram sobrescritas.
Por que acontece?
Undo tablespace pequeno, UNDO_RETENTION curto, consultas de longa duração durante DML concorrente muito intenso, ou um loop que faz commit na mesma tabela dentro de uma consulta (fetch across commit).
Como resolver
Aumente o UNDO_RETENTION e amplie o undo tablespace; sempre que possível, deixe-o sob gerenciamento automático (AUTOEXTEND ativado). Divida consultas longas em partes menores ou execute-as fora do horário de pico. Considere RETENTION GUARANTEE: ALTER TABLESPACE undotbs1 RETENTION GUARANTEE. Corrija a lógica da aplicação que faz commit dentro de um loop.
Mais entradas deste banco
- ORA-00054Resource busy and acquire with NOWAIT specified or timeout expired
- ORA-00060Deadlock detected while waiting for resource
- ORA-01017Invalid username/password; logon denied
- ORA-01652Unable to extend temp segment by N in tablespace
- ORA-04031Unable to allocate N bytes of shared memory
- ORA-12154TNS: could not resolve the connect identifier specified
- ORA-12514TNS: listener does not currently know of service requested in connect descriptor