Bonjour,
J’ai un problème Oracle 9i2 sur des transactions concurrentes sur la même table Client
Traitement T1
-------à10 H00 CURSOR CCLIENT
SELECT * FROM CLIENT
Open CURSOR + FETCH
(10000 LIGNES numérotées de 1 à 10000)
10H03-------Traitement T2 indépendant de T1
( c’est un autre Batch)
UPDATE Ligne 9999+COMMIT de,
la table client qui a
été déjà , ramenée par le select
du curseur a 10H00.
---à10 H 05 Poursuite Traitement T1
A ce moment la le curseur arrive àtraiter la ligne 9999 pour (l’updater)+commit
*/ PROBLEME ???????? Oracle s’aperçoit que la Ligne 9999 a été changée par rapport ce qu’il a dans son select au moment de son ouverture. Oracle va chercher les données dans le RBS et/ou éventuellement dans les derniers snapshot (retour dans le temps passé) avec le temps undo retentions (seconde) (si j’ai bien compris 9i2).
Question : est ce que oracle revient à l’etat de donnée Ligne 9999 de 10h03 ou celle de 10H00? Si 10H00 est ce que la données de 10H03 est perdue ? expliquez moi svp
Remarque :9I2
Merci pour vos efforts,
Partager