論理バックアップ(ダンプ)を取得
Oracle
expdp system/password DIRECTORY=dpump_dir \
SCHEMAS=hr DUMPFILE=hr_%U.dmp LOGFILE=hr_exp.log PARALLEL=4Data Pump を使用する。DIRECTORY オブジェクトは事前に CREATE DIRECTORY で定義しておく必要がある。物理バックアップには RMAN を使用する。
PostgreSQL
pg_dump -U postgres -h localhost -Fc -f db.dump mydb
# -Fc = compressed custom format (restored with pg_restore)-Fc は柔軟なリストア(テーブル選択/並列)を可能にする。クラスタ全体(ロールを含む)には pg_dumpall を使用する。
MySQL
mysqldump -u root -p --single-transaction \
--routines --triggers --events mydb > db.sql--single-transaction により InnoDB でロックなしの一貫性のあるバックアップを取得できる。大容量データ向けの並列オプション: mydumper/myloader または MySQL Shell の util.dumpInstance()/dumpSchemas()(mysqlpump は 8.0.34 で非推奨となり 8.4 で削除)。
SQL Server
BACKUP DATABASE [MyDB]
TO DISK = N'C:\backup\MyDB_full.bak'
WITH COMPRESSION, CHECKSUM, INIT;INIT は既存ファイルを上書きする。追記するには NOINIT を使用する。ログバックアップには BACKUP LOG を使用する(FULL 復旧モデル)。
MongoDB
mongodump --uri="mongodb://localhost:27017" \
--archive=db.archive.gz --gzip --db=mydbシャードクラスタでは、一貫性のためにバランサーを停止したうえで mongos 経由で取得する。
Redis
BGSAVE
# Takes an RDB snapshot in the background (dump.rdb).
# Non-blocking copy: redis-cli --rdb /backup/dump.rdbBGSAVE は fork によりバックグラウンドで実行される。SAVE はサーバーをブロックする(本番環境では使用しない)。AOF を有効にすると失われるデータが少なくなる。