Импорт в целевую систему
Oracle
# Import with Data Pump; remap schema and tablespace
impdp system/password directory=DIR_DMP dumpfile=shop_%U.dmp \
logfile=shop_imp.log \
remap_schema=shop:shop_new \
remap_tablespace=USERS:DATA parallel=4
# For existing objects: TABLE_EXISTS_ACTION=TRUNCATE|APPEND|REPLACEimpdp загружает в цель файл .dmp, снятый через expdp. REMAP_SCHEMA переносит источник в другую схему, а REMAP_TABLESPACE — в другое табличное пространство; это часто используется при миграции между средами. Поведение для существующих таблиц задаётся через TABLE_EXISTS_ACTION, скорость — через PARALLEL.
PostgreSQL
# Parallel restore (from custom/directory format)
pg_restore -j4 -d targetdb --no-owner --clean --if-exists shop.dump
# A specific table only: pg_restore -d targetdb -t customer shop.dump
# For a plain .sql dump: psql -d targetdb -f shop.sqlС pg_restore -j дампы формата custom/directory загружаются параллельно (несколькими процессами); для больших баз это заметно ускоряет загрузку. --clean --if-exists сначала удаляет объекты в цели, а --no-owner адаптирует к другой структуре ролей. Простые SQL-дампы загружаются через psql -f (не параллельно).
MySQL
# Load a plain SQL dump
mysql --binary-mode shop < shop.sql
# Parallel/fast load (if taken with mydumper):
myloader --directory=./backup --database=shop --threads=4 --overwrite-tables
# Tip: SET FOREIGN_KEY_CHECKS=0; unique_checks=0 before loading speeds it up.SQL-дамп mysqldump загружается перенаправлением в клиент mysql (mysql shop < dump.sql). Для параллельной и намного более быстрой загрузки каталог, снятый mydumper, восстанавливается через myloader --threads. Отключение FOREIGN_KEY_CHECKS и UNIQUE_CHECKS на время загрузки повышает производительность.
SQL Server
-- Restore from a physical backup (move file paths to the new environment)
RESTORE DATABASE shop FROM DISK = 'C:\backup\shop.bak'
WITH MOVE 'shop_data' TO 'D:\data\shop.mdf',
MOVE 'shop_log' TO 'D:\log\shop.ldf', REPLACE;
-- Import from a BACPAC (schema+data):
-- sqlpackage /Action:Import /TargetConnectionString:"..." /SourceFile:shop.bacpacБэкап .bak загружается через RESTORE DATABASE; при переносе на другую разметку дисков WITH MOVE перенаправляет файлы данных/журнала на новые пути. Для независимой от версии цели/Azure SQL SqlPackage /Action:Import создаёт из файла .bacpac (схема + данные) новую базу.
MongoDB
# Restore the BSON backup; replay the oplog to land on a single point in time
mongorestore --uri="mongodb://target:27017" --oplogReplay \
--numParallelCollections=4 ./backup
# Renaming: --nsFrom='shop.*' --nsTo='shop_new.*'
# Drop existing data before loading: --dropmongorestore загружает в цель BSON-вывод mongodump. --oplogReplay воспроизводит изменения oplog в бэкапе, снятом с --oplog, приводя дамп к единой согласованной точке во времени. Имена баз/коллекций меняются через --nsFrom/--nsTo, существующие данные можно очистить через --drop.
Redis
# Stop the server, place dump.rdb in the data directory, start it again
# 1) systemctl stop redis (or SHUTDOWN NOSAVE)
# 2) cp dump.rdb <path found with CONFIG GET dir>/dump.rdb
# 3) systemctl start redis -> Redis loads the RDB into memory at startup
# Alternative (live): feed a RESP command stream with redis-cli --pipeRedis загружает RDB только при запуске. Поэтому целевой сервер останавливают, перенесённый dump.rdb кладут в каталог данных (CONFIG GET dir) и перезапускают сервер; при запуске память заполняется из RDB. Чтобы загрузить без остановки сервера, передайте ключи в формате RESP через redis-cli --pipe.
Elasticsearch
# Register the same repository on the target cluster, then restore the snapshot
PUT _snapshot/migration_repo
{ "type": "fs", "settings": { "location": "/mnt/es_backup" } }
POST _snapshot/migration_repo/migration_1/_restore
{ "indices": "customer,orders",
"rename_pattern": "(.+)", "rename_replacement": "restored_$1" }На целевом кластере зарегистрируйте тот же репозиторий снимков, что и на источнике (файлы должны быть доступны), затем восстановите индексы через _snapshot/.../_restore. Имена индексов меняются через rename_pattern/rename_replacement. Существующие индексы нельзя восстановить, пока они открыты; сначала закройте или переименуйте их.