Faktura32 - FAQ - Firebird Backup und Restore
Firebird Backup und Restore

GBAK ist ein Kommandozeilenprogramm für Backup und Restore einer kompletten Datenbank. Sie finden GBAK im Ordner bin der Firebird-Installation.

GBAK kann eine Datensicherung während des Betriebs der Datenbank durchführen. Es ist also nicht notwendig, die Datenbank vor der Datensicherung zu beenden. Trotzdem dürfte es während des Backups zu Geschwindigkeitseinbußen kommen, so dass es empfehlenswert ist, die Datensicherung Nachts durchzuführen.

GBAK Syntax

gbak <optionen> -user <benutzer> -password <kennwort> <quelle> <ziel>

Backup

Für Backups ist <quelle> die Datenbank die gesichert werden soll und <ziel> ist der Name der zu erstellenden Backupdatei. Die übliche Dateiendung für Firebird ist .fbk.

Restore

Für Restores ist <quelle> die Backupdatei und <ziel> der Name der Datenbank die wiederhergestellt werden soll. Für ein Restore muss die Option -C angegeben werden.

Allgemeine Optionen
-pas[sword] <kennwort> Datenbankkennwort (Standard: masterkey)
-role <rolle> Datenbankrolle, üblicherweise nicht verwendet
-se[rvice] <host>:service_mgr Backup: Erstellt die Backupdatei auf dem Datenbankserver
Restore: Erstellt die Datenbank von einer Backupdatei auf dem Datenbankserver
-u[ser] <benutzer> Benutzername (Standard: sysdba)
-v[erbose] Gbit zusätzliche Informationen über GBAK aus
-y <datei> Leitet alle Ausgaben auf <datei> um. Die Datei darf noch nicht existieren.
-y suppress_output Unterdrückt alle Ausgaben
-z Zeigt die Version von GBAK und des Datenbankservers an
Backup Optionen
-b[ackup_database] Backup durchführen (optional)
-co[nvert] Konvertiert externe Tabellen in interne Tabellen
-e[xpand] Erstellt ein unkomprimiertes Backup
-fa[ctor] n Blockfaktor für Bänder
-g[arbage collect] Führt während des Backups kein Aufräumen der Datenbank durch, das Backup ist dadurch schneller
-ig[nore] Ignoriert Prüfsummenfehler
-l[imbo] Ignoriert Limbotransaktionen
-m[etadata] Sichert nur die Metadaten, aber keine Tabellen
-nt Non-transportable Format (nur verwenden, wenn immer auf die gleiche Plattform und Serverversion wiederhergestellt wird
-t[ransportable] Transportable Backup (für unterschiedliche Plattformen und Serverversionen, Standard)
Restore Optionen
-bu[ffers] Cachegröße für wiederhergestellte Datenbank
-c[reate_database] Erstellt eine neue Datenbank
-i[nactive] Alle Indexes als INACTIVE setzen
-k[ill] Erstellt keine shadows
-mo[de] read_write Erstellt eine beschreibbare Datenbank (Standard)
-mo[de] read_only Erstellt eine Datenbank, die nur gelesen werden kann
-o[ne_at_a_time] Normalerweise wird das Wiederherstellen in einer einzelnen Transaktion durchgeführt. Mit diesem Schalter wird nach jeder Tabelle ein Commit durchgeführt.
-p[age_size] <size> Seitengröße der neuen Datenbank. <size> kann 1024, 2048, 4096 oder 8192 sein. Standard ist 1024.
-r[eplace_database] Überschreibt eine vorhandene Datenbank. Darf nicht verwendet werden, wenn die Datenbank gerade benutzt wird.
Beispiele

Eine "normales" Backup

gbak -v -t -user SYSDBA -password "masterkey" dbserver:/db/warehouse.fdb c:\backups\warehouse.fbk

 

Backup mit Logdatei

del c:\backups\warehouse.log
gbak -v -t -user SYSDBA -password masterkey -y c:\backups\warehouse.log dbserver:/db/warehouse.fdb c:\backups\warehouse.fbk

 

Eine "normales" Restore

gbak -c -v -user SYSDBA -password masterkey c:\backups\warehouse.fbk dbserver:/db/warehouse2.fdb