11 Mart 2012 Pazar

[TR] ORA-02020: too many database links in use

Db'de bir oturum açılıp bu oturum üzerinden bir db link kullanıldığında; commit yada rollback yapılmış olsa bile, o oturum sona erene kadar yada bağlantı manuel olarak kapatılana kadar network bağlantısı açık kalır. Network bağlantısının açık kalması demek, db link bağlantısı ile birbirine bağlanan remote db ve lokal db tarafında birer process'in sürekli olarak aktif olması demektir. Eğer db link o oturumda bir daha kullanılmayacaksa, aradaki network bağlantısının aşağıdaki komutla kapatılması şiddetle tavsiye edilir. Aşağıdaki komut sadece, bağlı olunan oturumda belirtilen db link için açık olan network bağlantılarını kapatır. "ALTER SESSION" sistem yetkisi gerektirir.

ALTER SESSION CLOSE DATABASE LINK dblnk1;

OPEN_LINKS başlangıç parametresi; lokal db'deki bir oturumun, db link üzerinden aynı anda kaç tane network bağlantısı açabileceğini belirler. Burada söz konusu remote db sayısı 1 de olabilir 1'den fazla da olabilir önemli olan kullanılan birbirinden farklı db link sayısıdır. Yani mesala bu parametrenin değeri 5 iken, aynı remote db'ye farklı db linkler üzerinden en fazla 5 tane network bağlantısı açılabilir. Ancak aynı db link istenildiği kadar kullanılabilir zira tüm kullanımlar aynı network bağlantısı üzerinden gider. Bu limit aşıldığında ORA-02020 hatası alınır. Bu parametrenin varsayılan değeri 4'tür ve statik bir parametredir. Daha önce açılmış sık kullanılmayan db link network bağlantıları; biraz önce anlatılan yöntemle kapatılmak suretiyle, açık db link network bağlantı sayısı kontrol altına alınabilir. Aksi halde bu parametreye takılmak kaçınılmazdır.

Hiç yorum yok:

Yorum Gönder