Hurriyet

21 Ocak 2014 Salı

Oracle Veritabanı: (System Change Number) SCN Nedir - Ne İşe Yarar? - Nasıl Çalışır?

System Change Number(SCN) Nedir?

Scn data tutarlılığını sağlayan bir mekanizmadır. Scn database'in o anki durumu için verilen "unique" bir numaradır. Scn numarası her redo kaydı için bir tane verilir. Her transaction'dan sonra bir tane arttırılır. Ayrıca her "commit;" sorgusundan sonra verilir. Commit edilen her transaction log writer(LGWR) process'ini çağırır. O da SGA'daki redo log bufferındaki bilgileri online redo log dosyalarına yazar.

SCN Nasıl Bulunur?

10g ve sonrasında aşağıdaki sorgu kullanılabilinir.

 SELECT current_scn  
 FROM V$DATABASE;  

SCN Değişme Oranı Ne Kadardır?

v$log_history ile SCN değişim oranını kontrol edebiliriz. Ne kadar hızlı loglar switch ediyorsa ona göre database de büyük bir I/O  yoğunluğu vardır.

 select thread#, first_time, next_time, first_change# ,next_change#, sequence#,  
   next_change#-first_change# diff, round ((next_change#-first_change#)/(next_time-first_time)/24/60/60) rt  
 from (  
 select thread#, first_time, first_change#,next_time, next_change#, sequence#,dest_id from v$archived_log  
 where next_time > sysdate-30 and dest_id=1  
 order by next_time  
 )  
 order by first_time, thread#  


Yukarıdaki sorgu kullanıldığında bize log file switch'leri arasındaki farklar görülebilinir. Hangi zamanlarda ne kadar artış olduğu, ne zaman yoğunluk arttığını buradan görebiliriz.

Referanslar:
http://orainternals.wordpress.com/2012/01/19/scn-what-why-and-how/
http://oracledbascriptsfromajith.blogspot.com.tr/2009/05/understanding-scnsystem-change-number.html




Hiç yorum yok:

Yorum Gönder