Oracle Mantıksal Veritabanı yapıları (Schema, Bloklar, Extentler, Segmentler, Tablespace’ler)

Mantıksal Veri Tabanı Yapıları :

— Schema ( şema ) Object (objeleri)

— Veri Blokları

— Extent’ler

— Segment’ler

–Tablespace’ler

 

Schema ve Schema Object (şema nesneleri):

 

Schema database objelerinin oluşturduğu topluluktur. bir schema’nın sahibi veri tabanında bulunan bir kullanıcıdır. Schema o kullanıcıyla aynı isime sahiptir.

Schema ve Tablespace arasında bir bağlantı yoktur. aynı schemadaki nesneler farklı Tablespace’lerde bulunabileceği gibi Tablespacelerde farklı schemalara ait objeler bulunabilir.

Başlıca Schema Nesneleri :

 

 1 – Tablolar :

Oracle veri tabanında en temel veri saklama birimidir. Kolonlar ve satırlardan oluşur. Kullanıcılar tarafından ulaşılabilecek tüm veriyi barındırırlar.

 

2 – View’ler :

Bir veya birden fazlada tabloda bulunan verinin özelleştirilmiş bir gösterim şeklidir. Bir view aynı zamanda saklanmış bir sorgu olarak da değerlendirilebilir. Viewler tablonun önceden belirlenmiş satır ve kolonlarına erişimi kısıtlayarak, tablo güvenliğinde ekstra bir seviye sağlar.

Mesela Bir database user’ı başka bir database user’ına belirli bir tabloya erişim izni vermek istiyor. ama erişim izni vereceği tablodaki bazı kolonları görmesini istemiyor. Bu durumda bir View yazıp erişim izni vermek istemediği kolonlar dışında kalan kısmını View e yükleyip diğer kullanıcıya sadece bu View’i kullanma izni vererek tablo güvenliğini sağlayabilir.

bu tıpkı şuna benzer;  bir banka ATM sinden farklı bir bankanın kredi kartıyla sorgu yada işlem yapmak istediğinizde, yapabileceğiniz işlem ve sorgular kısıtlıdır. çünkü banka bütün işlemler için yetki vermemiş, bu tür işlemler View’lerle yapılır.

 

3 – Indeks’ler :

Indeks’ler tablolarla ilişkilendirilen opsiyonel yapılardır. Data erişim performansını arttırmak için yaratılırlar. Bir oracle indeksi tablo verisine direk erişim yolu sağlar. Oracle bir isteği cevaplarken, istenilen satırları daha hızlı bulmak için tablo ile ilişkilendirilmiş indeksleri kullanır. Indeks’ler, uygulamalar bir tablonun satırlarının belli bir bölümünü veya belli bir satırı sorguladıklarında işe yarar. (Mesela maaşı 2000 dolardan yüksek olan çalışanlar sorgusu yapıldığında kullanılabilir)

Indeksler bir tablonun bir veya birden fazla kolonu üzerinde yaratılır ve oracle tarafından otomatik olarak bakılır ve kullanılır. Tablolar üzerinde yapılacak olan değişiklikler otomatik olarak ilişkili indekslere yansıtılır.

 

Oracle Veri Blokları :

Bir veri bloğu, fiziksel veri tabanı alanında belirli sayıdaki byte’a karşılık gelir. Standart blok büyüklüğü DB_BLOCK_SIZE başlangıç parametresi ile belirlenir. Bunun dışında en çok 5 adet blok büyüklüğü belirtilebilir.

 

Extent’ler :

Bir extent, belirli sayıdaki ardışık veri tabanı bloğun’dan oluşur. Bir seferde alınır ve belirli bir tipteki bilgiyi tutmak için kullanılır.

 

Segmentler :

Extentlerin üzerindeki mantıksal veri tabanı depolama seviyesi Segmentlerdir. Segment, belirli bir mantıksal yapı için tahsis edilmiş extentler kümesidir. Bir segmente ait bütün extentler dolduğunda, oracle bu segment için yeni bir extent tahsis eder.

üç çeşit segment tipi vardır.

 

Veri Segmenti :

Her kümelenmemiş tablonun bir segmenti vardır. Tablonun bütün verisi, veri segmentinin extentlerinde tutulur. Bölümlenmiş tablolarda her parça için bir veri segmenti bulunur.  Her küme için bir veri segmenti vardır.  Kümedeki her tablonun verisi kümeye ait olan veri segmentinde tutulur.

 

Indeks Segmenti :

Her indeksin kendi verisinin tutulduğu bir indeks segmenti vardır. Bölümlenmiş bir indeksin her bölümüne ait bir indeks segment vardır.

 

Temporary Segment :

Temporary segmentler bir SQL cümlesinin işini tamamlamak için geçici bir alana ihtiyaç duyulduğunda oracle tarafından yaratılır. SQL cümlesinin çalıştırılması tamamlandığında temporary segment yeniden kullanılabilmesi için sisteme geri verilir.

 

Roolback Segment :

Automatic Undo Management” modundayken, veri tabanı sunucusu tablespaceleri kullanarak undo alanını yönetir. “Manual Undo Management” modundayken, veri tabanı yöneticisi tarafından undo bilgisini geçici olarak tutması için roolback segmentler yaratılır. Roolback segmentlerdeki bilgi veritabanının kurtarılması sırasında kullanılır.

 

Tablespace’ler:

Her veritabanı, tablespace adı verilen ve birbiri ile ilişkili mantıksal yapıları gruplayan, mantıksal depolama birimlerine bölünmüştür. tablespace içindeki tüm mantıksal yapıları fiziksel olarak tutması için bir veya birden fazla datafile yaratılır. Datafile’ların toplam büyüklüğü, tablespace in toplam depolama kapasitesini verir. Tablespace’lerin toplam depolama kapasitesi, database’in toplam depolama kapasitesini verir.

Bir tablespace online (erişilebilir) yada offline (erişilemez) moda alınabilir. bu birçok yönetimsel işlemin yapılmasını kolaylaştırır.

 

yararlı olması dileğiyle…

                                                                                                                                                            CUMHUR ÇAĞATAY

About Cumhur Çağatay

Computer Engineer