Kategoriler
ORACLE

Oracle 11g: DBA-1|| Oracle Database Architecture -2

Diğer dersleri https://selimkaratas.com.tr/oracle-11g-r2-egitimi-ders-notlari adresinden bulabilirsiniz.

Process Architecture

Process Structures

 

User Process
Oracle database’ine bir application ya da  tool tarafına Client tarafında açılan bağlantıdır.

Server Process
User prosesi karşılayıp connetion’ı oluşturmak adına ortaya çıkan kavramın adı server proses’dir. Client’a tahsis edilir. Client bütün işlemlerini server prosesi aracılığıyla yapar. Server proses yanında ayrılırsa bağlantı kopmuş demektir.  Ve bu bağlantını kopup kopma ayarları DBA olarak bize aittir. ( Değiştirilen data maksimum 7 MB gibi yada çalıştırılan bir sorgu maksimum 2 dk sürmeli gibi kısıtlar verebiliriz. Böyle durumlarda sürenin devamında server prosesi bizi terk edecektir. Terk ettiği zaman session yarım kalacaktır. Sadece user prosesi kalacaktır. Ancak server prosesi olmadan bunun anlamı yoktur)

Background Process

Bu proseslere müdahale etme durumumuz yoktur. ( İstenilen proses çalışsın diğeri çalışmasın lüksümüz yoktur) Arka planda çalışan proseslerdir. Proseslerin çalışma zamanları ve alanlarına etki edemeyiz. Sadece proseslerin çalışma mantıklarını görürüz.

• Database writer process (DBWn) –( En önemlilerindendir)
• Log writer process (LGWR) ( En önemlilerdendir)
• Checkpoint process (CKPT)
• System monitor process (SMON)
• Process monitor process (PMON)
• Recoverer process (RECO)
• Job queue coordinator (CJQ0)
• Job slave processes (Jnnn)
• Archiver processes (ARCn)
• Queue monitor processes (QMNn)

DBWn (Database Writer)

DBWn (Database Writer)
Veritabanı nomount modunda açıldığında start olan processdir. (Veritabanı 3 modda açılır. 1-nomount, 2-mount, 3-open) Ama bu prosess veritabanı open modunda iken işlem görür.  Bu proses değişen buffer’ları diske yazar. Commit’de fiziksele yazmaz. LGWR  ise yazar bununla karıştırılmamalıdır. Asenkron çalışan bir prosesdir. Checkpoint denen proses yapısı ile değişiklikleri garanti altına almak için log dosyaları doldukça checkpoint yapar.  (Veritabanı tutarlı kapanırsa da checkpoint yapar)

LGWR (Log Writer)

LGWR (Log Writer)

Transaction’u alıp log dosyalarına yazar. Kesinlikle veri kaybının olmamasını sağlar. Commit gelince ve redo log buffer’ların üçüde dolduğunda çalışır. Eğer bu proses kill edilirse birşeylerin ters gittiğini anlar ve veritabanını düşürür.

CKPT (CheckPoint)

CKPT (CheckPoint)

Bir veritabanı checkpoint atıldığı anda tutarlı olur. Veritabanının fiziksel yapısı tutulur.

SMON (System Monitor)

SMON (System Monitor)

Instance gerekli durumlarda (database’nin tutarsız kapanması durumlarında) tutarlı hale getirmek için gerekli prosesdir. SSCN numarası saklanır. Ve her zaman güncel olmak durumundadır. Redo log dosyaları transcation entrylerini SCN numaraları ile beraber tutar. Tutarsız kapanma durumlarında tutarlı verinin oluşması için devreye giren proses SMON; Redo control data arasındaki üçlüyü yönetir.   Temporary table geçiçi olarak tablo oluşturmak, geçiçi olarak verileri analiz etmek ve daha sonra session’dan çıkınca tablosunun verisine ihtiyaç duymadan devam etmek.  ( Tablo durmaya devam eder)

PMON (Process Monitor)

PMON (Process Monitor)

Prosesi monitör eder. Lost olan iş user prosesin fail olma durumu ise ( Sqlplus’ın kapanması, sql developer’ın kapanması ama kapanan bi uygulama sadece client’ın bağlı olduğu makinayı ilgilendirir. Server’la alakası yoktur). Tutarsız kapanırca process monitor rollback yapın der. Tutarlı kapanırsa prosess monitor commit edip kapatın der.

PMON prosesi idle’a düşen sessionların timeoutlarını monitor eder. ( 5 dk boyunca idle kalabilir gibi timeout süreci geldiği zaman) monitoring yapar. Her zaman bahsedilen iş client’taki session ile alakalıdır.

Bir veritabanının listener’ı static olarak configre edilir. Operasyon PMON tarafından yapılır. Hangi dinleyici servis hangi database servisine gelen bağlantıları dinleyecektir. Bunu PMON prosesi yapar. ( Network konusuna gelindiğinde yeni bir listener servisi oluştururken static olarak database register’ı yapmayı unutmamak gerekir) PMON bunu otomatik yaratır ancak birince listener servisini durma ihtimalinden dolayı ikinci bir servisi biz oluştururuz.  Veritabanına gelen bağlantı yoğunluğunu karşılamadığı için durabilir. Operating sistem tarafında bir servis gibi çalışır.  Bir veritabanını operating sistemde çalışan prosesleri kontrol edersek PMON açık ise database açık demektir.

RECO (Recoverer Process)

RECO (Recoverer Process)

Transcation’ı recovery eder.  A database’in de X tablosu ve Z trigger’ı var. B database’inde Y tablosu var.  Trigger’ın yaptığu görev X tablosuna transcation (update, insert,delete ) işlemi gelmeden önce tetikleniyor ve Y tablosuna ne yapılacaksa onun bilgilerini tutuyor. X tablosunda aksiyon olduğu zaman Y tablosu bu aksiyondan etkileniyor ve log tablosu görevi görüyor. x tablosunda yapılan işlemden sonra rollback yapıyorsak bu proses sayesinde oradaki log’da rollback yapılır.

ARCn (Archive) 

ARCn (Archive)

 

Olmazsa olmaz prosesdir.  Redo log dosyaları 3 tane diyelim. Bunlar dolduktan sonra bir döngüde devam ederler. Eğer veritabanı archiver modda ise bu dolan dosyalardan sonra üzerine yazmadan önce bu proses dosyası devreye girer ve dolan redo log dosyalarını arşiv eder.

Startup Sequence

11g R2 özelliğidir. Oracle’ın High avaliability servisini çalıştırır. Bu bize ASM instance’ı, listener servisi ve database instance’ı gibi 3 servisi otomatik olarak start eder. Kapanma durumunda otomatik olarak tekrar açmak için çaba gösterir.

Database Storage Architecture

 

Control Files Fiziksel Yapıdır. Bu dosyanın içinde: DBName,DBID, Datafiles Location, Redologfiles Location, 7/24 Archivelogs Location, Backup Information, SCN number.

Veritabanı içinde bir tane olması tavsiye edilmez. Min 2 adet olmalıdır. SCN numarasının var olması sebebiyle farklı disk gruplarında bulunan disklerden birini okuyamazsa veritabanı down olur.

Mesela  1. disk DATA , 2. disk FRA olsun iki numaralı diske erişemezse down olur. Açılış aşamasında 2 diskle başladıysam kapanışa kadar o kadar diskle devam etmelisi gerekir. ( Açıldığı anda SNC numarasını iki file’a da yazar.  Eğer birine yazamaz tutarsızlık yaşarsa sistem down olur) Bunu parameter file sağlar. Bu parameter file kısmına girip control file’lara ait location bilgileri düzenleyebiliriz .Sistemi çalışmaya devam ettirebiliriz. ( Birini kaybettiğimiz durumlarda) Ya da 1’den 2’ye kopyalarız . Bu işlemlerden sonra veritabanını yeniden ayağa kaldırabiliriz. ( 2’den 1’ye düşünce tek diskle çalışma tavsiye edilmez)

Data Files data tutan dosyalar disk grup olarak “Data” disk grubunun altındadır.

system,sysaux,undo,users,example,temp datafile’ları vardır.

Datafile’lar aynı zamanda aşağıdaki tablespace’lerdir

  • system datafile içinde Data Dictionary (Metadata) bölgesi vardır. Eğer bunu kaybederse veritabanı down olur. Önem derecesi olarak kritiktir.
  • sysaux datafile veritabanı yönetimi kolaştıracak Enterprise Manager’in bulunduğu dosyadır. Ayrıca AWR bulunur. Bu AWR her saat snapshot(fotoğraflar) alır. 1 saatte yapılan işlemlerle ilgili detaylı rapor oluşturur.
  • undo datafile rollback yapmayı sağlar. Okuma tutarlılığı sağlar.
  • users datafile bir database’nin bir kullanıcı database objesi oluşturmak istediğinde default datafile’da yani burada oluşturulur.
  • example datafile Sample Schemas bilgierinin içerisinde tutulduğu datafile. ( HR şeması) Production database’lerde olmaz.
  • temp datafile pga’nin sort area kısmının size olarak yetersiz kaldığı durumlarda devreye girip istenen verileri düzene getiren dosya, aynı zamanda temp table oluşturmada kullanılır.

Online Redo Log Files  Redo Log gruplarını kaybetme durumunda data kaybı olur. Fakat her gruba ikişer file koyarsak veri kaybı yaşanmaz. (7/24 çalıştığı için) Birini kaybettiğimizde diğerinden devam etme durumumuz olur.

Yukarıda işlenilen üç dosya da olmaz olmazdır. Veritabanının akışını sağlayan dosyalardır.

Parameter File spfile -> binary,  pfile -> text

PFile üzerinde değişiklik yapılabilen bir dosyadır. SPFile > PFile dönüşümü yapılarak değişimler yapılabilir.

Parametre dosyası instance’nin nomount moduna gelebilmesi için gereklidir.
Parametre dosyası “Data” disk grubunun içindedir.

Backup Files  Datafile’ların yedeği demektir. FRA’da saklanır.

 Archived Redo log files  Boyutu dolan Redo Log dosyaları burada arşivlenir. FRA’da saklanır.

Password File operating system’de saklanır. Sadece en yüksek yetkilere sahip olan user’ların şifreleri tutulur. (sysdba,sysasm,sysoper). Kontrol amaçlı kullanılır.

Alert log & Trace Files  herhangi anda tutulan loglar. Kontrol işlemleri burada yapılır. Database’de ortaya çıkan bütün alertlar burada görünür. Trace dosyaları user’ların işlemlerini takip edebilmeye yarar.

Logical and Physical Database Structures

Logical and Physical Database Structures
Bir veritabanı kurulurken default olarak 8 kb’lık block size’ları ile kurulur.
8 kb’lık blocklar bir araya gelir. Extent oluşturur.

  • Extent >> min 8 adet 8kb = 64 kb
  • Segment  > > Extent’ler bir araya gelerek oluşturur.
  • Tablo, index >> min 1 adet extent ile oluşturulmak zorundadır (64 kb),
  • Tablespace >> Tablo + index hepsinin barındığı yerdir >> fiziksel olarak 1 datafile’dan oluşmak zorundadır. (system,sysaux,undo,users,example,temp bunlar tablespace’dir)
  • Database >>Tablespace’lerden oluşur.
  • 8 kb’lık bir segment tutan database’de max datafile 32 gb olmalı. Boyutu dolduğunda yeni datafile oluşur. Yani 1 tablespace birden fazla datafile’dan oluşabilir.

Logical and Physical Database Structures

Logical and Physical Database Structures

 

 

 

 

Bir cevap yazın

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