Bonjour,
Je suis en train d'exécuter une requête de type PIVOT
sur une table contenant un grand nombre d'enregistrement (environ 27 millions)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT * FROM (SELECT SLOT_NAME, SLOT_VALUE, mc_ueid FROM EXTENDED_EVENT_SLOTS ) PIVOT (MAX (SLOT_VALUE) AS VALEUR FOR (SLOT_NAME) IN ('sfr_SI' AS SI, 'sfr_code_SSA' AS CodeSSA, 'sfr_ack_date' AS AckDate, 'sfr_ack_user' AS AckUser, 'sfr_closed_date' AS ClosedDate, 'sfr_closed_user' AS ClosedUser, 'sfr_nom_CI' AS NomCI, 'sfr_domaine' AS Domaine, 'sfr_url_consigne' AS UrlConsigne, 'sfr_source' AS Source, 'sfr_msg' AS MESSAGE, 'sfr_ref_incident' AS incident, 'sfr_ref_mep_dds' AS mepdds, 'sfr_time_to_ack' AS acquittement))
et je tombe en erreur ORA-01555
Je pensais que les rollback segments n'intervenaient uniquement que dans les opérations de mise à jour (INSERT, UPDATE, DELETE) et aucunement dans les SELECT. Ce n'est manifestement pas le cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ORA-01555: clichés trop vieux : rollback segment no 1, nommé "_SYSSMU1_2561240141$", trop petit 01555. 00000 - "snapshot too old: rollback segment number %s with name \"%s\" too small" *Cause: rollback records needed by a reader for consistent read are overwritten by other writers *Action: If in Automatic Undo Management mode, increase undo_retention setting. Otherwise, use larger rollback segments
Quelqu'un peut m'expliquer précisément le fonctionnement de ceux-ci ? est-ce qu'ils sont mis en oeuvre lors d'opération particulières (type PIVOT/ UNPIVOT) ?
Merci d'avance pour vos réponses éclairées
Partager