Veritabanı Programlama Dersi 7. Ünite Sorularla Öğrenelim

Yedekleme, Felaket Yönetimi, Bakım

1. Soru

MS SQL Server’de oluşturulan bir kullanıcı veritabanında ön tanımlı olarak hangi dosya türleri bulunur?

Cevap

MS SQL Server’de oluşturulan bir kullanıcı veritabanında ön tanımlı olarak aşağıdaki dosya türleri bulunur (Şekil 7.1):

• Veri dosyaları (.mdf ve .ndf): Tabloları ve indeksleri barındırır. Veri dosyaları (ön tanımlı 8 kb) bloklara ayrılmıştır ve sql veritabanı tüm işlemleri; blokları yüklemek, bellekte tutmak, değiştirmek ve bir bloğu diske kaydetmek şeklinde gerçekleştirir.

İşlem kayıtlarını tutan hareket dosyaları (“.ldf ”): Kayıt dosyası, bir açıdan veri dos- yasında yapılacak işlerin komut dizisidir ve geriye doğru da çalıştırılabilir. Bu sayede bir işlemin geri alınabilmesi ya da sistemin çökmesi durumunda veritabanının kararlı bir noktaya geri döndürülebilmesi mümkün olur.


2. Soru

“.ldf ” uzantılı dosyalar hangi dosya türleri olarak tanımlanırlar?

Cevap

İşlem kayıtlarını tutan hareket dosyaları (“.ldf ”), kayıt dosyası, bir açıdan veri dosyasında yapılacak işlerin komut dizisidir ve geriye doğru da çalıştırılabilir. Bu sayede bir işlemin geri alınabilmesi ya da sistemin çökmesi durumunda veritabanının kararlı bir noktaya geri döndürülebilmesi mümkün olur.


3. Soru

MS SQL Server, çalışmak için kaç adet sistem veritabanına ihtiyaç duyar?

Cevap

MS SQL Server, çalışmak için dört sistem veritabanına ihtiyaç duyar: Master, Model, Msdb ve Tempdb. Uygulamaların kullanması için açılan veritabanları “kullanıcı veritabanı” olarak adlandırılır.


4. Soru

Master veritabanında ne tür bilgiler bulunmaktadır?

Cevap

MS SQL Server’ın tüm yapılandırma bilgileri Master veritabanında yer alır. Bu yapılandırma bilgilerinde; genel sistem yapılandırması, oturum açma bilgileri, veritabanlarının ko- numları, diğer bağlı sunucular, replikasyon ve ikizleme gibi işlemlerin bilgileri yer alır.


5. Soru

Master veritabanının  nedir?

Cevap

Model veritabanı, yeni oluşturulan veritabanları için ön tanımlı örnektir. Yeni bir veritaba- nı oluşturulduğunda Model veritabanının kopyası oluşturulur. Çok sayıda veritabanı olan ve sıklıkla yeni veritabanları oluşturulan sistemlerde, yeni veritabanlarında bulunmasını istediğiniz özellik ve nesneleri Model veritabanına ekleyerek yeni veritabanı oluşturma işlemlerinizi basitleştirebilirsiniz.


6. Soru

Yedekleme ne anlama gelmektedir?

Cevap

Yedekleme; verinin, veritabanı sunucusunun dışına çıkartılması ve güvenlik altına alınmasıdır.


7. Soru

Yedekleme işlemi hangi amaçla yapılmaktadır?

Cevap

Veritabanlarını çalıştıran sistemler ya da sistemlerin barındığı konumlar, ne kadar önlem alınır ise alınsın tam güvenilirlik sağlayamazlar. Her zaman tanımlanmamış ya da dikkate alınmamış risklerin gerçekleşme olasılığı vardır ve herhangi bir sistemde öngörülmemiş bir risk nedeni ile verilerin kaybolması istenmez. Riskleri telafi edebilmek için veritabanlarının yedeklenmeleri gerekir. Ayrıca veritabanları, geliştirme ve test ekiplerinin güncel veritabanı şemasına kolay ulaşabilmeleri, (belli şartlar altında) geliştirmelerini gerçek veri ile test edebilmeleri için de yedeklenir.


8. Soru

Veritabanları ve verilerin sıklıkla karşı karşıya kaldıkları riskler nelerdir?

Cevap

Veritabanları ve veriler sıklıkla şu risklerle karşı karşıyadırlar:

• Donanım / altyapı arızaları nedeni ile oluşabilecek veri bütünlüğünün bozulması hâlleri

• Veritabanına ya da üzerinde çalıştığı sistemlere müdahale eden kullanıcıların yanlış işlemleri nedeni ile oluşabilecek kayıplar ya da veri bütünlüğünün bozulması hâlleri

• Yasal nedenlerle herhangi bir verinin eski hâlinin talep edilmesi


9. Soru

Tam Yedekleme işlemindeki yöntemler nelerdir?

Cevap

Verinin tümünün tek seferde elde edildiği uygulamalardır. Genel olarak üç ayrı yöntemden bahsedilebilir: Kopyalama, ihraç etme ve veritabanı tarafından oluşturulan yedekler.

  • • Kopyalama: Her türlü veritabanı kopyalama ile yedeklenebilir. Ancak kopyalama, veritabanındaki işlemlerin durdurulması ile mümkündür, veritabanındaki dosyaların içindeki boşlukları da almak anlamına gelir, verimsizdir ve tercih edilmez.
    • İhraç etme: Veritabanı çalışır iken verinin çeşitli formatlarda elde edilmesi işlemidir. Çoğu veritabanında ihraç etme ile alınan yedeğin geri yüklenmesi oldukça zordur. Genellikle başka türdeki veritabanlarına veri taşımak vb. işlemler dışında tercih edilmez. Yine de bazı veritabanlarında sadece bu yolla yedek alınabilir.
    • Veritabanı tarafından oluşturulan yedekler: Çoğu büyük veritabanı kendi yedekleme altyapısına sahiptir ve üzerinde işlemler yürütülürken de tam yedek alabilir. Veritabanı destekliyor ise bu yöntem tercih edilir.

10. Soru

  • Fark yedeklemelerin özellikleri nelerdir?

Cevap

Fark yedeklemeleri, artımlı yedekleme olarak da anılır. Son tam yedekten itibaren verinin sadece değişen blokları alınarak gerçekleştirilir. Daha az veri yedeklendiği için daha kısa sürede tamamlanır ve az yer kaplar. Ancak bir fark yedeği, kendisinden önce alınmış tam yedek ile bir arada kullanılabilir. Tam yedekten itibaren alınmış birden fazla fark yedeğiniz var ise sonuncusu, öncekileri de kapsayacaktır. Bununla beraber, tam yedek alındıktan sonra alınan her fark yedeği bir öncekinden daha büyük olacak ve sağlıklı bir yedek senaryosu kurgulanmamış ise tam yedeklerle aynı boyuta ve maliyete ulaşacaktır.


11. Soru

Hareket Günlük Yedeklemeleri ne anlama gelmektedir?

Cevap

Hareket günlük yedeklemeleri, verinin kendisini değil, veride yapılan değişiklik işlemlerinin kayıtlarını elde eder ve saklar. Ancak bir hareket günlük yedeği, önceki tam veri yedeğinden (veya tam veri yedeğin- den sonra alınan son veri fark yedeğinden) itibaren alınan tüm hareket günlük yedekleri- nin bir arada kullanılması ile geri yüklenebilir. Hareket günlüğünün geri yüklenmesi zahmetli ve maliyetli bir işlemdir. Yine de yoğun iş- lem yapılan sistemlerde iki veri yedekleme işlemi arasında sıklıkla (30 dakikada bir gibi) hareket günlük yedeği alınarak felaket durumlarında geri dönülebilecek verinin güncelliği arttırılabilir.


12. Soru

Birçok veri tabanı yöneticisi hareket günlük yedeklerini hangi sebeple siler ve saklamaya gerek duymazlar?

Cevap

MS SQL Server’da hareket günlük yedeği alındığında “truncate the transaction log” özelliği seçili ise hareket günlüğü sıfırlanır ve içeriği silinir. Bu yüzden ancak son veri ye- deklemesinden sonra alınan hareket günlük yedeklerinin tümü bir arada kullanıldığında geri dönülebilir bir ortam oluşturabilir. Bu özelliği nedeniyle pek çok veritabanı yöneticisi, yoğun veritabanlarında işlem kaydı dosyalarının büyümesini önlemek için, günde birkaç defa otomatik hareket günlük yedeği aldırır ancak saklamaz.


13. Soru

Replikasyon yönteminin çalışma şekli nasıldır?

Cevap

Ana veritabanında gerçekleşen işlemlerin hareket kayıtları kısa periyotlarla çalışan bir iş- lem aracılığı ile ayrı bir disk alanına dosya blokları şeklinde bırakılır. Kopya veritabanları, bu hareket dosyalarını okur ve işlemleri taklit ederek kendilerini ana veritabanı ile eşitlerler.


14. Soru

İkizleme yöntemi nedir?

Cevap

Veritabanı ikizleme, beklenmedik bir hata, felaket ya da istenmeyen durumlarda felaket- ten dönme ve yüksek erişilebilirliği sağlamak için geliştirmiş olan bir çözümdür. İkizle- me kullanıldığında felaket durumunda veri kaybının önüne geçilmiş ve yüksek erişilebi- lirlik sağlanmış olur.


15. Soru

İkizleme yönteminin çalışma şekli nasıldır?

Cevap

Kopya veritabanı sunucuları, ana veritabanı sunucusuna ve birbirlerine doğrudan bağlanır ve gerçekleştirilen işlemler aracısız transfer edilir. Bu sayede kimi yapılandır- malarda “gerçek” eş zamanlı eşitleme sağlanabilir. Diğer yapılandırmalarda da eş zamanlı eşitleme mümkün olur. Ancak eşzamanlı ikizlemede ana veritabanı ile kopya veritabanları arasındaki iletişi- min mükemmel olması, kopya veritabanlarının performansının ana veritabanı ile yakın olması gibi gereksinimler getirir. Aksi hâllerde, ikizleme, ana veritabanı performansının ciddi biçimde düşmesine yol açabilir. İkizleme, şahit veritabanı sunucusu kullanıldığında asıl veritabanının devre dışı kaldığı hâllerde otomatik olarak kopya veritabanının devreye girmesine izin verir.


16. Soru

Yedekleme senaryosu nedir?

Cevap

Yedekleme Senaryosu bir uygulamanın verisinin hangi şartlarda ve ne şekilde yedeklene- ceğinin belirlenmesidir. Yedekleme, sistem üzerinde işlem yükü oluşturduğu gibi, yedek- leme ortamlarının hazırlanması açısından da maliyet üretebilirler. Bu açıdan yedekleme senaryoları sadece uygulamalar değil, onları kullanan kurumların da talep ve yedekleme maliyetlerini karşılama kapasiteleri doğrultusunda hazırlanır.


17. Soru

Yanlış yapılan bir işlemi verinin önceki hâline ulaşarak onarmak için uygulanması gerken işlemler nelerdir?

Cevap

Yanlış yapılan bir işlemi verinin önceki hâline ulaşarak onarmak için, sistem ya da ve- ritabanı yöneticilerinin yanlış işlemlerde yol açtığı kayıplar başta olmak üzere, kullanı- cıların yeniden oluşturulması çok maliyetli olacak miktarda kaydı silmeleri, istenmeyen değişikliklere neden olmaları vb. durumlarında veritabanları geri döndürülür. Bu işlem tercihe bağlı olarak orijinal veritabanının yerine yedeğin konulması ya da başka bir noktaya geri döndürülen veritabanından istenen bilgilerin orijinal veritabanına transfer edilmesi ile gerçekleşir.


18. Soru

MS SQL Server’da Geri Yükleme İşlemleri için hangi yedek dosyalarına gereksinim duyulmaktadır?

Cevap

SQL Server ’da veritabanının geri getirilmesi için Tam, Fark ve Hareket günlük yedekleri kullanılır. Geçerli bir yedek seti;

• Bir tam yedek ve
• (var ise) sonrasında alınan son fark yedeği veya
• (var ise) son fark yedeği sonrasında alınan eksiksiz hareket günlük yedekleri
• (Gerekiyor ise) Orijinal veritabanının var olan hareket günlük dosyası (Tail log) tarafından oluşturulur. SQL veritabanında ilgili hareket günlük yedekleri bulunduğu sürece zaman ekseninde istenen noktaya geri yüklemek mümkündür.


19. Soru

Felaket planlarında kullanılan veritabanı kümeleme işlemi ne tür bir yaklaşımdır?

Cevap

Veritabanı kümeleme, kümeleme, sürekli hizmet vermesi gereken ve en ufak kesintiye bile toleransı olmayan işletmeler tarafından tercih edilen, iki ya da daha çok birbirinden bağımsız sunucunun aralarında iletişim kurulduktan sonra tek bir sistem gibi çalışarak, bir veya birden fazla uygulamayı çalıştırmasına olanak tanıyan çözüme verilen genel addır. Kısaca birden fazla sunucu tek bir sunucu gibi davranmaktadır. Eğer sunucuların birisinde herhangi bir nedenle problem oluşur veya arıza meydana gelirse, diğer sunucu (veya sunucular) çalışmaya devam edeceği için iş süreci hiçbir şekilde kesintiye uğra- mayacaktır.


20. Soru

Yaygın veritabanı bakım faaliyetleri nelerdir?

Cevap

Veritabanının sürekliliğini ve performansını maksimum düzeyde tutmak için bakım pla- nına ihtiyaç duyulur. Bakım planında veritabanı yedekleri alınacağı için bir felaket duru- munda oluşacak zararlar minimum düzeye indirilmiş olur. İndeks bakımı ve istatistiklerin güncellenmesi ile de veritabanı performansı arttırılmış olur. Bu nedenle veritabanı bakım planındaki faaliyetler periyodik olarak yürütülmelidir. Genelde uygulanılan veritabanı bakım faaliyetleri aşağıda verilmiştir:

• Sistem Veritabanlarını ve Kullanıcı veritabanlarını yedeklemek
• Tutarlılık denetimleri ile veritabanındaki problem ve bozulmaları kontrol ederek veri kaybını en aza indirgemek
• İndeks bakımı ile indeksleri yeniden yapılandırmak ve organize etmek, fiziksel parçalanmayı ve indeks sayfa bütünlüğünü iyileştirmek
• İstatistiklerin bakımı ile eski veya bozuk istatistik verilerini düzeltmek
• Bakım sonrası temizleme görevleri ile eski yedek ve bakım görevi günlük (log) dos.yalarını silmek ve Msdb’deki geçmiş tabloları temizlemek
• Yedek saklamada kapasite sorunu varsa, yedeği alınan veritabanları sıkıştırmak.


Güz Dönemi Dönem Sonu Sınavı
18 Ocak 2025 Cumartesi
v