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

Yedekleme, Felaket Yönetimi, Bakım

Veritabanı Programlama

1- 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- “.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- 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- 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- 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- Yedekleme ne anlama gelmektedir?

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

7- 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- 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- 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- 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- 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.

12- 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.

13- 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- İ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- İ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- 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- 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- 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- 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- 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.

Sıra-(Soruid) 1-(909010) 2-(909025) 3-(909046) 4-(909055) 5-(909073) 6-(909085) 7-(909092) 8-(909110) 9-(909134) 10-(909152) 11-(909179) 12-(909168) 13-(909193) 14-(909205) 15-(909213) 16-(909222) 17-(909233) 18-(909246) 19-(909253) 20-(909268)

Yaz Okulu Kayıt ve Ders Seçme
28 Haziran 2021 Pazartesi