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