Oracle Tablespace Management

İbrahim Yıldız
3 min readAug 19, 2022

Herkese Merhabalar Bugün Oracle Tablespace Nedir Ne Değildir Sıfırdan Başlayıp Yönetimine Kadar İlerleyeceğiz Hadi Başlayalım

TableSpace Nedir ?

Oracle Depolama Mantıksal ve Fiziksel Olarak İkiye Ayrılır Mantıksal Alanlarımız Fiziksel Olarak Göremeyeceğimiz Alanlardır Extent Segment Tablespace Gibi Fiziksel İse Disk Üzerinde Yer Alan Dosyalarımızdır Data Files , Control Files, Redolog vs Dosyalarımızdır

Peki Neden TableSpaceler Vardır Niçin Kullanırız Sorularına Cevap Verelim

Verilerinizin Yönetimini Kolaylaştırmak İçin Aslında Misal Verelim Bir Uygulayamaya Ait Veriniz Var Onu Oluşturduğunuz Bir Tablespace Atıyorsunuz Yine Aynı Uygulamadan Başka Veriniz Var Onu da Başka Bir Tablespace Atıp Yönetiminizi Kolaylaştırabilirsiniz Ayrıca Bir Felaket Durumunda Tüm Tablespaceden Değil de Bağlı Olduğunuz Tablespaceaden Geri Dönüşe Yapabilirsiniz

Tabii Tablespaceleri Read Only , Offline , System Modlarına Koyabiliyorsunuz Demeyi Unutmayalım Bunlarda Nelermiş Bakalım Hızlıca

Offline: Geçici Olarak Tablespace Kullanıma Kapatabilirsiniz

Online: Tekrar Kullanıma Geri Açar

Read Only: Tablespace Sadece Okumaya İzin Verir Yazmayı Engeller

Read Write: Tablespace Sadece Yazmaya İzin Verir Okumayı Engeller

Hadi Gelin Tablespace Yapısını İnceleyelim

Tablespaceler Alan Yönetimi Bakımından Extent ve Segmentler Olarak İkiye Ayrılır Extent ve Segmetleri Daha Ayrıntılı Anlatıyor Olacağım

Oracle Çıkaran Abilerimiz Böyle Bir Yapı Kurmuşlar Biz de İnceleyelim :) Sırasıyla >

Data Blocks: En Kücük Veri Depolama Alanıdır Sonradan Değiştirlemiyor Defualt Olarak 8Kb Olarak Geliyor

Extent: Data Blocksların Bir Araya Gelmesiyle Oluşan Yapıdır Oracle Veri Tabanı Tablespace İçersinde Yer Tahsis Etmek İsterse Extentden Tahsis Ediyor Bos Extentlerin Yönetimi İkiye Ayrılır

Locally Managed Tablespace:

Boş extent’ler Tablespace İcinde Yönetilir
Boşextent’lerin Kayitlarini tutmak icin bir bitmap kullanilir,
Her Bit, bir Block’a Ya da Blok Grubuna İşaret Eder,
Bit Degerleri Bos Ya da Dolu Extent’leri Belirtir,
Tavsiye edilen Tablespace Tipidir.

UNIFORM ve AUTOALLOCATE Tahsis Edilecek Extent Boyutlarını Belirtir

Dictionary Managed Tablespace:

• Bos Extent’ler Data Dictionary Tarafından Yönetilir,
• Extend’ler Allocate(Tahsis Etmek) ya da Unallocate(Geri Bırakmak) Edildiginde İlgili Tablolar Update Edilir,
• Eski sürümlerde Uyum Amacıyla Kullanılır

Tabii Oracle Extent Yönetimini Local Olarak Kullanmamızı Öneriyor

Segment : Extentlerin Bir Araya Gelmesiyle Oluşan Yapdıır Hangi Blokların Insert İşlemine Hazır Olduğuyla İlgilidir

Manual Managed Segment

Yukarıda Yazdığımız Gibi Hangi Blokların Insert İşlemine Hazır Olduğunu Göstermekle İlgilidir Bunu Yaparken PCTFREE ve PCTUSED Parametrelerini Kullanıyor

PCTFREE : Kalan Veri Bloğu Anlamına Geliyor

PCTUSED : Kullanılan Veri Bloğu Anlamına Geliyor

PCTUSED Parametresinin Altında Veri Bloğu Varsa O Alan Kullanılır Insert İşlemine Hazırdır

Tabii Oracle Segment Yönetimini Automatic Olarak Kullanmamızı Öneriyor

Automatic Managed Segment

PCTFREE ve PCTUSED Yerine Bitmapler Var Bitmapler Veri Bloğunu Hesaplıyor Insert Islemine Alan Var mı Diye Ama Bunu Kullanabilmeniz İçin Local Extent Alanını Kullanmak Zorundasınız !!

Tablespace: Evet Yukarıdakiler Hep Ardı Ardına Bir Birini Oluşturdu Segment ise Tablespaceleri Oluşturuyor En Son Oluşum Olan Tablespacedir En Az Bir Tane Datafile Oluşması Gerek

Datafile: Datalarımızın Disk Üzerinde Saklandığı Dosyalardır

Şimdi Diyeceksiniz Neden Böyle Hep Bir Birinin Ardından Oluşan Yapı Var ? Tabii ki Yönetimi Kolaylaştırmak İçin :))

Tabii Sistemimize Default Olarak Gelen Tablespaceler de Vardırr

System Tablespace :Data Dictionary ve Sys Kullanıcıların Bilgileri Tutulur Silenemez ve Değiştirilemez

Sysaux Tablespace : AWR Raporlarının Saklandığı Yer

User Tablespace : Kullanıcı Verilerinin Saklandığı Yer

Temp Tablespace : Geçici Tabloların Saklandığı Yer

Undo Tablespace : Commit Edilmeyen Verilerden Geri Dönmek İçin Eski Verileri Tutan Yerdir

Bigfile ve Smalfile Tablespace Nedir

BIGFILE: Veri Blokların Çok Büyük Olmasıdır Aslında 2^32KB Veri Bloklarından Oluşur Büyük Veri Tabanları İçin Kullanıyor 128Tb Kadar Çıkabilir

SMALFILE: 8Kb Veri Blogu Kullanıyor Olmasıdır

Tablespace Diğer Parametreli Opsiyonlarıda Vardır Onlarada Bakalım

Umarım Faydalı Olmuştur Beğenmeyi ve Takip Etmeyi Unutmayın :)

--

--

No responses yet