Redolog buffer memory alanı, veritabanınızda gerçekleştirilen her işlem sonrası yapılan işlem kaydının diskte online redo dosyalarına yazılmadan önce memory alanında biriktirildiği bölümdür. Bu memory alanının optimize edilmesi veritabanı performansını doğrudan etkileceğinden, bu yazımda redolog buffer alanının optimizasyonu konusunda kısaca bilgi vermek istiyorum.
Veritabanlarının yüksek memory gereksinimine ihtiyaç duyduğunu biliyoruz fakat, memory alanlarında yapılacak tuning kaynaklı sorunları her zaman elimizdeki yüksek memory kapasitesiyle çözmek mümkün olmuyor. Buna en güzel örnek, redolog buffer memory alanının optimizasyonu konusudur.
Eğer online log yazma işlemlerinin yavaş olduğundan şüpheleniyorsak veya AWR raporlarında (v$system_event ‘den sorgulanabilir) “log buffer space” uyarıları alıyorsak bu redolog buffer memory alanının kullanmakta olduğunuz veritabanı için yetersiz olduğuna işaret etmektedir. Böyle bir durumda veritabanında yüksek adette insert, update işlemleri yapıldığında yapılan işlemlerin kaydını tutacak ve bu kayıtları redolog dosyalarına yazacak olan LGWR process ‘i yapılan insert/update işleminin hızına yetişemeyeceğinden işlem yığılması meydana gelir. Böyle bir yığılmada veritabanının diğer processleride (DBWR, ARClog, PMON vs) bu sorundan etkileneceğinden veritabanınızın genel performansında farkedilir oranda bir düşüş meydana gelebilir. Problemin kaynağı konfigrasyon hatası olmasından dolayı, performans kaybı sunucunuzun CPU gücüyle veya disk I/O hızıyla aşılamaz.
Sonuca gelirsek eğer, redolog buffer memory alanını düzenlerken mutlaka AWR raporlarında veya v$system_event altında ortalama bekleme sürelerine (average wait time) bakılması gerektiğidir. Eğer ortalama bekleme süresi hızlı bir şekilde yükselme trendine girmişse, redolog buffer memory alanı azaltılmalıdır. Bu şekilde ihtiyaca göre bir memory alanı genişliği tespit edilip, veritabanının performansı arttırılabilir.