Tags

, , , , , , , , , , , , , ,

Merhaba Arkadaşlar,Oracle Veritabanı depolama yapısı fiziksel ve mantıksal olarak iki yapıdan oluşur.Oracle’ın Fiziksel Yapısını Control,Data,Online Redo log, Parameter, Backup, Archived redo log, Password, Alert log and trace (files) gibi dosyalarımız oluşturur. Bu dosyaların her biri ayrıca incelenmeli ve öğrenilmelidir. Hatta bu dosyalardan Control files,Data files ve Online redo log files dosyaları Database’imiz için olmazsa olmaz dosyalardandır.Bu yazımızda bu dosyalardan kısaca bahsedeceğiz ilerleyen yazılarda ‘da bu dosyaların her birini özel bir konu olarak ele alıp uçtan uca inceleyeceğiz.Bununla birlikte bu yazımızda Oracle’daki diğer depolama yapısı olan Mantıksal Depolama Yapısını(Logical Storage Structure) inceleyeceğiz.

Control Files: Control dosyalarımızdan(files) herhangi birini kaybetmemiz durumunda veritabanımız kullanılamaz hale gelir.Control dosyalarında, veritabanımızın adı,veri dosyalarının isimleri ve yerleri,online redo log dosyalarının isimleri ve yerleri, checkpoint bilgisi, Rman yedek dosyalarının isimleri ve yerleri,archive log dosyalarının sıra numaraları yer alır.Nomount modda Spfile dosyasından Control Dosyasının yeri okunur ve Mount modda ‘da Control dosyası okunur.Dediğim gibi Control dosyası bulanamazsa veya başına bir şey gelmişse veritabanı açılma işlemi gerçekleşemeyecektir.

Data Files: Her Oracle veritabanı bir ya da daha fazla data file içerebilir. Data File(Veri Dosyaları), Datalarımızın saklandığı disk üzerindeki fiziksel dosyadır.Data dosyalarımızın her biri mutlaka bir tablespace’ e aittir(System,Undo,Sysaux gibi tablespaceler).Bir tablespace birden çok data file ‘ a sahip olabilir. Tablespaceler ile Data dosyalarımızın kontrolünü sağlarız.Database Buffer Cache’deki veri bloklarının Database Writer Process ile Data Filelara yazıldığından önceki yazılarımızda bahsetmiştik.

Online Redo Log Files: Online redo log dosyaları yapılan transaction kayıtlarını tutar.Veritabanımız tutarsız(shutdown abort) bir şekilde kapandığında SMON bu dosyaları okuyarak kurtarma işlemini gerçekleştiriyordu.

Parameter File : Oracle Instance’in hangi ayarlarla çalışacağını belirleyen parametrelerdir.NoMount modda parametre dosyaları okunur.Bu dosya o kadar olmazsa olmaz değildir. Nomount modunda parametre dosyaları okunmaz ise ne olur ? Sorusunun cevabı Veritabanı açılmaya devam etmez tabiki, Fakat biz RMAN üzerinden Spfile kurtarma operasyonu yapılabiliriz. Bunun detaylarını ilerleyen yazılarımızda uygulamalı bir şekilde göstereceğim.

Password File: Password File Oracle Veritabanı için olmazsa olmaz bir dosya değildir.Sys kullanıcısının şifreleri tutulur. Uzaktan bağlantılarda bu alan kullanılır(Sysdba,sysoper,sysasm rolleri için).

Backup File :  Data Fileların yedekleri(Backupları) +FRA olarak yedeklenir.Bu dosya Database Recovery (Kurtarma) durumunda kullanılır.

Archive Redo Log File: Instance tarafından oluşturulmuş devam eden veri değişikliklerinin geçmişini tutar.Bu dosyaları ve veritabanının backup dosyalarını kullanarak kaybedilen data fileları kurtarmak mümkün olur.Burada archive logları onarılmış data fillerin kurtarılmasını sağlar.Online Redolog dosyalarının yedekleri yine +FRA alanında tutulur.

Trace Files:  Bir user(kullanıcı) oturumuna ait ayrıntılı bilgiler bu dosyada tutulur.Kullanıcının çalıştırdığı sorgular,yaptığı hatalar vb bilgiler burada tutulur.Yani kullanıcıyı kontrol edeceğim ve yaptığı işlemleri göreceğim dosya burası.

Alert Log File: Veritabanımızda oluşan hatalar ve değişiklikler bu dosyaya yazılır. Bu dosyayı önemli kılan veritabanımızda oluşan herhangi bir sorunu araştırırken baktığımız ilk dosyadır.

Mantıksal Depolama Yapısı(Storage Structure)

Oracle veritabanında fiziksel depolama yapısından yukarıda bahsettik. Bu dosyalar görebildiğimiz dosyalardı.Mantıksal yapı ise, göremediğimiz  Oracle veritabanı içerisinde yer alan Oracle data block, Extent, Segment, Tablespace gibi kavramlardır.Oracle veritabanı depolama birimlerinin en küçüğü Oracle data blocklardır.Oracle Data blocklar Extentleri oluşturur.Extentler ise Segmentleri, Segmentler ise Tablespaceleri,Tablespaceler ise Database’imizi oluşturur.Aşağıda bu yapının oluşumunu bir şekil ile anlatmaya çalıştım 🙂

logical storage structure

logical storage structure

Oracle Data Block : En küçük veri depolama  birimidir.Oracle Data Blockların büyüklüğüne veritabanı oluşturulurken karar verilir,daha sonra değiştirilemez ve varsayılan değeri 8 KB dır.

Extent:  En az 8 Oracle Data Block’un bir araya gelmesiyle oluşur.Bir tablo extent alarak büyür.

Segment: Extentlerin bir araya gelmesiyle oluşur. En az bir extent’den oluşur.Tablolar ve index gibi objeler mantıksal depolama yapısı olarak birer segmenttir.Data segments,Index segment,Undo segment,Temporary segment gibi segment türleri vardır.

Tablespace: Segmentlerin bir araya gelmesiyle oluşur.Yukarıda bahsettiğimiz Datafile’lara karşılık gelir. Tablespaceler birden fazla data file ile  çalışabilir.Data filelar  ise ancak bir table space ile çalışabilir. Database oluşturulduğunda SYSTEM, SYSAUX,USERS,UNDO ve TEMP tablespace’leri default olarak oluşur.

Arkadaşlar bu yazımızda Oracle veritabanında depolama yapısına bir giriş yapmaya çalıştık. Bu konuları ilerleyen yazılarımızda çok daha detaylı bir şekilde inceleyeceğiz.Bir sonraki yazımızda Oracle Database açılma modlarından(Nomount,Mount,Open) bahsedeceğiz.

Advertisements