Citation Envoyé par bouyao

(En general) Tant que la transaction n'est pas commité il n y'a pas écriture dans le fichier redo log.

During database recovery, Oracle applies all changes recorded in the redo log and then uses undo information to roll back any uncommitted transactions.

Je comprends pas bien parcque j'ai l'impression que la citation d'oracle que tu utilises contredit ton affirmation. En effet, si oracle commence par appliquer ce qu'il y a dans les redo pour ensuite annuler les transactions non commitées, c'est bien que ces dernières étaient dans les redo au départ.

De plus, quand on fait des insertions massive de donnée sans commiter, il n'y a absoluement pas de limite quant à la taille de la mémoire ni même des redo, la seule limite étant l'espace d'annulation (rollback ou undo).

D'autre part, toujours lors d'insertions massives, on peut être confronté à une erreur d'extension de table ou de datafile sans attendre le moindre commit, c'est bien que les datafiles son mis à jour avant ce dernier...

Encore un dernier point, lorsqu'on fait une standby-database en mode "MAXIMUM PROTECTION" la base primaire attend que l'écriture dans le redo distant soit validée avant de faire son commit, c'est bien que cette inscription dans le redo précède le commit et non pas l'inverse.

Ce que j'avais compris (mais il faut verifier) c'est que le checkpoint et le commit était 2 notions indépendantes.

PS: oups! j'avais pas lu ta dernière précision du "En Général"