GBAK – Firebird Backup und Restore
GBAK ist ein Firebird’s Kommandozeilen Tool für Backup-und Restore einer kompletten Datenbank.
GBAK ist in der Lage, eine Sicherung durchzuführen, während die Datenbank ausgeführt wird. Es besteht keine Notwendigkeit zum Herunterfahren der Datenbank während eines GBAK Backup.
Allgemeine Syntax
gbak <options> -user <username> -password <password> <source> <destination>
gbak liegt im Verzeichnis c:programmefirebird<firebirdversion>bin
Firebird-Version
– firebird_2_1
– Firebird_2_5
Backup
Für Backups, <source> ist die Datenbank die sie sichern möchten, ist <destination> der Dateinamen der Sicherungsdatei.
Netzwerkumgebung:
-b -g -z -v -i -IG
gbak -user SYSDBA -password masterkey meinserver:d:webfaktdatenWEBFAKT.FDB d:webfaktdatenWEBFAKT.FDK
Lokal:
-b -g -z -v -i -IG
gbak -user SYSDBA -password masterkey d:webfaktdatenWEBFAKT.FDB d:webfaktdatenWEBFAKT.FDK
Restore
Netzwerkumgebung:
gbak -R -g -z -v -i -user sysdba -password masterkey d:webfaktdatenWEBFAKT.FDK
meinserver:d:webfaktdatenWEBFAKT.FDB
Lokal:
gbak -R -g -z -v -i -user sysdba -password masterkey d:webfaktdatenWEBFAKT.FDK
d:webfaktdatenWEBFAKT.FDB
Allgemeine Optionen
-nodbtriggers
Unterdrückt Datenbank-Trigger vom Laufen [Firebird 2.1].
-pas[sword]
Datenbank-Passwort
-fet[ch_password]
Anstelle von -password: Rufen Sie das Kennwort aus der Datei ab, damit es in der Befehlszeile nicht sichtbar ist. Wenn <dateiname> ist stdin, wird der Benutzer zur Eingabe des Kennworts aufgefordert.
-m[etadata]
Nur sichern/wiederherstellen Metadaten (Schema). Es werden keine Tabellendaten erneut gespeichert.
-role <role>
Verbinden als Rolle
-se[rvice]<hostname[/port]>:service_mgr
Backup: Legt die Sicherungsdatei auf dem Datenbankserver, die Service – Manager.
Wiederherstellen: Erstellt die Datenbank aus einer Sicherungsdatei auf dem Server, die Service – Manager.
Die Backup – Datei, Datenbankdatei und die Protokolldatei alle müssen auf dem Dateisystem des Servers befinden. Also alle Pfadnamen (für Datenbank – Datei, Backup – Datei, Protokolldatei) müssen vom Server der Perspektive betrachtet angegeben werden, auch wenn dieser von einem entfernten Rechner aufgerufen wird.
-u [ser]
Datenbank Benutzername
-v[erbose] or -v[erify]
Ausführliche Ereignisausgabe von GBAK
-y <filename>
Logfile erstellen: Leiten Sie alle Ausgabenachrichten
an <dateiname>Die Datei darf vor der Ausführung von GBAK nicht vorhanden sein! Sie müssen es also vor dem GBAK-Aufruf löschen. Wenn Sie -se (Service Manager) verwenden, befindet sich die Protokolldatei (kann nur) auf dem Dateisystem des Servers.
-y suppress
Ruhemodus: Unterdrücken Sie jeden Ausgang
-z
Zeigt die GBAK Version und die Server Version an
Backup Optionen
-b[ackup_database]
Sicherung. Dieser Schalter ist optional.
-co[nvert]
Konvertiert externe Tabellen in interne Tabellen
-e[xpand]
Erstellt eine unkomprimierte Sicherung
-fa[ctor] n
Blockierungsfaktor für Bandgerät
-g[arbage collect]
Führt während der Sicherung keine Garbage Collection durch, sodass die Sicherung schneller ist. Wenn Sie planen, eine Wiederherstellung oder Sweep sowieso nach der Sicherung.
-ig[nore]
Ignoriert Prüfsummenfehler beim Sichern
-l[imbo]
Ignoriert Limbo-Transaktionen beim Sichern
-m[etadata]
Nur sichern Metadaten (Schema). Es werden keine Tabellendaten gespeichert.
-nt
Nicht transportables Format (nur verwenden, wenn Sie wissen, dass Sie auf derselben Plattform- und Datenbankversion wiederherstellen)
-t[ransportable]
Erstellt eine transportable Sicherung (transportabel zwischen Plattformen und Serverversionen). Dies ist die Standardeinstellung.
Restore Optionen
-bu[ffers]
Festlegen der Cache-Größe für die wiederhergestellte Datenbank
-c[reate_database]
Wiederherstellung in einer neuen Datenbank (die Zieldatenbankdatei MUSS NICHT vorhanden sein)
-fix_fss_d[ata] <charset>
Reparatur fehlerhafter UNICODE_FSS Daten während der Wiederherstellung ab [Firebird 2.5]
-fix_fss_m[etadata] <charset>
Reparieren falsch formatierter UNICODE_FSS Metadaten während der Wiederherstellung ab [Firebird 2.5]
-i[nactive]
Alle Indizes werden als INACTIVE wiederhergestellt.
-k[ill]
Erstellt keine Schatten, die in der Sicherung definiert sind
-m[etadata]
Stellt nur Metadaten (Schema) wieder her. Es werden keine Tabellendaten wiederhergestellt.
-mo[de] read_write
Setzt auf eine Lese- / Schreib-Datenbank (Dies ist die Standardeinstellung)
-mo[de] read_only
Wiederherstellung in eine schreibgeschützte Datenbank
-n[o_validity]
Stellt keine Gültigkeitseinschränkungen wieder her. So können Sie Daten wiederherstellen, die diesen Einschränkungen nicht entsprechen und andernfalls nicht wiederhergestellt werden könnten.
-o[ne_at_a_time]
Normalerweise erfolgt die Wiederherstellung in einer einzigen Transaktion für die gesamte Datenbank. Dieser Schalter setzt einen Commit nach jeder Tabelle. Sie können dies verwenden, um Datenbanken mit beschädigten Tabellendaten teilweise wiederherzustellen.
-p[age_size] <size>
Legt die Seitengröße der neuen Datenbank fest. <size>kann einer von 1024, 2048, 4096, 8192 sein. Der Standardwert ist 1024.
-r[eplace_database]
Stellt über eine vorhandene Datenbank wieder her. Dies kann nur von SYSDBA oder dem Besitzer der überschriebenen Datenbank ausgeführt werden. Stellen Sie NICHT über eine Datenbank wieder her, die verwendet wird! [Firebird 1.0, 1.5]
-rep[lace_database]
Neue Abkürzung für das alte -replace_database [Firebird 2.0 und höher]
-r[ecreate_database] o[verwrite]
[Firebird 2.0 und höher] Stellt über eine vorhandene Datenbank wieder her. Dies kann nur von SYSDBA oder dem Besitzer der überschriebenen Datenbank ausgeführt werden. Firebird wird verhindern, dass Sie über eine Datenbank wiederherstellen, die in Gebrauch ist – aber seien Sie trotzdem vorsichtig!
-r entspricht -c. Nur die Option “Überschreiben” wird über eine vorhandene Datenbank wiederhergestellt (d. h., “-r o” entspricht “-rep”).
-use_[all_space]
Normalerweise werden bei der Wiederherstellung Datenbankseiten auf etwa 80 % gefüllt. Mit der Option use_all_space werden Datenbankseiten zu 100 % gefüllt. (Nützlich für schreibgeschützte Datenbanken, in denen keine Änderungen mehr angezeigt werden.)