DatabaseAdministration |
---|
01_Isolation |
02_Rights |
03_ExplainPlan |
DatabaseArchitecture |
---|
00_StartOracle |
01_Introduction |
02_Transaction |
03_RedoUndo |
04_Memory |
05_Processes |
06_Storage |
07_Index |
08_Locking |
In Oracle (und allgemein in Datenbanksystemen) bezeichnet man als Transaktion eine logische Einheit, die aus einer oder mehreren SQL-Anweisungen besteht und atomar ausgeführt wird.
Eine Transaktion beginnt mit dem ersten DML (data manipulation language) Statement.
DML:
DELETE
UPDATE
INSERT
Jede Transaktion bekommt eine eindeutige TRANSACTION_ID (Beispiel A57987).
Das bedeutet:
Entweder werden alle Änderungen erfolgreich durchgeführt (COMMIT)
oder keine Änderung wird dauerhaft übernommen (ROLLBACK).
Oracle arbeitet standardmäßig mit dem Isolation Level READ COMMITTED. Das heißt:
Änderungen einer Transaktion sind nur für diesen Benutzer (Session) sichtbar, solange sie nicht per COMMIT bestätigt wurden.
Andere Sessions sehen die alten Daten (aus dem „Undo-Segment“) – erst nach COMMIT sehen sie die neuen Werte.
Macht man ein ROLLBACK, dann sieht niemand außer der Session selbst jemals die Änderungen.