Liste der freien blöcke wird wiederhergestellt

23. Februar 2007 14:27

Hallo,

die Meldung "Liste der freien blöcke wird wiederhergestellt" kennen wir denke ich alle - dies erscheint nachdem ein NAV Client abgestürzt ist und man ihn wieder öffnet.
Doch was einem Kunden antworten der fragt was dabei eigentlich passiert??? Ich habe keine Ahnung, kann vielleicht jemand wieterhelfen? Muss ja irgendein Prozess auf der lokalen HDD sein, was passiert denn z.B. auf einem Terminalserver?

Schon mal danke im Voraus für Antworten!

23. Februar 2007 15:09

Nun, das mit der "Liste der freien Blöcke" hat nicht unmittelbar etwas mit der HDD zu tun, hier geht es um logische Datenbankblöcke und das NAV "Versions Prinzip" (nur native DB):

Beginnt ein Benutzer eine Transaktion, so wird ein Snapshot der aktuellen Tabelle erstellt, d.h. der aktuelle Zustand der Daten wird gespeichert. Werden nun Daten geändert, so werden diese Änderungen nicht in den originalen Datenblöcken der Tabelle durchgeführt, sondern es werden neue - freie - Blöcke allokiert, die Daten der originalen Blöcke dorthin kopiert, und die Änderungen in den neuen Blöcken durchgeführt.
Wird die Transaktion abgeschlossen - COMMIT - so werden diese neuen Blöcke als neue Version zur Verfügung gestellt, die alten originalen Blöcke werden freigegeben.

Bricht die Transaktion ab - ROLLBACK - so werden die neuen Blöcke freigegeben, die alten bleiben gültig - keine neue Version erstellt.

Crasht also NAV in einer Transaktion, so wird beim Neustart die Liste dieser freien Blöcke aktualisiert, soz. nicht abgeschlossene Versionsänderungen "aufgeräumt".

Ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt :oops:

23. Februar 2007 15:55

stryk hat geschrieben: Bricht die Transaktion ab - ROLLBACK - so werden die neuen Blöcke freigegeben, die alten bleiben gültig - keine neue Version erstellt.

Kleine Ergänzung dazu :
Der Transaktionsabbruch bei nativer DB ist strenggenommen kein Rollback, siehe Post von David Singleton hier.
Zuletzt geändert von Kowa am 23. Februar 2007 18:19, insgesamt 1-mal geändert.

23. Februar 2007 16:51

Vielen Dank! Ich denke mit den Aussagen kann ich dem Kunden weiterhelfen.