ओआरए-01000 को रोकने के लिए कर्सर और जेडीबीसी ऑब्जेक्ट्स को प्रबंधित करना
कर्सर और जेडीबीसी के बीच कनेक्शन को समझना
- ORA-01000 मैक्सिमम-ओपन-कर्सर त्रुटि तब होती है जब डेटाबेस इंस्टेंस उपलब्ध से बाहर हो जाता है कर्सर।
- प्रत्येक JDBC परिणामसेट डेटाबेस पर एक कर्सर द्वारा समर्थित है।
- प्रत्येक JDBC कनेक्शन कई लेनदेन को संभाल सकता है, लेकिन एक समय में केवल एक लेनदेन।
कॉन्फ़िगरेशन और प्रबंधन
- ओपन कर्सर सीमा पर कॉन्फ़िगर किया गया है डेटाबेस उदाहरण।
- उच्च मांग को समायोजित करने के लिए अधिकतम कर्सर बढ़ाए जा सकते हैं।
- लंबित लेनदेन को कनेक्शन की संख्या बढ़ाकर प्रबंधित किया जा सकता है।
लीक की पहचान करना और उसे ठीक करना
- कर्सर लीक तब होता है जब ResultSet ऑब्जेक्ट बंद नहीं होते हैं, जारी करना उनके संबंधित डेटाबेस कर्सर। ]
- यदि जेडीबीसी ऑब्जेक्ट का पुन: उपयोग किया जाएगा तो उन्हें इंस्टेंस या क्लास सदस्यों में सुरक्षित रूप से रखें।
स्थानीय चर का उपयोग करें रिजल्टसेट के लिए, क्योंकि वे आम तौर पर एक ही फ़ंक्शन के भीतर उपयोग और बंद किए जाते हैं।
एक बहु-थ्रेडेड वातावरण में, जेडीबीसी ऑब्जेक्ट को थ्रेड-सुरक्षित तरीके से संग्रहीत करें या कनेक्शन पूलिंग का उपयोग करें। ]डिबगिंग तकनीक
- फाइंडबग्स जैसे स्टेटिक कोड विश्लेषण उपकरण संभावित लीक का पता लगा सकते हैं विकास।
- रनटाइम लॉगिंग खुली और बंद वस्तुओं को ट्रैक करके रिसाव के स्रोत को इंगित करने में मदद कर सकती है।
- डेटाबेस मॉनिटरिंग उपकरण एसक्यूएल स्टेटमेंट की पहचान कर सकते हैं जो अत्यधिक कर्सर उपयोग का कारण बन रहे हैं, जो संभावित रिसाव का संकेत देते हैं।
अन्य विचार
- परिणामसेट होल्डेबिलिटी सेट करना लेन-देन प्रतिबद्ध होने पर CLOSE_CURSORS_OVER_COMMIT परिणामसेट को बंद कर देता है। संभावित जीसी हस्तक्षेप।