20 Temmuz 2007 Cuma

Veri Dosyaları

Veri dosyaları redo log dosyaları ile birlikte veritabanındaki en önemli dosyalardır. Veritabanındaki bütün veri, en sonunda veri dosyalarında depolanır. Hemen hemen her veritabanında birden fazla veri dosyası olur, en az iki tane olacaktır: biri sistem verileri için biri de kullanıcı verileri için.

Oracle veritabanında nesneleri tutmak için tablespace (tablo alanı), segment (bölüm), extent (kapsam) ve block (blok) gibi paylaşım birimleri kullanır. Depolama alanında yer kaplayan veritabanı nesnelerine segment denir. Bir tablo yarattığımızda tablo segmenti yaratırız. Bölümlü (partitioned) tablo yarattığımızda her bir bölüm için bir segment yaratırız. Aynı şekilde bir index için gene bir index segmenti yaratılır.

Her bir segment bir veya daha fazla extent’ten (kapsam) oluşur. Extent, bir dosyadaki ayrılmış bitişik boşluklardan oluşur. Bir extent tek bir blokla 2GB arasında bir büyüklükte olabilir. Extent, bloklardan oluşur. Blok, Oracle’daki en küçük boşluk paylaştırma birimidir.

Veri satırları, index girişleri ve geçici sort sonuçları bloklarda depolanır. Blok, Oracle’ın diskten okuduğu veya diske yazdığı şeydir. Bloklar genelde 2KB, 4KB veya 8KB büyüklükte olur (16 KB ve 32 KB’a da izin verilmiştir). Blok büyüklüğü veritabanı oluşturulduktan sonra değiştirilemez, veritabanındaki bütün bloklar aynı büyüklüktedir.

Bir blok şu bölümlerden oluşur: Header (başlık), Table Directory (Tablo Dizini), Row Directory (Satır Dizini), Free Space (Boş Alan), Data (Veri). Bunlardan ilk üçüne Block Overhead (Blok Yükü) denir ve Oracle tarafından bloğun yönetiminde kullanılır, buraya veri yazılamaz.

Tabloalanı (Tablespace), segmentleri içeren bir yüklüktür (container). Her bir segment tek bir tabloalanına aittir. Bir segmentin bütün extentleri, segmentin bulunduğu tabloalanında bulunacaktır. Bir tabloalanındaki herhangi bir segmentin bir extenti bütünüyle tek bir veri dosyasında yer alacaktır, ancak bir segment farklı veri dosyalarında bulunan extentlere sahip olabilir.

Bir veritabanı bir veya daha fazla tabloalanından oluşur. Bir tabloalanı bir veya daha fazla veri dosyası içerir ve de segmentleri içerir.

Hiç yorum yok: