Two-Phase-Commit (2PC) ist ein Verfahren zur Sicherstellung der Datenkonsistenz in verteilten Datenbanken. Dieses Verfahren wird bei Transaktionen eingesetzt, damit diese konsistent über mehrere Datenbanken durchgeführt werden.
Two-Phase-Commit ist ein weit verbreitetes Protokoll, das in herstellerspezifischen Ausprägungen eingesetzt wird. Wie aus der Bezeichnung hervorgeht, erfolgen die verteilten Transaktionen in zwei Phasen. In der ersten Phase geht es um eine Teiltransaktion, die an die Datenbanksysteme übertragen wird. Die Datenänderungen erfolgen temporär. Bei der Teiltransaktion werden die Daten so gesichert, dass kein Datenverlust mehr möglich ist. Die Teiltransaktionen der verschiedenen Datenbanksysteme werden von der Koordinierungsstelle bestätigt.
In Phase 2 schließen die Datenbanksysteme die Transaktionen ab und bestätigen dies der Koordinierungsstelle. Die Transaktion ist dann vollzogen, wenn alle Bestätigungen eingegangen sind. Fehler in den Teiltransaktionen werden durch die fehlende Bestätigung erkannt.