DBAtlas · Atlas für Datenbankbetrieb

Logisches Backup (Dump) erstellen

Oracle

expdp system/password DIRECTORY=dpump_dir \
  SCHEMAS=hr DUMPFILE=hr_%U.dmp LOGFILE=hr_exp.log PARALLEL=4

Verwendet Data Pump. Das DIRECTORY-Objekt muss vorher mit CREATE DIRECTORY angelegt werden. Für physische Backups RMAN verwenden.

PostgreSQL

pg_dump -U postgres -h localhost -Fc -f db.dump mydb
# -Fc = compressed custom format (restored with pg_restore)

-Fc ermöglicht flexible Restores (einzelne Tabellen/parallel). Für den gesamten Cluster (inklusive Rollen) pg_dumpall verwenden.

MySQL

mysqldump -u root -p --single-transaction \
  --routines --triggers --events mydb > db.sql

--single-transaction liefert bei InnoDB ein sperrfreies, konsistentes Backup. Parallele Optionen für große Datenmengen: mydumper/myloader oder MySQL Shell util.dumpInstance()/dumpSchemas() (mysqlpump wurde in 8.0.34 deprecated und in 8.4 entfernt).

SQL Server

BACKUP DATABASE [MyDB]
TO DISK = N'C:\backup\MyDB_full.bak'
WITH COMPRESSION, CHECKSUM, INIT;

INIT überschreibt die vorhandene Datei; zum Anhängen NOINIT verwenden. Für Log-Backups BACKUP LOG verwenden (im Recovery-Modell FULL).

MongoDB

mongodump --uri="mongodb://localhost:27017" \
  --archive=db.archive.gz --gzip --db=mydb

Bei einem Sharded Cluster für Konsistenz über mongos mit gestopptem Balancer erstellen.

Redis

BGSAVE
# Takes an RDB snapshot in the background (dump.rdb).
# Non-blocking copy: redis-cli --rdb /backup/dump.rdb

BGSAVE läuft per fork im Hintergrund; SAVE blockiert den Server (nicht in Produktion verwenden). Mit aktiviertem AOF gehen weniger Daten verloren.

In DBAtlas öffnen →