Datenbankklon ohne Dump-Datei erstellen
Sie können gbak
verwenden, um einen Klon einer Datenbank auf demselben Server zu erstellen, ohne eine potenziell große Dump-Datei erstellen zu müssen.Zu diesem Zweck leiten Sie die Ausgabe einer gbak
-Sicherung wie folgt direkt an die Eingabe einer gbak
-Wiederherstellung weiter.
tux> # Klonen der Testdatenbank auf denselben Server, ohne dass eine Dump-Datei erforderlich ist. tux> gbak -backup emptest stdout | gbak -replace stdin emptest_2
Sie werden feststellen, dass der Name der Ausgabedatei für die Sicherung stdout
und der Name der Eingabedatei für die Wiederherstellung stdin
lautet.Durch diese Möglichkeit, die Standardausgabe eines Prozesses an die Standardeingabe eines anderen Prozesses weiterzuleiten, können Sie vermeiden, dass eine Zwischen-Dump-Datei erstellt wird.Die obigen Befehle setzen voraus, dass geeignete Aliasnamen sowohl für emptest als auch für emptest_2 eingerichtet sind.Wenn nicht, müssen Sie den vollständigen Pfad zu den beiden Datenbanken und nicht den Alias angeben.
Die Option -replace
beim Wiederherstellungsprozess überschreibt den angegebenen Datenbanknamen — als Alias oder als vollständigen Pfad --, falls vorhanden, und erstellt ihn neu, wenn dies nicht der Fall ist.Alternativ können Sie auch die Option recreate overwrite
verwenden.Beide haben das gleiche Ergebnis.
Wenn Sie keine vorhandenen Datenbanken überschreiben möchten, verwenden Sie -create
. Dadurch wird eine Datenbank nur erstellt, wenn sie noch nicht vorhanden ist, und wenn dies der Fall ist, wird sie mit einem Fehler beendet.In POSIX-kompatiblen Systemen ist der Fehlercode in $?
In diesem Fall 1.
Weitere Beispiele für das Sichern und Wiederherstellen von Remote-Datenbanken über ssh unter Verwendung der Dateinamen stdin und stdout finden Sie unten.