Daemon /Application Process: İkiye
ayrılır. Bunlar:
Network Listeners
Uzaktan gelen bağlantıları yetki kontrolü yaparak
dinleyecek olan bağlantıları dinler ve I/O'ya izin verir.
Grid Infrastructure Daemons
Grid olmayan yapılarda veritabanı yeniden
başlatıldığında ya da kapatılıp açıldığında ASM, Listener gibi servisleri manuel olarak
başlatmak gerekirdi. Grid yapısı
kurulu olan veritabanlarında bu servisler yüksek güvenirlik servisi tarafından
otomatik olarak başlatılmaktadır.
Oracle Veritabanı Depolama Yapısı
Veritabanı kapatıldığında SGA ve PGA alanları
disklere kaydedilir. Oracle diskler üzerinde de bu SGA ve PGA verilerini
ilgili dosyalara yazar.
Oracle Veritabanı Depolama Yapısı Simülasyonu |
Oracle veritabanı mantıksal ve fiziksel olmak
üzere iki yapıdan oluşur.
Veritabanının Mantıksal Yapısı
Oracle veritabanı yönetilebilmesini kolaylaştırmak
amacıyla mantıksal olarak daha küçük parçalara ayrılmıştır ve her parça bir
sonraki parçayı oluşturur. Mantıksal yapıda bulunan parçalar, tablespace, segment, extent ve bloklardan ve şemalardan oluşmaktadır. Bloklar extentleri, extentler segmentleri ve segmentler tablespaceleri oluşturmaktadır.
1. Tablespace
Tablespace için
mantıksal yapıların tamamını gruplandıran mantıksal bir depolama alanıdır. Tablespace
segment'lerin birleşmesiyle
oluşur. Oracle veritabanı içerisinde nesneler bulunan en az iki adet tablespace bulunmaktadır. Tablespaceler açık ya da kapalı
olabilir. Kapalı olduğunda içerisindeki bilgilere erişilmemektedir.
Bütün tablespace'ler ayrıca
en az bir datafile’a
sahiptir. Fiziksel olarak
data file, mantıksal olarak tablespace ismini almaktadır. Buna
göre datafile’ların toplam
boyutu tablespace’in
boyutunu, tablespace’erin
boyutu ise veritabanının toplam boyutunu verir.
Oracle’da bulunan 2 adet tablespace vardır. Bunlar: system ve sysaux’dur.
System tablespace’sinde data dictionary verileri bulunmaktadır.
2. Şema (Schema)
Nesneleri
İçerisinde tablolar, viewlar, indeksler ve kümeler
bulunmaktadır. Kullanıcı tarafından kullanılır ve kullanıcı adını alır. HR
kullanıcısının şeması HR’dır.
Doğrudan veri ile bağlantılıdır. Ancak şema ile tablespace arasında
bir bağlantı yoktur. Aynı tablespace içerisinde
birden fazla şemaya ait
veri olabileceği gibi, aynı şemadaki
nesneler farklı tablespace’de
de olabilir. Tablo, view, saklı yordam, fonksiyon, paket, tetikleyici, indeks
vb. gibi mantıksal veritabanı nesnelerinin tutulduğu, yani veritabanına ait bir
yapıdır.
Table (Tablo): En
temel veri saklama yeridir. Kullanıcılar tarafından oluşturulan tüm veriyi
barındırırlar.
View: Bir
tabloya erişimi kolaylaştırmak için kullanılırlar. İçerisinde veri bulunmaz.
Index (İndeks): Verilere
erişim performansını arttırmak için kullanılırlar. Tablolara direkt erişimi
sağlamak için kullanılırlar. İndeksler bir veya daha çok tablo ve sütun
üzerinde oluşturulabilir.
Cluster (Kümeler): Fiziksel
olarak birlikte saklanan bir veya birden fazla tablonun oluşturduğu gruba
verilen isimdir. Bu tablolar ortak kolonlar içerebilir ve genelde birlikte
kullanılırlar. Birbiriyle ilişkili satırlar fiziksel olarak bir arada
saklandığı için veriye erişimde performans sağlar.
3. Data Blocks
Oracle veritabanının verileri veri bloklarında saklanır. Bir veri bloğu en az 8 KB boyutunda
olmaktadır, en fazla ise 64 MB boyutunda olmaktadır. Oluşturulan tablespace için
veri blok sayısı belirlenebilir. Veritabanı veri bloklarını kullanabilir.
4. Extent
Extentler birbirlerini takip eden veri bloklarından
meydana gelir. En düşük boyutu 64 KB’dir.
5. Segment
Segmentlerde birbirlerini takip eden extentlerden
oluşur. Bir segment: veri segmenti, indeks segmenti, undo segmenti yada
temporary segmenti olabilir.
Veri (Data) Segmenti: Bir
tablo oluşturulduğu anda daha veri girmeden alanı ayrılan yapıdır. Tabloya veri
girildiğinde otomatik olarak extendler bu veri segment için ayrılır.
İndeks (Index) Segmenti: Her
bir indeksin verisi için oluşturulur.
Geçici (Temporary) Segmenti: Bir
SQL çalıştırıldığında gerek duyulursa Oracle tarafından kullanılır. İşlem
bittiğinde bu alan sistemin kullanımı için kullanılır.
Geri Alma (Rollback) Segmenti: Rollback
işlemlerinde kullanılır.
Aşağıdaki yapıda bloklar extent'leri, extentler ise segment'leri oluşturur.
Oracle Tablespace Hiyerarşisi |
Veritabanının Fiziksel Yapısı
Fiziksel disk üzerinde bulunan ve işletim sistemi
içerisinde bulunan dosyalardır. Birden fazla data file, birden fazla log file ve birden fazla control file’dan oluşabilir.
Oracle Veritabanı Fiziksel Yapısı |
1. Kontrol
Dosyaları (Control Files)
Kontrol dosyaları içerisinde Online Redo Log dosyalarının, Data File’ların ve Archive Log dosyalarının nerede
tutulduğunun bilgisi ve Checkpoint işlemlerine
ait bilgiler bulunur. RMAN ile
yedek alınmışsa, yedekleme bilgileri bu dosyalar içerinde bulunur. Ayrıca
güncel SCN (System Change Number)’de
kontrol dosyaları içerisinde
bulunmaktadır. Veritabanı ismi, archivelog
modda çalışıyorsa archivelog dosyalarının
bilgisi gibi bütün fiziksel yapıya ait bilgiler kontrol dosyalarında
bulunmaktadır. Veritabanı
açık haldeyken kontrol dosyaları kopyalanamaz. Eğer kontrol dosyaları herhangi bir sebepten dolayı bozulur ya da
silinirse, veritabanı kapanır ve çalışmaz hale gelir. Farklı bir yazılımla da
yedekleme yapılabilir ancak bütün yedekleme yazılımları arka planda RMAN kullanmak zorundadırlar. Kontrol dosyaları binary yapıdadır ve
üzerinde değişiklik yapılamaz.
Veritabanında eğer FRA oluşturulmuşsa 2 tane control file bulunur. Biri +DATA diğeri +FRA içerisindedir. Eğer +DATA içerisindeki control
file dosyasını kaybedersek +FRA'da olmasına rağmen veritabanı çalışmayacaktır. Böyle bir durum olduğunda SP file içerisinden +DATA'ya ait bilgi silinir ya
da +FRA'daki control file diğeriyle birebir
aynı olduğunda +DATA dizin altına kopyalayarak eklenebilir.
Control File 3
dosyadan oluşur. Varsayılan olarak konumu %ORACLE_HOME%\oradata dizininde bulunur.
2. Veri
Dosyaları (Data Files)
Kullanıcıya ve uygulamalara ait verilerin
tutulduğu dosyalardır. System, undo,
sysaux datafile’ları kurulumla birlikte gelir. Ayrıca temp datafile ve users datafile’da
kurulumla beraber gelmektedir.
Sysaux: Enterprise Manager bu
dosya ile çalışır. Enterprise Manager AVR raporları burada saklanır. Enterprise manager
repository’nin tutulduğu yer bu tablespace’dir.
System: Bu
tablespace içerisinde Data
Dictionary bulunmaktadır.
Temp: Geçici
olarak oluşturulan tablolar burada bulunur. ‘create temporary table’ komutuyla
bir tablo oluşturduktan sonra ilk COMMIT ya
da ROLLBACK işlemi yapıldığında
oluşturulan bu tablo silinecektir. Raporlama ağırlıklı sistemlerde analizler
gerçekleştirirken veri düzenli bir şekilde gelmelidir. Alanın yetmediği durumlarda o düzenleme işlemini temp üzerinde yapılır.
Undo: Yapılan
UPDATE, DELETE, INSERT vb. işlemleri ile yapılan işlemlerin değişiklik öncesindeki
halleri burada tutulur.
Users: Kurulumla
birlikte gelir ve varsayılan tablespace olarak atanır.
Fiziksel ve mantıksal alanlar arasında kesin bir
ayrım yapar.
Mantıksal Alanlar: Mantıksal
alanlar tablo, indeks, view, synonym, PL/SQL prosedürü gibi veri tabanı
nesneleri mantıksal alan içerisinde yer alır ve diğer ismi segment’tir.
Fiziksel Alanlar: İşletim
sistemi dosyalarının ve Oracle dosyalarının bulunduğu alanlar yani disklerdir.
Mantıksal nesnelerle, disklerdeki dosyaları ortak
bir noktada buluşturmak için tablespace
yapısı kullanılır. Her tablespace disk
üzerinde en az bir data file ile
temsil edilir.
Enterprise Manager Tablo Sayfası |
Schema: Kullanıcı tarafından kullanılır ve kullanıcı adını alır.
Tablespace: Segmentlerin
sahip olduğu tablespace adını gösterir.
Datafile’lar ONLINE durumunda olmalıdır. Eğer ‘status’
kısmında RECOVER yazarsa,
o datafile’ın recovery işlemi
yapılacaktır. Ayrıca SYSTEM tablespace’i tarafından kullanılan
bütün datafile’lerin ‘status’ sütununda SYSTEM yazısını görürüz. ENABLE sütunu bize salt okunur ya
da R/W iznine sahip
olup olmadığını gösterir. Eğer yedekleme işlemini RMAN ile yapılmayacaksa datafile’ları tek tek yedeklenebilir ancak yedekleme işlemi yaparken datafile’ın bulunduğu ‘tablespace’ nesnesinin
durumunu OFFLINE yapılması
gereklidir.
3. Online
Redo Log Files
Instance recovery dosyalarının tutulduğu
dosyalardır. Eğer veritabannda bir sorun oluşursa, instance veritabanı Online Redo Log File’den recovery
yapabilir. FRA kurulu
bir sistemde toplamda 6 tane dosya vardır. Bunların 3 tanesi redo log grubu olur.
Veritabanı üzerindeki tablolarda UPDATE, INSERT, DELETE vb. işlemlerle
değişiklikler yapılabilir. Ancak veritabanı bu işlemlerin hepsini RAM üzerinde Log Buffer alanına yazılır yani
disklere hemen yazılmaz. Ancak kullanıcı UPDATE işlemi yaptığı an Online Redo Log File’a yazılır. Kullanıcı eğer işlemini yaparken COMMIT yapmış
ise bu işlem gerçek zamanlı yapılır. SGA’nın Log Buffer alanındaki tüm veriler Online Redo Log File’a yazılır. Online
Redo Log File’ler veritabanı
çalışır durumdayken kopyalayarak yedeklenemezler. Ancak arşivlenerek,
arşivlenmiş Online Redo Log File’ı kopyalayarak yedeklenebilir. Redo Log dosyalarından biri veya
birkaçında sorun olsa bile control file dosyasından
farklı olarak veritabanı çalışmasına devam eder. Veritabanının çalışmasını durdurması için tüm dosyalarda sorun olması gerekir. Dosyaların ‘status’ sütunundan kullanımda olup olmadığını öğrenilebilir.
Eğer durumu CURRENT ise
LGWR işleminin dosyaya yazmakta olduğunu anlaşılır. Durumu ACTIVE ise LGWR işlemi yazmayı
bitirmiş ancak veritabanının kurtarılması gerektiği an o dosyaya ihtiyaç olduğunu
bize bildirir. Durumu INACTIVE ise
LGWR işlemi tarafından kullanılıyor olduğu anlaşılmaktadır. GROUP sütunu bize dosyanın ait
olduğu grup numarasını bildirir. BYTES ise
disk üzerinde ne kadar alan kapladığını bildirir. ARCHIVED sütununda 'YES' yazıyorsa arşivlenmiş durumda olduğu anlaşılır.
4. Parameter
File: Oracle instance yapılandırma bilgileri burada tutulur. Ayrıca
içerisinde bütün dosyaların ve control
file’ın bilgileri vardır. “SPFILE”
ve “PFILE” dosya adıdır.
5. Password
File: Veritabanını bağlanmak istediğimizde SYSDBA, SYS gibi kullanıcıların şifresinin doğruluğu bu dosyadan
kontrol edilir ve erişim onaylanır. Diğer kullanıcıların bilgileri data dictionary içerisinde
şifrelenmiş olarak saklanır.
6. Backup
File: Veritabanını recovery yapmak
için kullanılan alandır. Data file’ların
birebir kopyalarını içerir.
7. Archived
Redo Log Files: Online Redo Log File’larının birebir yedeğidir.
Bir redo log dosyası
dolduğu an başka bir dizine yedeği alınır.
8. Trace
and Alert Files: Sunucu ve arkaplan işlemlerinin kayıtlarının
tutulduğu, hataların yazıldığı dosyalardır. Bu dosya ile işlemler izlenebilir, oturumlar
görülebilir.
Bir sonraki yazımda görüşmek üzere...