आपका बहु-थ्रेडेड एप्लिकेशन बहुत अधिक कनेक्शन/सत्र खोल रहा है। इसलिए, श्रोता कुछ समय के लिए नए कनेक्शनों को छोड़ रहा है और अवरुद्ध कर रहा है।
पहले अपने DB संसाधन उपयोग की जाँच करें:
SELECT * FROM v$resource_limit WHERE resource_name IN ('processes','sessions');
यह देखने के लिए जांचें कि क्या आपकी प्रक्रियाओं या सत्रों के लिए आपका MAX_UTILIZATION LIMIT_VALUE के बहुत करीब आ रहा है। यदि हाँ, तो आपको या तो:
Connection
साझा करने के लिए DB कनेक्शन पूलिंग का उपयोग करें धागे के बीच की वस्तुएं। या,- उन प्रक्रियाओं/सत्रों की संख्या बढ़ाएँ जिन्हें Oracle एक साथ सेवा दे सकता है।
दरअसल, कनेक्शन पूलिंग (#1) हमेशा की जानी चाहिए। एक आवेदन अन्यथा स्केल नहीं कर सकता। अपाचे कॉमन्स DBCP चेक करें ब्योरा हेतु। #2 के लिए, सिस्टम के रूप में एक नया SQL*Plus सत्र खोलें और चलाएं:
ALTER system SET processes=<n-as-per-number-of-threads> scope=spfile;
बैकएंड संगामिति बढ़ाने के लिए। फिर डेटाबेस को पुनरारंभ करें। महत्वपूर्ण!