Kayıtlar

Ağustos, 2012 tarihine ait yayınlar gösteriliyor

Oracle'da sleep komutu

Bir programda örneğin bir işi bir kaç defa belli bir süre aralığıyla tekrar denemek isteyebilirsiniz. Örneğin mail gönderme işleminiz başarısız olursa toplamda 3 defa 10 sn. aralıkla bu işi tekrar yapmayı deneyebilirsiniz, geçici network problemleri ya da anlık problem bu süre zarfında düzelirse işleminiz başarılı bir şekilde gerçekleşmiş olur. Çoğu dilde bu işi yapan ve süreyi genelde milisaniye cinsinden belirtebildiğimiz sleep komutu vardır. Oracle'ın PL/SQL dilinde bunun karşılığı dbms_lock.sleep procedure'üdür ve süre saniye cinsinden verilir. Örnek kullanım aşağıdaki gibidir. declare    l_date_1    timestamp;    l_date_2    timestamp;  begin    l_date_1 := systimestamp;    dbms_lock.sleep(1); //1 sn. uyu. (1 ms. değil dikkatli olun!)    l_date_2 := systimestamp;    dbms_output.put_line( to_char(l_date_2 - l_date_1, 'ss') );     end;  Sleep içine 0.1 (10 salise), ya da 0.01 (1 salise) yazabilirsiniz (tam sayı vermek zo

OLTP sistemlerde Bitmap index kullanımının sakıncaları

Sorun: Test sisteminde sadece kendime ait 2 farklı transaction'ımla insert'ler yaparken alakasız şekilde locklanmadan dolayı işlem yapamadığımı fark ettim. Detayına bakınca Transaction Exclusive diyor fakat hiç bir trigger'ı olan bir tabloya sadece basit bir insert yaparken niye böyle bir lock oluşur?  Sonuç: Bitmap indexleri  OLTP'lerde kullanmayın-ki detayı aşağıda bulunan 2. senaryodaki gibi gereksiz locklara sebep olduğunu da görüyoruz-, Datawarehouse/raporlama veritabanlarında kullanabilirsiniz.(Aynı anda birden fazla transaction olduğu durumlarda sıkıntı oluşuyor) Kaynak: http://www.experts-exchange.com/Database/Oracle/Q_21219257.html Well, I will bring back some of my reading memories and few experiences here: Btree  indexes  are ideal for  OLTP  transactions, why is that? because og UPDATES behavior. If you want to save some space with btree  indexes  tr