ORA-01555: Snapshot too old
Bonjour à tous!!
en lançant un réquête,j'ai obtenu l'erreur ci dessous
Code:
ORA-01555: snapshot too old: rollback segment number 1 with name "_SYSSMU1$"
J'ai aussi remarqué cette erreur dans mon fichier alert:
Code:
ORA-01555 caused by SQL statement below (Query Duration=68791 sec, SCN: 0x0000.01867bf3):
En m'inspirant dans différents posts, j'ai lancé les requêtes suivantes:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| SQL> show parameter undo_retention;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_retention integer 10800
SQL> select to_char(end_time,'YYYY-MM-DD:HH24:MM:SS'), maxquerylen from v$undost at where maxquerylen =(select max(maxquerylen) from v$undostat);
TO_CHAR(END_TIME,'Y MAXQUERYLEN
------------------- -----------
2011-05-22:18:05:12 1674575
SQL> alter system set undo_retention=18000;
System altered.
SQL> show parameter undo_retention;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_retention integer 18000 |
Ce que je veux maintenant c'est résoudre ce problème définitivement, c'est -a-dire consulter mes segments,voir la taille du fichier undo etc..
Bref,je mélange un peu les pétales, alors je compte sur vous pour me guider.
Merci à tous.
Rollback segment ou undo table space
Bonjour,
Tout dabors, pourrais tu nous dire sur quelle version de la DB tu travail ?
Ensuite, à quel moment as tu le message: lors d'un select, d'un update.
Cette oppération est elle la première de ta transaction ? (juste apres un commit ou un rollback)
En tout cas une chose est sur, c'est que la modification du temps de rétention n'affectera en aucun cas les rollback segment.
REM: Si tu désires utiliser les undo_table_space, il faut au moins être en 9i et redémarer la DB dans ce mode là.