Einzelnen Beitrag anzeigen

tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
530 Beiträge
 
#9

AW: Firebird DB - verkleinern ohne Backup/Restore

  Alt 11. Jan 2013, 05:41
Hallo,

ich hab mich verschrieben. Soll natürlich: gstat -r -i heißen.

Das Sweepintervall bezieht sich auf die Differenz zwischen Oldest Snapshot und Oldest Transaction. Wenn die Differenz > dem Sweepintervall ist, dann sollte ein Sweep automatisch angestoßen werden. Mit 2.5.2 bekommt man ein Sweep sehr einfach mit. So wird ein Sweep in firebird.log reingeloggt bzw. die Trace API mit log_sweep bringt hier noch mehr Transparenz rein.

Ein Sweep kann natürlich auch wieder nur mit den Datensatzversionen aufräumen, die von keiner Transaktion mehr benötigt werden. Somit ist ein Sweep am Effektivisten, wenn wenig bis gar nichts los ist auf der Datenbank. Darum geht man in der Regel auch so vor, dass man Sweepintervall auf 0 setzt (deaktiviert) und ein geplantes, manuelles Sweep mit gfix z.B. in der Nacht ausführt.

Die Frage wegen dem BLOB ist die, dass sich das massiv auf die DB Size auswirken kann, wenn man BLOBs z.B. in einer Schleife konkateniert. Oder ich denke die Verwendung von LIST auf einem BLOB ist ähnlich. Siehe hier: http://tracker.firebirdsql.org/browse/CORE-3948
  Mit Zitat antworten Zitat