Oracle - ORA-01555: snapshot too old: rollback segment numb

 
Vista:

ORA-01555: snapshot too old: rollback segment numb

Publicado por José (31 intervenciones) el 15/07/2004 09:21:15
Hola,

Tengo un procedimiento de bbdd q cuando lo lanzo no termina correctamente, me da el error:

ORA-01555: snapshot too old: rollback segment number 7 with name "_SYSSMU7$" too small

Tengo el modo de Gestión de SMU automático por lo que no puedo crear segmentos de rollback. El tablespace asignado al SMU es de 32GB. La vista dba_rollback_segs me devuelve:

SEGMENT OWNER TABLESPACE INITIAL MIN MAX
SYSTEM SYS SYSTEM 114688 1 32765
_SYSSMU1$ PUBLIC UNDOTBS1 131072 2 32765
_SYSSMU2$ PUBLIC UNDOTBS1 131072 2 32765
_SYSSMU3$ PUBLIC UNDOTBS1 131072 2 32765
_SYSSMU4$ PUBLIC UNDOTBS1 131072 2 32765
_SYSSMU5$ PUBLIC UNDOTBS1 131072 2 32765
_SYSSMU6$ PUBLIC UNDOTBS1 131072 2 32765
_SYSSMU7$ PUBLIC UNDOTBS1 131072 2 32765
_SYSSMU8$ PUBLIC UNDOTBS1 131072 2 32765
_SYSSMU9$ PUBLIC UNDOTBS1 131072 2 32765
_SYSSMU10$PUBLIC UNDOTBS1 131072 2 32765

Alguna solución??

Gracias y saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ORA-01555: snapshot too old: rollback segment n

Publicado por Harold (697 intervenciones) el 15/07/2004 21:29:39
Que valor tienes definido en el UNDO_RETENTION???

Ese parametro es importante para sistemas con consultas muy grandes, el cual tiene que ser al menos igual al valor de la consulta mas larga, para saber que valor poner con esta consulta:
select max(maxquerylen) from v$undostat;

el valor de la consulta mas grande, luego lo pones en el parametro de inicializacion UNDO_RETENTION y salvas, no necesitas reiniciar ni nada de eso.

Espero que te sirva de algo

Saludes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:ORA-01555: snapshot too old: rollback segment n

Publicado por José (31 intervenciones) el 16/07/2004 09:44:30
El valor de retención no es el tiempo de retención de la información de deshacer redo validada que se va a retener en la base de datos?? Si lo ponemos muy alto ( me sale 8900 seg. según tu consulta) retiene la información durante mucho en la base de datos, y eso no puede hacer que se llenen los segmentos de rollback??

Gracias

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ORA-01555: snapshot too old: rollback segment n

Publicado por Harold (697 intervenciones) el 16/07/2004 18:12:21
Si retiene la informacion por cierto tiempo, se supone que pones el valor mas alto de la consulta mas grande, por ende, practicamente nunca deberias de llegar al limite.

Recuerda queno estas utilizando segmentos de rollback, es el undotbs (un tablespace como segmento de rollback), por lo que no se llena, si no que genera mas extents pero eso si, debes de tener espacio fisico disponible para permitir el crecimiento

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar