Kategoriler
ORACLE

Oracle 11g: DBA-1||Managing Database Storage

7.Managing Database Storage Structures

How Table Data Is Stored

Burada storage tarafında önemli dosyalarımız var. ( Datafile, Redo Log, Control Files, SPFile vs…)

Datafile — fiziksel dosyanın veritanında mantıksal karşılığı tablespace ( 1 tablespace – en az bir datafileden oluşur. 1 table space birden çok datafile’dan çalışabilir. 1 datafile birden fazla tablespace’le çalışmaz)

Datablokları büyüyüp extentleri oluşturuyor. 8 tane oracle datablock bir araya gelip extent oluşuyor. O extent de gidip tablo oluşturuyor. 1 extent ile bir tablo yaratılır. Tablo içine insert almaya başladıkça extent almaya başlıyor yani büyüyor. Tablo dediğimiz yapılar birer segment bu segmentler de tablespace içerisinde tutuluyor. Tablespace’lerin toplamı da database’i verir.

Database Block: Contents

 

En küçük olan parça bloktur. (8k) Bloğun içinde row data, free space, block header kısımları vardır. Bir veritabanında boş kısım küçülebilir. İçeriye gelen data devam ettikçe hangi tablepace’e hangi datafile’a kısmı çoğalacak ( metadata) ve free space kısmı azalacak.  Default olarak her bloğun %10 kısmı boştur. Ortalama 0.8 kb’lık alan her blok için boştur. 100 gb veritabanında 90 gb veri vardır.  Bunun nedeni bloğun içindeki datanın update edilme ihtimalindendir.  Eğer full olursa update’yi başka bloğa yapar bu da performans kaybı sağlar.

Exploring the Storage Structure

 

Server > Stroage > Tablespaces

tablespace

Yeni bir table space oluştururken:

new tablespace

Dictionary yaratılamaz Locally Managed seçilmelidir. 11g veritabanlarında dictionary managed kavramı yoktur. Neden olduğu sorusunun cevabı ise eski sürümlerde uprgrade’ler apıldığında eski sürümler dictionary olarak gelecek biz ona Locally’e çekeriz. Tablespace’i 100 mb yarattk diyelim tablespace 100 mb’a geldiğinde 1mb olarak extent alıyor. Dictionary managed demek tablespace’in extent managed bilgisi system tablespace’i üzerindedir.(Eski sürümlerde) Extent olmadan önce buraya gelip sisteme extent yönetimini öğreniyor. ( 1mb büyüyor) Sonra tekrar gidip geliyor. Devamlı olarak tablespace’ler arasında konuşmayı gerektiriyor. Ama Locally managed bizim tablespace’imizin kendi header’ında duruyor. Ne yapmak gerektiğini buradan öğreniyor. Bir yere gidip gelmesi gerekmiyor.

%95 olarak permanent – read-write kalıcı veritabanı olması için.

Her veritabanının UNDO tablespace’i ve bir tane TEMP(geçici) tablespace’i olması lazım.

Tablespace’i backup’tan dönerken offline mod seçilir.

Use bigfile tablespace yani en azından bir datafile seçmemiz lazımdır.

ADD DATAFILE

Size değeri verilir. Dolduğunda otomatik olarak genişlemesini söyleriz. Bu oranların mantıklı olması lazım. 8kb olan block size’lı veritabanlarında bir datafile 32gb’a kadar büyür.

Extent almak veritabanında en zorlu işlemlerden biridir. ( Performans olarak)

Creating a New Tablespace

 

Dropping Tablespaces

drop tablespace

warningİstersek datafile kalır sadece tablespace’i silebiliriz.

Viewing Tablespace Contents

extent mapServer > Tablespaces > Viewing Tablespace Contents menüsünden sol altta bulunan extent map ile haritaya ulaşabiliriz.

extent map

Oracle-Managed Files (OMF)

show parameter db_create_file_dest

bu parametre değer olarak neyi gösteriyorsa file yaratılacaksa ve ekstra bir durum yoksa +DATA disk grubunun içerisinde yaratılır.  Bu parametre yaratılan file’lara otomatik olarak değerler atar ve yerini belirtir.

show parameter db_create_file_dest

Eğer boş gösteriyorsa bütün işleri bize yaptırır kendi yapmaz.

 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir