Je ne pense pas que ce soit le cas général: l'undo est utilisé par un SELECT si un bloc qui doit être lu est en cours de modification par une transaction concurrente pour lire l'image avant modification des données.Citation:
d'effectuer l'Insert, il met dans l'UNDO tout le scan de la table lu avant l'insertion...
Par contre, si vous avez beaucoup de transactions qui restent ouvertes (INSERT/UPDATE/DELETE sans COMMIT, sans ROLLBACK) pendant des jours voire des semaines alors ceci peut provoquer une augmentation importante de l'espace utilisé par les rollback segments (cas vérifié avec Oracle 9.2 mais en mode gestion manuelle des rollbacks segments).
Pour vérifier s'il y a des transactions qui ne sont pas terminées, utilisez:
Code:select start_time from v$transaction;