Hallo zusammen,
ich habe eine Frage zu einem aktuellen Fall, der mich gerade beschäftigt.
Folgende Situation:
Ich habe eine Anwendung, die auf eine Firebird Datenbank (Version 2.1) zugreift. Die Anwendung hatte aufeinmal Fehler im Bezug auf den Datenbankzugriff.
Ich habe herausgefunden, dass der Transaction Counter ausgeschöpft war. Soweit kein Problem, ich habe die Datenbank gesichert und wiederhergestellt und es läuft wieder problemlos.
Jetzt zu meiner Frage:
Muss ich regelmäßige Restore Vorgänge durchführen, um den Counter zurückzusetzen oder geschieht das auch bei einem Backup?
Vielen Dank für die Hilfe
Tim
Transaction Counter zurücksetzen
Moderator: thorben.braun
Ja, daran hat sich nichts geändert.
Ich glaube aber, dass ab 3.0 der Zähler auf BIGINT erweitert wurde.
Der Vorteil eines regelmäßigen Save/Restore liegt ebenso in der Verdichtung und auch durchaus Beschleunigung der Datenbank.
Z.B. 40GB dauern nur ca. 1,5 Stunden!
Ich glaube aber, dass ab 3.0 der Zähler auf BIGINT erweitert wurde.
Der Vorteil eines regelmäßigen Save/Restore liegt ebenso in der Verdichtung und auch durchaus Beschleunigung der Datenbank.
Z.B. 40GB dauern nur ca. 1,5 Stunden!
-
- Beiträge: 2
- Registriert: Mo 14. Okt 2019, 07:35
Alles klar, danke
Dann werd ich mal einen Task dafür einrichten.
Dann werd ich mal einen Task dafür einrichten.
- martin.koeditz
- Beiträge: 474
- Registriert: Sa 31. Mär 2018, 14:35
Hallo,
noch eine weitere Anmerkung hierzu. Nach jeder Änderung eines DB-Objektes (z.B. Tabelle) wird der jeweilge Metadaten-Zähler inkrementiert. Dies funktioniert jedoch "nur" 254 mal. Danach wird Firebird weitere Änderungen verweigern. In diesem Falle ist ebenfalls ein Backup / Restore notwendig.
Siehe auch
https://firebirdsql.org/file/documentat ... ts-de.html
Gruß
Martin
noch eine weitere Anmerkung hierzu. Nach jeder Änderung eines DB-Objektes (z.B. Tabelle) wird der jeweilge Metadaten-Zähler inkrementiert. Dies funktioniert jedoch "nur" 254 mal. Danach wird Firebird weitere Änderungen verweigern. In diesem Falle ist ebenfalls ein Backup / Restore notwendig.
Siehe auch
https://firebirdsql.org/file/documentat ... ts-de.html
Gruß
Martin
Martin Köditz
it & synergy GmbH
it & synergy GmbH
Was passiert, wenn man den Zähler nach einer Änderung wieder zurücksetzt?
Gibt es da noch eine andere Abhängigkeit?
Bisher hatte ich aber noch nicht das Bedürfnis eine Tabelle bis zu 255 mal zu ändern.
Gibt es da noch eine andere Abhängigkeit?
Bisher hatte ich aber noch nicht das Bedürfnis eine Tabelle bis zu 255 mal zu ändern.
- martin.koeditz
- Beiträge: 474
- Registriert: Sa 31. Mär 2018, 14:35
Hallo bfuerchau,
den Zähler kann nur mit einem Restore zurückgesetzt werden. Danach ist alles wieder OK. Das ist (leider) historisch bedingt. Gerade in Entwicklungs-DBs kann man schnell dort landen. Plötzlich kann ich z.B. ein Feld nicht mehr anpassen und weiß gar nicht weshalb...
Ich habe auch schon DBs gesehen, die regelmäßig Tabellen per Stored Procedure ändern. Dort haben wir dann das gleiche Problem.
Gibt also nichts weiter zu beachten.
Gruß
Martin
den Zähler kann nur mit einem Restore zurückgesetzt werden. Danach ist alles wieder OK. Das ist (leider) historisch bedingt. Gerade in Entwicklungs-DBs kann man schnell dort landen. Plötzlich kann ich z.B. ein Feld nicht mehr anpassen und weiß gar nicht weshalb...
Ich habe auch schon DBs gesehen, die regelmäßig Tabellen per Stored Procedure ändern. Dort haben wir dann das gleiche Problem.
Gibt also nichts weiter zu beachten.
Gruß
Martin
Martin Köditz
it & synergy GmbH
it & synergy GmbH
Also ich habe es nun mal mit FB 2.5 ausprobiert und den Zähler auf 1 zurückgesetzt (einfach per Update).
Die nächste Tabellenänderungen setzt den Wert dann korrekt auf 2.
Es gibt also kein Problem, den Zähler zurückzusetzen.
Die nächste Tabellenänderungen setzt den Wert dann korrekt auf 2.
Es gibt also kein Problem, den Zähler zurückzusetzen.
- martin.koeditz
- Beiträge: 474
- Registriert: Sa 31. Mär 2018, 14:35
Für 2.5 ist das möglich. Ab 3.0 können Systemtabellen nicht mehr manipuliert werden.
Gruß
Martin
Martin Köditz
it & synergy GmbH
it & synergy GmbH
Da sollte dann ber der Zähler auch größer sein.
Hallo bfuerchau.
Viele Grüße
Gerd
In welcher $RDBTabelle/Feld bitte wird der Wert (2) gespeichert?
Viele Grüße
Gerd
ISQL Version: LI-V5.0.1.1469
Linux Mint 22 Cinnamon 6.2.7
Linux Mint 22 Cinnamon 6.2.7