diff --git a/BDD2_TPS2.sql b/BDD2_TPS2.sql
new file mode 100644
index 0000000..c96d924
--- /dev/null
+++ b/BDD2_TPS2.sql
@@ -0,0 +1,125 @@
+select distinct sid from v$mystat ;
+//1256
+
+CREATE TABLE Donnees_HuRa (
+    nom VARCHAR2(5),
+    valeur NUMBER
+);
+
+INSERT INTO Donnees_HuRa (nom, valeur) VALUES ('A', 0);
+INSERT INTO Donnees_HuRa (nom, valeur) VALUES ('B', 0);
+INSERT INTO Donnees_HuRa (nom, valeur) VALUES ('C', 0);
+
+COMMIT;
+
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'A';
+
+UPDATE Donnees_HuRa
+SET valeur = valeur + 1
+WHERE nom = 'A';
+
+SELECT nom, valeur 
+FROM Donnees_HuRa
+WHERE nom = 'A'
+FOR UPDATE;
+
+
+
+//1/
+
+//1)
+//WAITING_SESSION HOLDING_SESSION LOCK_TYPE                  MODE_HELD                                MODE_REQUESTED                             LOCK_ID1   LOCK_ID2
+//--------------- --------------- -------------------------- ---------------------------------------- ---------------------------------------- ---------- ----------
+//           1281            1256 Transaction                Exclusive                                Exclusive                                    131073     406793
+//           1244            1260 Transaction                Exclusive                                Exclusive                                    262146     509268
+//           1270            1277 Transaction                Exclusive                                Exclusive                                    720904     692919
+
+//2)
+
+//holding et waiting session : les session concernée par l'action
+
+//3)
+//oui
+
+//2/
+
+//1)
+UPDATE Donnees_HuRa
+SET valeur = valeur +1
+WHERE nom = 'A';
+COMMIT;
+
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'A';
+
+//le phénomène mis en évidence est de lecture non répétable
+
+//2)
+
+UPDATE Donnees_HuRa
+SET valeur = valeur +1
+WHERE nom = 'A';
+
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'A';
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'B';
+
+UPDATE Donnees_HuRa
+SET valeur = valeur +1
+WHERE nom = 'B';
+
+//t1 : les valeurs de A et B sont 3 et 0
+//t2 : problème avec l'update, elle attends que user 2 libère le tableau, pour mettre à jour : deadlock
+//la startégie utiliser par oracle, consiste à détecter les deadlock, puis annule une des transactions, et libère les verroux
+
+//3)
+
+SELECT nom, valeur 
+FROM Donnees_HuRa
+WHERE nom = 'A'
+FOR UPDATE;
+
+UPDATE Donnees_HuRa
+SET valeur = valeur+1
+WHERE nom = 'A';
+COMMIT;
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'A';
+
+//t1 : la valeur C à été mis à jour
+//t2 : la commande subit un deadlock, dû au select for update
+
+//3/
+//1)
+SET TRANSACTION READ ONLY;
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'A';
+
+
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'A';
+
+
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'A';
+COMMIT;
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'A';
+
+//t1 : A = 0
+//t2 : A = 0
+//t3 : A = 0
+//t4 : A = 2
+//Il y a que deux représentations de A
+
+//2)
+
+SET TRANSACTION READ ONLY;
+
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'A';
+COMMIT;
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'A';
+
+//Car la session n'as pas fait de commit
+
+//4/
+
+
+
+
+
+
+
diff --git a/user2.sql b/user2.sql
new file mode 100644
index 0000000..3bebae4
--- /dev/null
+++ b/user2.sql
@@ -0,0 +1,74 @@
+select distinct sid from v$mystat ; //1281
+
+UPDATE Donnees_HuRa
+SET valeur = valeur + 1
+WHERE nom = 'A';
+
+//2/
+
+//1)
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'A';
+
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'A';
+
+UPDATE Donnees_HuRa
+SET valeur = valeur +1
+WHERE nom = 'A';
+
+COMMIT;
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'A';
+
+//2)
+
+UPDATE Donnees_HuRa
+SET valeur = valeur +1
+WHERE nom = 'B';
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'A';
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'B';
+
+UPDATE Donnees_HuRa
+SET valeur = valeur +1
+WHERE nom = 'A';
+
+//3)
+
+UPDATE Donnees_HuRa
+SET valeur = valeur +1
+WHERE nom = 'C';
+
+UPDATE Donnees_HuRa
+SET valeur = valeur +1
+WHERE nom = 'A';
+
+COMMIT;
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'A';
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'C';
+
+//3/
+
+//1)
+UPDATE Donnees_HuRa
+SET valeur = valeur+1
+WHERE nom = 'A';
+COMMIT;
+
+
+UPDATE Donnees_HuRa
+SET valeur = valeur+1
+WHERE nom = 'A';
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'A';
+COMMIT;
+
+//2)
+
+UPDATE Donnees_HuRa
+SET valeur = valeur+1
+WHERE nom = 'A';
+SELECT nom, valeur FROM Donnees_HuRa WHERE nom = 'A';
+
+COMMIT;
+
+
+
+
+