Sayfalar

6 Haziran 2012 Çarşamba

ORACLE DBMS Mimarisine Bir Bakış-3

Merhaba Arkadaşlar...

Önceki yazımızda ORACLE'ın fiziksel mimarisine devam ederek Prosesleri inceledik ve önemli olan Arkaplan Proseslerini tek tek tanımaya çalıştık. Bu yazımızda da fiziksel mimarinin son kısmı olan Depolama Birimlerine göz atacağız.

ORACLE'ın depolama birimleri veritabanının bulunduğu işletim sistemine ait fiziksel dosyalar olarak düşünülebilir. Nasıl ki bir işletim sistemi sağlıklı olarak çalışmak için bir takım dosyalara ihtiyaç duyuyorsa ORACLE DBMS de bu tarz bir yapıya ihtiyaç duymaktadır.

Şunu da belirtelim ki bir DBA, başarılı olabilmek için tüm bu ayrıntıları bilmek durumundadır. Nasıl ki bir otomobil çalışırken yüzlerce parçanın kombinasyonuna ihtiyaç duyuyor ve her parçanın da bu denklemde hayati bir rolü oluyorsa, veritabanı sistemi de bu şekildedir. Pek çok bağlantılı sistem tümleşik bir şekilde çalışırken kendine verilen rolü oynar. Bu ayrıntılar ve görevler bilinirse var olan bir sıkıntı rahatlıkla tespit edilebilir.



1.3 Depolama Birimleri
Demiştik ki işletim sistemi ORACLE'a ait depolama birimlerini yani fiziksel dosyaları görebilir. Bunlar genel olarak 3 şekilde bulunur. Data Files, Control Files ve Log Files bu sistemin ana parçalarını oluşturur. Buna ait temsili resim aşağıdaki gibi görülebilir;



Bu dosyaları açıklamadan önce fiziksel dosyaların arkaplanına bir bakalım. Nasıl oluyor da ORACLE fiziksel dosyalarla mantıksal kullanımı birleştiriyor? Mantıksal mimariye belki henüz değinmedik ama küçük bir başlangıç olabilir böylelikle. Veritabanında (en azından ORACLE'da) her nesnenin bir kullanıcısı bulunur. Bu nesneler de mantıksal olarak tablo uzaylarında (tablespaces) saklanır. Her kullanıcı bir veya daha fazla tablo uzayına sahip olabilir. Yine her tablo uzayı bir veya daha fazla kendisine bağlantılı olan veri dosyalarına sahiptir. İşte asıl bağlantı burada sağlanır. Yani kullanıcının sahip olduğu nesneler, o kullanıcıya ait tablo uzaylarında ve bu tablo uzayları da yine o kullanıcıya ait veri dosyalarında saklanır. Tüm bu mantıksal kısımlar DML (Veri İşleme Dili) ile görülebilir.

Her ORACLE veritabanında bir veya daha çok veri dosyası, iki veya daha çok log dosyası, bir veya daha çok kontrol dosyası vardır.

Şimdi bu dosyaların neler olduğuna bakalım;

  • Kontrol Dosyaları (Control Files): Veri dosyalarının, log dosyalarının disk üzerindeki yeri ve adı, veritabanı ile ilgili hayati bilgiler, veritabanının adı v.s. bilgiler burada tutulur. Bu dosyalar olmadan veri dosyalarını açarak kullanmamız mümkün değildir. Veritabanında oturum açıldığında ilk başvurulan dosyalar kontrol dosyalarıdır. Eğer veritabanına veri veya log dosyası değişimi (ekleme-çıkarma) olursa bu dosya otomatik olarak güncellenir.
  • Veri Dosyaları (Data Files): Kullanıcı ve uygulamalara ait veriler burada tutulur. Mantıksal veritabanı yapılarındaki verilerin fiziksel karşılığı burada tutulur. Bu dosyaların kapasitesi dolduğu zaman kendi kendilerini genişletirler. Veritabanı işlemlerinde veriler, SQL sorgularıyla bu dosyalardan çekilerek ön belleğe yani SGA'ya getirilirler. Değişen veya yeni eklenen veriler sabit diske erişim sayısını azaltmak dolayısıyla hızı artırmak amacıyla hemen diske alınmazlar. Bellekte bir havuzda biriktirilir ve hep birlikte diske yazılırlar.
  • Log Dosyaları (Redo Log Files): Veriler üzerindeki değişiklikleri tutarlar. Yani oturum için kurtarma bilgileri aslında bu dosyalardan sağlanır. Veritabanı herhangi bir sıkıntıyla karşılaşırsa oturum, Redo Log Dosyaları ile kurtarılır (recover işlemi).Güncellenen kayıtların hatalı olarak güncellendiği anlaşılırsa buradan eski haline döndürülür. İşlemler bu sayede asla kaybolmazlar. Zaten ORACLE'ı cazip kılan bir diğer sebep budur. Yine Redo Log Dosyalarının bozulma, kaybolma, eksik kayıt ihtimallerine karşı ORACLE, aynı Redo Log Dosyasının birden fazla yerde kopyasının tutulmasına izin verir.
    Havuzda tutulan ve henüz kaydedilmeyen veriler kayıt işlemi olmadan elektrik kesintisi v.s. problemler olursa Redo Log Dosyalarında bu adımlar saklanır. Veritabanı açıldığı anda bu değişiklikler sanki online uygulanıyormuş gibi disklere yazılır. Tüm bu işlemler otomatik gerçekleşir. Ek bir yük getirmez.
  • Parametre Dosyası (Parameter File): Veritabanı oturum bilgilerine ait konfigürasyon bilgilerinin saklandığı dosyadır. Bu dosya veritabanının başlangıç parametrelerini ayarlayan dosyadır. Veritabanı bu dosya olmadan başlayamaz.Veritabanı oluşturulduğu anda bu dosya otomatik olarak oluşur. Aslında ayrıntılı ve önemli bir konudur fakat bu kadarıyla yetinelim. 
  • Parola Dosyası (Password File): Veritabanına yönetici olarak bağlanarak yönetimsel işlemlerin yapılmasını sağlar. 
  • Yedekleme Dosyaları (Back-up Files): Veritabanı kurtarma işlemleri için kullanılırlar. 
  • Arşiv Log Dosyaları (Archive Redo Log Files): Tarihsel olarak verilerin değişim bilgilerini saklarlar. Bu dosya, bak-up dosyaları ile birlikte kullanılarak kaybolan verilerin kurtarılması gerçekleştirilir.
  • Trace and Alert Files: Bütün sunucuların ve arkaplan proseslerinin kayıtları tutulur. Veritabanı hatalarının kaydı burada tutulur. Bu dosya aracılığıyla oturumlar izlenir ve prosesler takip edilir. 
Bu sayede ORACLE fiziksel mimarisini tamamlamış olduk. Elbette aslında ORACLE burada anlatılandan daha kompleks ve ayrıntılı bir mimariye sahip. Fakat başlangıçta bu kısmını bilmek aslında işin çoğunu halletmektir. Bu aşamadan sonra 2.Mantıksal Mimariye geçiş yapabiliriz.

İyi çalışmalar... :)

Hiç yorum yok:

Yorum Gönder