open cursors

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

open cursors

Serdar
Merhaba,
.NET programında bir veriyi alırken maximum open cursors exceed hatası alıyoruz, internetten araştırdığımızda aşağıdaki komut ile open cursor saysını arttırdığımız zaman sorunun giderileceği yazıyor
hatta test ortamında denedik oldu fakat canlı ortamda yapmadan önce size sormak istedik.
bu işlem başka herhangi birşeyi etkiler mi.

ALTER SYSTEM SET open_cursors = 2000
Reply | Threaded
Open this post in threaded view
|

Re: open cursors

Serdar
DB versiyon 10g
Reply | Threaded
Open this post in threaded view
|

Re: open cursors

ErmanArslansOracleBlog
Administrator
Merhaba,

Evet.
Open_cursors parametresi bir session da açılabilecek maximum cursor sayısını kontrol eder.
Default değeri 50 olan bu parametre, "alter system set open_cursor=XXX" ile güncellenebilir.
Eğer veritabanınız şu anda spfile ı kullanacak şekilde ayarlanmışsa, "alter system set open_cursor=XXX;" hareketiyle ilgili parametreyi kalıcı şekilde (restartlardan sonra da eski haline dönmeyecek şekilde) güncellemiş olursunuz. Eğer spfile kullanılmıyorsa alter cümlenizi şu alter komutuyla güncellemeniz gerekecektir. -> "alter system set open_cursor=XXX scope=memory"

Ayrıca eğer pfile kullanıyorsanız, ilgili pfile yani init<SID>.ora da da gerekli değişikliği yapmanız iyi olur. Aksi takdirde db restart ta parametre eski değerine döner.

spfile kullanıp kullanılmadığını, sqlplus tan show parameter spfile komutuyla da kontrol edebilirsiniz. (eğer boş dönüyorsa pfile kullanıyorsunuz demektir.) ..

not: open cursor parametresi sessionları fazla sayıda cursor açmasını engeller.
Çünkü kodlamadan ötürü gereğinden fazla (çok sayıda) cursor açıldığında, memory kullanımı artmış olacaktır.

Reply | Threaded
Open this post in threaded view
|

Re: open cursors

Serdar
birşey daha sormak istiyorum spfie ile pfile arasındaki fark nedir.
yani bir sistem spfile ile çalışırken pfile a döndermek ya da tam tersi
backup v.s bundan etkilenir mi.

yani spfile da iken aldığın bir backup pfile da iken çalışır mı
Reply | Threaded
Open this post in threaded view
|

Re: open cursors

ErmanArslansOracleBlog
Administrator
Genel olarak;

Bunlar parametre dosyaları.
spfile binary, pfile text.
spfile dan pfile a yada pfile dan spfile a geçmek restart gerektirir.

spfile db açıkken alter system ile değiştirilebilir. (tabii eğer ilgili parametre online modifiable ise)
pfile ise alter system ile değiştirilemez, dolayısıyla db komutlarıyla değiştirilemez. pfile ı ayrıca bir text editörle editliyorsunuz..

sonuç olarak 2 si de aynı şeye hizmet ediyor.. Db açılırken parametreleri veriyorlar.
spfile yada pfile kullanımı tercih meselesidir. Ancak spfile kullanımı tavsiye edilendir.

Bunlar parametre dosyaları, bakcup konusuyla çok ilgili değil. Tabii spfile ve pfile ın da backupını almalısınız.