1Danke
ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
256
256
EMPFEHLEN
-
19.11.08 09:07 #1
- Registriert seit
- Nov 2008
- Ort
- Niederösterreich
- Beiträge
- 83
Guten Morgen!
Das Commit die Änderungen durchführt und Rollback nicht versteht ich. Also was mir die beiden Befehle bringen ist mir klar.
Nun würde ich aber gerne wissen wie genau das funktioniert, also das interne nicht sichtbar sozusagen. Hab auch schon ein bisschen gegoogelt bin aber gescheiert, weil ich nicht wusste welche Begriffe ich eingeben soll.
Alle Änderungen sind nur ja nur für meine aktuelle Sitzung sichtbar. Andere Sitzungen sehen je nachdem den vorherigen Bestand oder dürfen aufgrund von Sperren gar nicht auf die Daten zugreifen. Wenn ich nun ein Commit mache werden die Änderungen sichtbar, bei einem Rollback nicht.
Soweit klar. Aber wo werden die Änderungen die ich in meiner aktuellen Sitzung sehe gespeichert. Läuft das alles rein über den Arbeitsspeicher? Oder wie genau funktioniert das?
Kann mir das irgendjemand erklären?
-
-
19.11.08 10:41 #3
- Registriert seit
- Nov 2008
- Ort
- Niederösterreich
- Beiträge
- 83
Hab Orcale9 Datenbank.
Aber eigentlich möchte ich das ja allgemein wissen. Gibt es keine zumindest halbwegs allgemeine Antwort?
Im Prinzip möchte ich ja nur wissen was genau im Hintergrund bei einem Rollback alles passiert. Also vom ersten eingegeben update-Befehl bis hin zum endgültigen Rollback. Was findet da intern statt?
-
- Nein,eigentlich nicht, abgesehen davon, dass ein COMMIT eine Transaktion bestätigt und ein Rollback ...nun, eben zurücksetzt. Mit welchen Mechanismen dies passiert (Auf jeden fall nicht "nur" Arbeitsspeicher), ist vonjeweilgen DBMS abhängig.
Bei Oracle ist es so, dass bei einem COMMIT eine SCN generiert wird (System Change Number). Anschliessen wird der LGWR (LogWriter) alle Redo Log Einträge auf Disk schreiben (Jedenfalls diejenigen, welche noch im Buffer sind). Damit ist der COMMIT eigentlich abgeschlossen, übrige bleibt noch das freigeben von Locks, welche deine Session hält.Im Prinzip möchte ich ja nur wissen was genau im Hintergrund bei einem Rollback alles passiert. Also vom ersten eingegeben update-Befehl bis hin zum endgültigen Rollback. Was findet da intern statt?[/
Beim Rollback werden die Daten aus dem Rollback (undo) Segment zurückgelesen und der Urspungszustand wiederhergestellt.
Im Detail wirst du dich aber mit der Oracle-Doku befassen müssen, die obige Erklärung ist schon "eher" simpel und auch unvollständig....
Gruss
Ähnliche Themen
-
Transactions, Commit, Rollback...
Von jazy jaf im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 12.02.07, 15:25 -
Rollback mit CMT?
Von tobiaft im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 6Letzter Beitrag: 20.06.06, 19:21 -
Oracle 9.2.0.6i; Auto Commit
Von tplanitz im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 26.12.05, 20:21 -
Transaktionssicherheit InnoDB (Commit/Rollback)
Von Mik3e im Forum PHPAntworten: 0Letzter Beitrag: 21.10.05, 11:06 -
automatisches Rollback
Von Greenhorn_80 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 3Letzter Beitrag: 10.05.05, 21:50





Zitieren
Login




