- Katılım
- 7 Nis 2025
- Konular
- 367
- Mesajlar
- 780
- Çözümler
- 1
- Tepkime puanı
- 121
- Puan
- 93
- Konum
- İstanbul
- Web sitesi
- forumagel.com
Veritabanındaki verileriniz ne kadar güvende olursa olsun, donanım arızaları, yazılım hataları, insan hataları, siber saldırılar veya doğal afetler gibi beklenmedik durumlar veri kaybına yol açabilir. Bu tür senaryolarda iş sürekliliğini sağlamanın tek yolu, veritabanınızın düzenli ve güvenilir yedeklerine sahip olmak ve bu yedekleri kullanarak veritabanını kurtarabilmektir. Yedekleme (Backup) ve Geri Yükleme (Restore) işlemleri, veritabanı yönetiminin en temel ve en hayati görevlerindendir.
Veritabanı Yedekleme (Backup) Nedir?
Veritabanı yedekleme, belirli bir zamanda veritabanının bir kopyasını oluşturma işlemidir. Bu kopya, veritabanının orijinal hali zarar gördüğünde veya kaybolduğunda onu tekrar oluşturmak için kullanılır. Yedekler genellikle ayrı bir depolama ortamında (başka bir disk, ağ sürücüsü, bulut depolama vb.) saklanır.
Yaygın Yedekleme Türleri
Farklı yedekleme türleri, veri kurtarma hedeflerinize ve performans gereksinimlerinize göre kullanılır:
Etkili bir yedekleme stratejisi, olası bir felaket sonrası ne kadar veri kaybını göze alabileceğinize (RPO - Recovery Point Objective) ve veritabanını ne kadar sürede kurtarmanız gerektiğine (RTO - Recovery Time Objective) göre belirlenir. Stratejiniz şunları içermelidir:
Geri yükleme, yedekten alınan veriyi kullanarak veritabanını felaket öncesi bir duruma geri döndürme işlemidir. Geri yükleme işlemi, yedekleme işleminden daha karmaşık olabilir ve izlenen yedekleme stratejisine göre adımları değişir.
Geri Yükleme Senaryoları:
Bu bölümde veritabanı yedekleme ve geri yüklemenin neden önemli olduğunu, farklı yedekleme türlerini ve temel strateji unsurlarını ele aldık. Verilerinizin güvende ve kurtarılabilir olduğundan emin olmak, karşılaşabileceğiniz en büyük felaketlere karşı sigortanızdır.
Veritabanı yönetiminin bir diğer önemli yönü de sistemin sağlığını, performansını ve kaynak kullanımını izlemektir. Bir sonraki bölümde, veritabanı izleme (monitoring) ve genel bakım görevleri konusuna giriş yapabiliriz.
Veritabanı Yedekleme (Backup) Nedir?
Veritabanı yedekleme, belirli bir zamanda veritabanının bir kopyasını oluşturma işlemidir. Bu kopya, veritabanının orijinal hali zarar gördüğünde veya kaybolduğunda onu tekrar oluşturmak için kullanılır. Yedekler genellikle ayrı bir depolama ortamında (başka bir disk, ağ sürücüsü, bulut depolama vb.) saklanır.
Yaygın Yedekleme Türleri
Farklı yedekleme türleri, veri kurtarma hedeflerinize ve performans gereksinimlerinize göre kullanılır:
- Tam Yedek (Full Backup): Veritabanının tamamının yedeğini alır. Belirli bir zamandaki veritabanının tam bir kopyasıdır. Geri yükleme için tek başına yeterlidir, ancak büyük veritabanları için zaman alıcı ve disk alanı tüketen bir işlemdir.
- Diferansiyel Yedek (Differential Backup): Son tam yedekten bu yana değişen tüm verilerin yedeğini alır. Tam yedekle birlikte kullanılır. Geri yükleme için en son tam yedek ve en son diferansiyel yedeğe ihtiyaç duyulur. Tam yedeklerden daha hızlı ve daha az yer kaplar.
- İşlem Günlüğü Yedekleri (Transaction Log Backups): Sadece işlem günlüğünü yedekler. İşlem günlüğü, veritabanında yapılan tüm işlemleri (ekleme, silme, güncelleme vb.) kaydeder. Özellikle kritik veriler için ve veri kaybını minimuma indirmek (point-in-time restore) için kullanılır. Tam veya diferansiyel yedeklerle birlikte kullanılır ve genellikle daha sık alınır.
Etkili bir yedekleme stratejisi, olası bir felaket sonrası ne kadar veri kaybını göze alabileceğinize (RPO - Recovery Point Objective) ve veritabanını ne kadar sürede kurtarmanız gerektiğine (RTO - Recovery Time Objective) göre belirlenir. Stratejiniz şunları içermelidir:
- Yedekleme Sıklığı: Tam, diferansiyel ve işlem günlüğü yedeklerinin ne kadar sıklıkla alınacağı. Veritabanındaki veri değişim hızına ve RPO hedefinize bağlıdır.
- Saklama Konumu: Yedeklerin nerede saklanacağı. Orijinal veritabanından fiziksel olarak ayrı bir yerde, hatta farklı bir coğrafi konumda saklanması önerilir (felaket durumlarına karşı).
- Saklama Süresi: Yedeklerin ne kadar süreyle saklanacağı (yasal gereksinimler veya iş ihtiyaçlarına göre).
- Yedeklerin Test Edilmesi: Alınan yedeklerin düzenli olarak test edilmesi hayati önem taşır. Yedek dosyasının bozuk olup olmadığını veya geri yükleme işleminin başarılı bir şekilde tamamlanıp tamamlanamadığını kontrol etmek, felaket anında sürprizlerle karşılaşmanızı engeller. Test edilmemiş yedek, yedeği alınmamış veri gibidir!
Geri yükleme, yedekten alınan veriyi kullanarak veritabanını felaket öncesi bir duruma geri döndürme işlemidir. Geri yükleme işlemi, yedekleme işleminden daha karmaşık olabilir ve izlenen yedekleme stratejisine göre adımları değişir.
Geri Yükleme Senaryoları:
- Tam Veritabanı Geri Yükleme: Mevcut veritabanının tamamen silinip, tam yedekten baştan oluşturulması.
- Zamanda Belirli Bir Noktaya Geri Yükleme (Point-in-Time Restore): Özellikle işlem günlüğü yedekleri kullanılarak, veritabanını tam yedekten sonraki herhangi bir ana geri döndürme. Bu, veri kaybını en aza indirir.
- Farklı Bir Konuma Geri Yükleme: Veritabanını test amacıyla veya başka bir sunucuya taşımak için farklı bir klasöre veya sunucuya geri yükleme.
- Microsoft SQL Server:
Kod:
-- Tam Yedek AlmaBACKUP DATABASE VeritabaniAdi TO DISK = 'C:\yedekler\VeritabaniAdi_Full.bak'; -- Tam Yedekten Geri YüklemeRESTORE DATABASE VeritabaniAdi FROM DISK = 'C:\yedekler\VeritabanıAdi_Full.bak';
BACKUP
komutları veRESTORE DATABASE ... WITH NORECOVERY
veRESTORE LOG ... WITH RECOVERY
gibi komutlar sunar. Yönetim araçları (SSMS) genellikle bu işlemleri daha kolaylaştırır. - MySQL: Genellikle komut satırı araçları kullanılır.
Kod:
-- Yedek Almamysqldump -u kullanici_adi -p sifre VeritabaniAdi > VeritabaniAdi_Yedek.sql; -- Geri Yüklememysql -u kullanici_adi -p sifre VeritabaniAdi < VeritabaniAdi_Yedek.sql;
- PostgreSQL: Genellikle komut satırı araçları kullanılır.
Kod:
-- Yedek Almapg_dump -U kullanici_adi VeritabaniAdi > VeritabaniAdi_Yedek.sql; -- Geri Yüklemepg_restore -U kullanici_adi -d VeritabaniAdi VeritabaniAdi_Yedek.sql;
Bu bölümde veritabanı yedekleme ve geri yüklemenin neden önemli olduğunu, farklı yedekleme türlerini ve temel strateji unsurlarını ele aldık. Verilerinizin güvende ve kurtarılabilir olduğundan emin olmak, karşılaşabileceğiniz en büyük felaketlere karşı sigortanızdır.
Veritabanı yönetiminin bir diğer önemli yönü de sistemin sağlığını, performansını ve kaynak kullanımını izlemektir. Bir sonraki bölümde, veritabanı izleme (monitoring) ve genel bakım görevleri konusuna giriş yapabiliriz.