Home / MAKALELER / Veri Tabanı / Oracle Processleri

Oracle Processleri

Merhaba, Bir oracle veritabanı arka plan görevi olan LGWR’ın (log writer) amacı log buffer’daki bulunan ve online redo log’lara yazılmayı bekleyen bilgileri online redo log’lara aktarmaktır.

LGWR görevi bu işlemi 4 farklı aşama tetiklendiği zaman gerçekleştirmektedir; 1) Her 3 saniyede bir redo log buffer’ı, 2) Redo log buffer’ın 1/3’ü dolduğu zaman, 3) Redo log buffer 1 megabyte olduğu zaman, 4) Herhangi biri “commit” ederse, Redo log buffer boşaltılır ve online redo log’lara veriler aktarılır. Online redo log gruplarının boyutlandırması ne kadar önemli ise redo log buffer’ın da boyutlandırılması o kadar önemlidir. Hatalı boyutlandırıldıkları durumlarda veritabanın bekleme olayları meydana gelmektedir.

Aslında DBWR ve LGWR birbiri ile senkronize çalışmaktadır diyebiliriz zira bir transaction içerisinde iken devreye ilk giren görev LGWR’dır. LGWR’ın online redo log’lara yazdığı transaction kayıtları CKPT görevinin tetiklenmesi ve DBWR aracılığı ile fiziksel veri dosyalarına yazılmaktadır.

Dolayısıyla bu döngü içerisinde bir aksama meydana geliyorsa, diğerleri de mutlaka etkilenecek demektir. LGWR’ı CKPT ve DBWR’dan ayıran bir özellik ise yukarı saydığım 4 maddenin değiştirilemez ve değiştirilmesi de teklif edilemez olmasıdır 🙂 Bu işleyişe log writer’ın kendine özel hareketleri de diyebiliriz ancak CKPT ve DBWR için aynı şey geçerli değildir. CKPT ve DBWR görevlerinin tuning’i yapılabilir ve belirli durumlarda da yapılması gerekmektedir. Örneğin CKPT görevini elle çalıştırabilirsiniz;

SQL> ALTER SYSTEM CHECKPOINT [GLOBAL]; Aynı şekilde bir veritabanı üzerinde ne kadar DBWR çalışabileceğini sisteme gösterebilirsiniz;

SQL> ALTER SYSTEM SET DB_WRITER_PROCESSES=CPU_COUNT/8 SCOPE=SPFILE;

Veritabanının üzerinde bulunduğu sistemin CPU adedi bölü 8 bize kaç adet DBWR görevi olabileceğini göstermektedir. Bu sayıdan fazla da DBWR görevi tanımlanabilir.

 

İyi çalışmalar. oganozdogan

About Ogan Ozdogan

Bilkent Üniversitesi Bilgisayar Teknolojisi ve Bilişim Sistemleri 2006 mezunuyum. İstanbul Bilgi Üniversitesi İşletme Yönetimi (MBA) yüksek lisans mezunuyum. Oracle Türkiye'de Kıdemli Satış Danışmanı olarak çalışmaktayım. 2007 yılından beri Oracle veritabanı yönetimi ile profesyonel olarak ilgilenmekteyim. Oracle Database 11g Administrator Certified Associate ve Oracle Database 11g Administrator Certified Professional sertifikalarına sahibim. Oracle OTN forumlarında ve günlüğümde teknik bilgilerimi paylaşmaya devam etmekteyim. Oracle veritabanı (9i, 10g, 11g) ve Data Guard, RAC, ASM ve RMAN yönetimi konularında çalışmalarıma devam etmekteyim.

İlginizi Çekebilir

SQL Server ile Veri Şifreleme

Bilgi teknolojilerinde verinin güvenliği çok kritik bir öneme sahiptir. Önemli verileri korumak için ekstra bir …

Bir Cevap Yazın