1 Aralık 2009 Salı

SNIPED Oracle Oturumları

Merhaba,

Oracle veritabanındaki v$session görüntüsünde Oracle veritabanına bağlı arkaplan ve kullanıcı oturumları listelenir. Bu oturumların da o anlık durumları ile ilgili bilgiler sağlanır.

Örneğin aktif olarak sorgu koşturan bir kullanıcı oturumu varsa v$session'da "ACTIVE" olarak listenelirken, sorgu koşmayan bir kullanıcı "INACTIVE" olarak görüntülenebilir. Bir veritabanı yöneticisi olarak, aktif kullanıcıların sistem kaynaklarını tüketmelerini ve inaktif kullanıcıların da sistemden çıkartılarak, daha fazla pga tüketmelerini engellemek isteyebilirsiniz. İşte bu inaktif kullanıcılar için bir profil ayarı var ve adı da idle_time. Eğer varsayılan profili kullanıyorsanız ve idle_time parametresine de "unlimited" yerine dakika cinsinden bir değer atadıysanız -ki bunu yapabilmek için resource_limit parametresinin de true olması gerekiyor ve spfile kullanılan bir veritabanında bunları dinamik olarak yapabilirsiniz- atadığınız dakika değeri boyunca işlem yapmayan kullanıcıların oturumları Oracle tarafından sonlandırılacaktır.

Bu sonlandırmanın ardından oturumlar Oracle'da sonlandırılacağı için unix oturumlarının açık kalma ihtimali de mevcuttur. Bu durumda v$session'daki durumları inactive ya da killed yerine SNIPED olarak değiştirilecektir. SNIPED olan bir oturuma Oracle daha fazla müdahale etmez ve sizin bu oturuma ait işletim sistemi seviyesindeki oturumunu sonlandırmanızı bekler.

SNIPED olan oturumları aşağıdaki şekilde listeyebiliriz;

SQL> select * from v$session where status = 'SNIPED';

SNIPED olan bir oturumu öldüremeyiz çünkü oturum Oracle tarafından öldürülmüş durumdadır. SNIPED olan bir oturum yeniden aktif hale getirilemez ve ilgili kullanıcı, kendi kullanıcı adı ve şifresi ile yeniden bağlanmayı denemelidir.

İyi çalışmalar,

Ogan

Hiç yorum yok:

Takip et: @oganozdogan