Tags
Archiver Process, Background Process, Checkpoint Process, Database Writer Process, Log Writer Process, Oracle, Oracle Architecture, Oracle Database, PMON, RECO, Redo log, Server Process, SMON, User Process
Merhaba Arkadaşlar, Bu yazımızda Oracle Veritabanı yapısında Process yapılarından bahsecedeğiz. Bu yazımızı daha iyi anlamanız için Memory yapısından bahsettiğimiz yazıya bakmanızı tavsiye ederim.Oracle DB ‘de bulunan üç çeşit process yapısını bu yazımızda sırayla inceleyeceğiz.Bunlar: Client Process(User İşlemleri), Server Process (Sunucu İşlemleri) ve Background Process(Arka Plan işlemleri). Burada User Process ve Oracle Veritabanı Processes diye gruplayabiliriz.Oracle Veritabanı Processleri Server Process ve Background Processdir.
Client Process(User İşlemleri)
Bir User(kullanıcı) bir uygulama veya bir tool aracılığı ile Oracle veritabanına bağlandığında, bu kullanıcı için Client(User) Process başlatılır.Client(User) Process SGA alanına okuma ve yazma yapamaz.Client Process, Oracle Veritabanı Processlerinin aksine veritabanın çalıştığı serverın dışında bir serverda’da çalışabilir.
Server Process(Sunucu İşlemleri)
Client processlerin veritabanı ile bağlantıya geçmesi için Server Process oluşturulur ve aradaki bağlantıyı server process sağlar.Server Process veritabanın bulunduğu server dışında çalışamaz.İki çeşit server Process vardır.Bunlar: Dedicated Server Process ve Shared Server Process.Dedicated Server Process her User Process’ e karşılık bir Server Process vardır.Bire bir ilişki olduğundan Shared Server Process’ e göre daha hızlıdır.Shared Server Process’de ise bire bir ilişki yoktur,birden çok Client Process’e karşılık 1 Server process üzerinden bağlanabilir.
Background Process
Background Processlerinden(Arka plan işlemleri) ve SGA‘dan oluşan Oracle Instance başladığı andan kapanana kadar Background Process çalışmaya devam eder.Background Processler veritabanımız için önemlidir herhangi bir problemde veritabanımız direk etkilenir.Önemli Background Processler ;
- Database writer process (DBWn)
- Log writer process (LGWR)
- Checkpoint process (CKPT)
- System monitor process (SMON)
- Process monitor process (PMON)
- Recoverer process (RECO)
Database Writer Process(DBWn)
Database Writer’ın görevi DML(Insert,Update,Delete) ile değiştirilen veri bloklarını Database Buffer Cache’den alıp Data file (Veri dosyalarına) yazmaktır. Database Writer Process aşağıdaki durumlarda değişen veri bloklarını Data file’lara yazar.
- Database Buffer Cache doluysa,
- Checkpoint oluşursa,
- Bir tablo drop yada truncate edilirse,
- Bir tablespace backup moduna getirilirse,
- Bir tablespace read-only yapılırsa.
Log Writer Process(LGWR)
Log Writer Process olmazsa olmaz,burada sorun olursa DB çöker.Redo Log Bufferın yönetiminden sorumludur ve Redo log Buffer bölgesindeki bilgileri diskteki Online redo log file alanına yazar.Log Writer Process şu durumlarda,Redo Log Buffer alanındaki bilgiler,Diskte bulunan Redo Log File alanına yazar:
- Her Transaction commits edildiğinde,
- Redo Log Buffer alanının 1/3 ü dolduğunda,
- 1 MB Redo kaydı oluştuğunda,
- Her üç saniyede bir,
- DBW process Database Buffer Cache’deki bilgileri diske yazmaya başlamadan önce LGWR process Redo Log Buffer alanındaki bilgileri, Diskdeki online redo log dosyasına yazar.
Checkpoint Process(CKPT)
Databasedeki tutarlılığı sağlar.Database tutarsız kapandığında,Smon Processi redo log dosyaları kullanarak kurtarma işlemini gerçekleştirir. Bu operasyon database’in tekrar açılmasını doğrudan etkileyeceğinden Checkpoint process bu durumda kurtarma süresini en aza indirmekle görevlidir. Checkpoint Process,Databasedeki checkpoint işlemini gerçekleştirmekle görevlidir.Checkpoint demek;değişen bilgileri(database buffer cachedeki) datafile’a atma işlemidir.Bu işlem sürerken Control File dosyalarını günceller.Control File dosyaları Database’imiz için hayatı önem taşır.
System Monitor Process(SMON)
SMON processi gerekli durumlarda Instance’ı başlatmakla görevlidir(Database Tutarsız Kapandığında,shutdown abort ile db kapatıldığında).SMON ayrıca geçici segmentleri(artık kullanılmayan) temizlenmesini sağlar.SMON bir prosessin gerekli mi olduğunu kontrol eder.Diğer processler,SMON processine ihtiyaç duydukları zamanda çağırma durumunda olabilirler.Instance tutarsız kapatıldıktan sonra veritabanı açılırken nomount adımında Online Redo Log dosyalarını kullanarak instance kurtarma işlemini gerçekleştirir.Backup işlemlerinde Smon’dan çok bahsedeceğiz.
Process Monitor Process(PMON)
User Process fail(düştüğünde) olduğunda,process kurtarma işlemini gerçekleştirir.Database Buffer Cache alanını temizler.User Process tarafından kullanılan kaynakları boşaltır.Zaman aşımına uğrayan oturumları monitör eder.Listenerlar ile veritabanı servislerini anlık olarak kaydeder.Instance açılırken PMON,Listenerların açık olup olmadıklarını kontrol eder.
Recoverer Process(RECO)
Dağıtılmış veritabanı konfigirasyonu ile birlikte kullanılır.Yarım kalmış şüpheli transactionların diğer veritabanına otomatik bağlanmasını temin eder.Otomatik olarak şüpheli transaction işlemi sorunlarını çözer.Haberleşmeyle şüpheli transaction işlemiyle oluşan satırları siler.
Archiver Process(ARC(n))
Yukarda bahsettiğmiz processlerden farklı olarak veritabanında olmazsa olmaz bir process değildir.Archive mod açıksa bu process çalışır yani archive modun enable edilmiş olması gerekmektedir.Redo Log Switch(bir redolog dosyası dolduğunda başka bir redo log dosyasına geçtiğinde) olduğunda dolan redo log dosyasının yediğini alır.
Arkadaşlar bu yazımızda Oracle veritabanında kullanılan processlere küçük bir giriş yapmaya çalıştık. Bu yapılardan ilerleyen konularda çok bahsedeceğiz. Bir sonraki yazımızda Oracle veritabanında Depolama Yapısından bahsedeceğiz.