DBAtlas · Veritabanı operasyon atlası

Hedefe içe aktarım

Oracle

# Data Pump ile içe aktarım; şema ve tablespace yeniden eşleme
impdp sistem/parola directory=DIR_DMP dumpfile=magaza_%U.dmp \
  logfile=magaza_imp.log \
  remap_schema=magaza:magaza_yeni \
  remap_tablespace=USERS:DATA parallel=4

# Var olan nesnelerde: TABLE_EXISTS_ACTION=TRUNCATE|APPEND|REPLACE

impdp, expdp ile alınan .dmp dosyasını hedefe yükler. REMAP_SCHEMA kaynağı farklı bir şemaya, REMAP_TABLESPACE farklı bir tablespace'e taşır; farklı ortamlar arası geçişte bunlar sık kullanılır. Var olan tabloların davranışı TABLE_EXISTS_ACTION ile, hız PARALLEL ile ayarlanır.

PostgreSQL

# Paralel geri yükleme (custom/directory biçiminden)
pg_restore -j4 -d hedefdb --no-owner --clean --if-exists magaza.dump

# Yalnızca belirli tablo: pg_restore -d hedefdb -t musteri magaza.dump
# Düz .sql dökümü ise:  psql -d hedefdb -f magaza.sql

pg_restore -j ile custom/directory biçimli dökümler paralel (çok işlemli) yüklenir; bu büyük veritabanlarında yüklemeyi ciddi hızlandırır. --clean --if-exists hedefteki nesneleri önce düşürür, --no-owner farklı rol yapısına uyum sağlar. Düz SQL dökümleri psql -f ile yüklenir (paralel değildir).

MySQL

# Düz SQL dökümünü yükle
mysql --binary-mode magaza < magaza.sql

# Paralel/hızlı yükleme (mydumper ile alınmışsa):
myloader --directory=./yedek --database=magaza --threads=4 --overwrite-tables

# İpucu: yükleme öncesi SET FOREIGN_KEY_CHECKS=0; unique_checks=0 hız kazandırır.

mysqldump SQL dökümü mysql istemcisine yönlendirilerek yüklenir (mysql magaza < dump.sql). Paralel ve çok daha hızlı yükleme için mydumper ile alınan dizin myloader --threads ile geri yüklenir. Yükleme süresince FOREIGN_KEY_CHECKS ve UNIQUE_CHECKS'i kapatmak performansı artırır.

SQL Server

-- Fiziksel yedekten geri yükle (dosya yollarını yeni ortama taşı)
RESTORE DATABASE magaza FROM DISK = 'C:\yedek\magaza.bak'
WITH MOVE 'magaza_data' TO 'D:\data\magaza.mdf',
     MOVE 'magaza_log'  TO 'D:\log\magaza.ldf', REPLACE;

-- BACPAC'ten (şema+veri) içe aktarım:
-- sqlpackage /Action:Import /TargetConnectionString:"..." /SourceFile:magaza.bacpac

.bak yedeği RESTORE DATABASE ile yüklenir; farklı disk düzenine taşırken WITH MOVE ile veri/log dosyaları yeni yollara yönlendirilir. Sürümden bağımsız/Azure SQL hedefinde SqlPackage /Action:Import ile .bacpac dosyası (şema + veri) yeni bir veritabanı olarak oluşturulur.

MongoDB

# BSON yedeğini geri yükle; oplog'u tekrar oynatarak tek noktaya oturt
mongorestore --uri="mongodb://hedef:27017" --oplogReplay \
  --numParallelCollections=4 ./yedek

# Ad değiştirme: --nsFrom='magaza.*' --nsTo='magaza_yeni.*'
# Var olan veriyi silip yükleme: --drop

mongorestore, mongodump BSON çıktısını hedefe yükler. --oplogReplay, --oplog ile alınmış yedekteki oplog değişikliklerini tekrar oynatarak dump'ı tutarlı tek bir zaman noktasına getirir. Veritabanı/koleksiyon adı --nsFrom/--nsTo ile değiştirilir, mevcut veri --drop ile temizlenebilir.

Redis

# Sunucuyu durdur, dump.rdb dosyasını veri dizinine koy, tekrar başlat
# 1) systemctl stop redis  (veya SHUTDOWN NOSAVE)
# 2) cp dump.rdb  <CONFIG GET dir ile bulunan yol>/dump.rdb
# 3) systemctl start redis   -> Redis açılışta RDB'yi belleğe yükler

# Alternatif (canlı): redis-cli --pipe ile RESP komut akışı beslemek

Redis RDB'yi yalnızca açılışta yükler. Bu yüzden taşınan dump.rdb, hedef sunucu durdurulup veri dizinine (CONFIG GET dir) konur ve sunucu yeniden başlatılır; açılışta bellek RDB'den doldurulur. Sunucuyu durdurmadan yüklemek için anahtarlar RESP biçiminde redis-cli --pipe ile akıtılır.

Elasticsearch

# Hedef kümede aynı depoyu tanımla, sonra snapshot'ı geri yükle
PUT _snapshot/tasima_deposu
{ "type": "fs", "settings": { "location": "/mnt/es_yedek" } }

POST _snapshot/tasima_deposu/goc_1/_restore
{ "indices": "musteri,siparis",
  "rename_pattern": "(.+)", "rename_replacement": "restored_$1" }

Hedef kümede kaynakla aynı yedek deposu tanımlanır (dosyalar erişilebilir olmalı), ardından _snapshot/.../_restore ile index'ler geri yüklenir. rename_pattern/rename_replacement ile index adları değiştirilebilir. Var olan index'ler açıkken geri yüklenemez; önce kapatılır ya da yeniden adlandırılır.

DBAtlas'ta aç →