Bonjour,

J'ai des erreurs ORA-01555 sur des SELECT.

Exemple :

Mon May 9 16:14:41 2005
ORA-01555 caused by SQL statement below (Query Duration=3716 sec, SCN: 0x0000.0d57c0e6):
Mon May 9 16:14:41 2005
SELECT T1.NUDOSS FROM HR.ZX8K T1 WHERE T1.CODRUB = 'IEI' GROUP BY T1.NUDOSS
On est en 'Automatic Undo Management' :

SQL> show parameter undo

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_suppress_errors boolean FALSE
undo_tablespace string UNDOTBS
La table comporte plus de 20 millions d'enregistrements et est pas mal fragmentée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
select segment_name, segment_type, extents, round(bytes/1024/1024) from dba_segments
where segment_name like '%ZX8K%'
SEGMENT_NAME SEGMENT_TYPE EXTENTS ROUND(BYTES/1024/1024)
--------------- --------------- ---------- ----------------------
ZX8K TABLE 793 38756
HRX1ZX8K INDEX 126 440
X2ZX8K INDEX 203 1280
Aucune mise à jour de données sur cette table n'est effectuée durant le SELECT car les nouvelles données ne sont chargées qu'une fois par mois.

Je ne comprend pas pourquoi l'espace UNDO est utilisé lors du SELECT alors qu'aucune mise à jour n'est effectuée.