joomla templates Data Warehouse Türkiye

Thu02172011

Last update01:32:32 PM GMT

Back Kategoriler Oracle Dba HWM (High Water Mark)
Pazar, 13 Şubat 2011 12:19

HWM (High Water Mark)

Yazan&Gönderen  Ogan Ozdogan
Bu Öğeyi Derecelendir
(0 Oylar)

HWM (High Water Mark)

HWM yani High Water Mark, Oracle'da segmentleri kullanılan ve kullanılmayan bloklar olmak üzere böler. High Water Mark'ın altında kalan blocklarda veri bulunuyor demektir ve silinebilir.
Dolayısıyla Oracle "Full Table Scan" yaparken HWM'ın altında kalan yerleri tarar. Oracle'da HWM asla inmez ve sürekli artan bir grafik çizer. Bu grafik ise kullanıcının tabloya girdiği verilerle ilişkilidir. Tablo extent ve blocklar aldıkça, HWM'da genişlemeye devam eder. Yüksek kayıtlı bir tablonun verileri az kayıtlı bir tabloya göre daha yavaş getirmesinin ana sebebi budur.
Ne yazık ki Oracle'da HWM'ı otomatik olarak düşüren bir yapı yoktur. Bir tablodan "delete from" komutu ile silinen kayıtların HWM'ı her zaman sabit kalır. Ve azalmadığı içinde her zaman full table scan eski HWM kadar kayıt olduğunu zannederek tabloyu tarar. Bundan kurtulmanın bir takım yolları vardır.


"alter table move;" diyerek tablo'nun rowid'lerini değiştirir. Buda öncelikle o rowidler üzerine çalışan index varsa kırılmasına sebep olur. Aynı zamanda da HWM'ın da o an tablodaki kayıt kadar extent ve block'a inmesini sağlar.
Bir başka yol ise "row movement"dır. "alter table enable row movement" diyerek o tablonun rowidlerinin hareket edebilmesini sağlarız. Ardından da "alter table shrink space compact" diyerek HWM'ın gördüğü boş alanlardaki çarpık duran verileri defragment ederiz. Son olarak "alter table shrink space" diyerekde HWM'ın gördüğü yüksek blockları tablonun normal blocklarına indiririz.

HWM, production veri tabanları için çoğu zaman baş ağrısı yaratabilen bir durum olabileceği gibi fark edilmeside zaman alabilir. "user_segments, dba_segments" bunlardan gerekli bilgiler toplanabilir.

İyi çalışmalar,

Ogan

 

Son Düzenleme Pazartesi, 14 Şubat 2011 14:23
Ogan Ozdogan

Ogan Ozdogan

Bilkent Üniversitesi Bilgisayar Teknolojisi ve Bilişim Sistemleri 2006 mezunuyum. İstanbul Bilgi Üniversitesi İşletme Yönetimi (MBA) yüksek lisans öğrencisiyim.
Ericsson Telekomünikasyon AŞ'de Services Engineer olarak 2008 yılından beri ç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.

Website: oganozdogan.blogspot.com/ E-posta: Bu e-Posta adresi istek dışı postalardan korunmaktadır, görüntülüyebilmek için JavaScript etkinleştirilmelidir

Yorum yaz