Einzelnen Beitrag anzeigen

Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
646 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Firebird-Restore: auch ohne exclusiven Zugriff möglich?

  Alt 23. Dez 2022, 23:34
ja, wenn man connections noch zuende arbeiten lassen will kann man die natürlich in der dann noch nicht
shutdown db in den monitor tables nachschauen, wer da noch was macht. Du kannst die da auch mit einem delete
auf genau dieser tabelle auch noch selektiv rauswerfen, das funktioniert auch (leider nur) fast immer.

Wenn du dann aber das backup startest und das ohne shutdown machst kann sich weiterhin jeder an der db anmelden
und alles was nach dem start vom backup noch von irgendeinem client in die db geschrieben wurde, ist dann nach
dem restore nicht mehr da, weil beim restore nur der zustand zurückgeschrieben wird, der beim start vom backup
committed war, weil nur das im Backup file ist.

Wenn also ganz klar backup mit anschliessendem restore angesagt ist (und nur dann brauch ich
das exklusiv), dann hast du sonst eine nette lücke im konzept, die man mit dem zwangsshutdown
single user mode vor dem backup schon mal verhindern kann.

Die mon$attachments ist eine super hilfsmittel im täglichen betrieb und mit deren id lassen sich auch in
mon$transactions problemlos langlaufende transaktion erkennen und anschliessend selektiv auf der mon$attachments
rauswerfen.

Das ist aber eher für daily business ohne schon eingeplanten restore hilfreich. Und beim Original
Posting hab ich das so verstanden, das das überschreiben der db mit restore auf jeden fall die
Grundlage für seine Frage war.

Und irgendwelche events die dem client dann noch x minuten geben, in denen der dann seine Arbeit abschliessen kann,
wird man eh brauchen. Wenn man bei größeren firmen versucht, die in mon$attachments erkannten user nacheinander
anzurufen, wird das endlos sein, weil ohne harten shutdown sich die clients schon wieder anmelden, weil die
meinen, das wenn die software läuft das auch erlaubt ist damit zu arbeiten.

ob ein shutdown nun in deiner exe implementiert ist und anhand irgendwelche Attribute in der db erkennt, das
es sich abmelden soll, ist dafür schon akzeptiert, aber irgendwelche dienste die man noch beenden müsste oder
webserver interessiert das nicht unbedingt, es sei denn die kennen und akzeptieren die gleichen gründe offline
zu bleiben. Über datenbanktrigger lässt sich das auch variabel blockieren, aber shutdown ist vergleichsweise
einfach.
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat