Oracle Fiziksel Yapısı
Fiziksel yapıyı oluşturan bileşenler de şu şekilde özetlenebilir :- Datafiles
- Control Files
- Redo Log Files
- Archive Log Files
- Parameter Files
- Alert ve Trace Log Files
- Backup Files
Datafiles : Her Oracle Veritabanı bir ya da daha fazla sayıda datafile içerebilir. Tablo, indeks gibi matıksal yapıların barındırdığı fiziksel bilgileri tutar. Belli başlı özellikleri:
- Bir datafile sadece bir veritabanı ile ilişkilidir.
- Bir ya da daha fazla datafile mantıksal yapılardan olan tablesace’leri oluştururlar.
- Gerektiğinde kendilerini otomatik olarak büyütme(extend) özellikleri vardır.
Control Files : Her Oracle veritabanının bir control file’ ı vardır.Veritabanının fiziksel yapısı hakkındaki (database adı, datafile ve redo log file’ların adı ve yerlerinin bilgisi vb…) bilgileri tutar. Bu dosyadaki bilgiler çok önemli olduğu için Oracle bu dosyayı çoğullama özelliğine sahiptir. Eş zamanlı olarak dosyaları güncel tutar.
Her Oracle instance başladığında bu dosyadan bilgiler okunur. Yeni datafile ya da redo log dosyası database’de tanımlandığı anda Oracle control file’ı günceller. (Ayrıca bu dosya kurtarma(recovory) durumunda da kulanılır.)
Redo Log Files : Veriye yapılan tüm değişiklik işlemlerini tutmakla yükümlüdür.Datafile’lara (bir şekilde) değişen bilgi yazılamadığı durumlarda redo loglardan bu işlemler görülebilir ve yapılan işlemin kaybı önlenir. Bu dosyalarında çoğullanma imkanı vardır. Farklı diskler üzerinde 2 ya da daha fazla kopyası tutulabilir. Bu dosyanın amacı özetle sistem ya da donanım kaynaklı(harddisk göçmesi vs.) olası hatalarda datafile’lara kalıcı şekilde yazılamayan bilgileri kurtarmaktır. Örneğin bir elektrik kesintisinde henuz datafile’lara yazılmayan ve memory de bulunan bilgiler kaybedilir. Sistem tekrar ayağa kalktığında Oracle ilk önce redo log lara bakar.Kalıcı olarak datafile’a yazılamayan bilgi olduğunu görür ve yarım kalan işlemi sonlandırır.Bu sayede veritabanı elektrik kesintisi olmadan evvelki konuma gelinmiş olur.
Archive Log Files : Oracle veritabanı ARCHIVELOG modunda ise redo log dosyaları bu dosyalara otomatik olarak arşivlenir.
Parameter Files (PFILEs): Veritabanı ve çalışan instance ile ilgili konfirigasyon parametrelerini içerir.init.ora bir parameter file’dır. Init.ora server tarafta bulunur.Ancak client’tan (uzak erişim) ile veritabanın ulaşmak için gereklidir, static’tir.Gerektiğinde (text dosya olduğundan) elle de değişiklik yapılabilir.9i sürümüyle birlikte “Server Parameter File(SPFILE)” kavramı geldi.SPFILE PFILEs’dan oluşturulabilir.Bu PFILE gibi bir text dosya değil binary bir dosyadır ve sadece “ALTER SYSTEM SET” komutu ile değişir.Lokal makinadan veritabanını başlatmak için bir kopyasını lokalde tutmaya gerek kalmamaktadır. SPFILES kullanmak PFILE kullanmaktan daha avantajlıdır.Çünkü :
- RMAN ile backup’ı alınabilir.(RMAN, PFILE backup’ı alamaz)
- Server tarafında tutulduğundan ve değişiklik yapılıpta olur verilmeden evvel sistem tarafından kontrol edildiğinden insan kaynaklı hataların önüne geçilmiş olur.
- Uzaktan veritabanını başlatmak için lokal makina da bir dosya tutulmasına gerek kalmaz.
1 2 | SELECT DECODE(value, NULL , 'PFILE' , 'SPFILE' ) "Init File Type" FROM sys.v_$parameter WHERE name = 'spfile' ; |
Alert ve Trace Log Files : Her bir server ya da arka planda çalışan işlemlerin kendileri ile ilişkili bir trace dosyası vardır. Örneğin herhangibir hata (internal error) durumunda ilgili trace dosyasına ilgili bilgiler yazılır.Bunun dışında instance ve uygulamaları iyileştirmek için de referans olarak kullanılırlar.
Alert dosyaları(log) ise özel trace dosyalarıdır.Veritabanın mesaj ve hatalarını kronolojik sırada tutarlar.
Backup Files : Bir dosyayı kurtarmak (restore) demek onu backup dosyası ile değiştirmek demektir.Kullanıcı istediği anda ya da sistemde belirtilen anlarda bu dosyaları oluşturabilir.
Oracle Mantıksal Yapısı
Mantıksal kısım başlıca 4 e ayrılır :- Tablespaces
- Data Blocks
- Extents
- Segments
NOT :
kilobyte(kB) 210 bytes, gigabyte(GB) 230 bytes, exabyte (EB) 260 bytes
Bir tablespace “online=ulaşılabilir” ya da ”offline=ulaşılamaz” olabilir.”online” normal çalışır halidir.”offline” duruma alınınca(mesela offline backup almak için) bu tablespace’i referans veren objlere için işlem yapılmasına izin verilmez.
Data Blocks : Oracle da veriler en düşük seviye de “data block”’larda tutulurlar.Disk üzerinde bir data block byte olarak belli bir alanı işgal eder.Bu alan DB_BLOCK_SIZE parametresi ile belirlenir.
Extents : Ardışık blockların bir araya gelmesi ile oluşurlar.
Segments : Bir ya da daha fazla extent’in bir araya gelmesi ile oluşurlar. Bu extent lerin ardışık olmaları gerekmez.Bir segment’in extent’leri tamamen doldugunda Oracle bu segment için yeni bir extent alanı ayırır.4 farklı segment çeşidinden bahsedilebilir :
- Data Segment
- Index Segment
- Temporary Segment
- Rollback Segment
Indeks segment , her bir index’in verisi için oluşturulur.
Temporary segment bir SQL çalıştığında gerek duyulursa Oracle tarafından kullanılır.İşlem bitiğinde bu alan sistemin kullanımı için serbest bırakılır.
Rollback Segment adı üstünde rollback işlemlerinde kullanılır.
Hiç yorum yok:
Yorum Gönder