Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle के तहत बड़े लेनदेन को कैसे संभालें?

Oracle प्रत्येक परिणामसेट के लिए कर्सर बनाता है और परिणामसेट (jdbc ResultSet.close() या इसी तरह) को बंद करने पर इसे जारी करता है। प्रति सत्र 50 खुले कर्सर का डिफ़ॉल्ट किसी भी अच्छी तरह से डिज़ाइन किए गए एप्लिकेशन के लिए पर्याप्त है (एक बार मैंने इसे माप लिया, और उत्पादन मोड में यह कभी भी 20 से अधिक नहीं बढ़ा)।

आपको यह जांचना चाहिए कि लाने के बाद परिणामों को बंद करने के लिए हाइबरनेट कैसे बनाया जाए। आम तौर पर, मैं कल्पना नहीं कर सकता कि अगर वास्तव में 1000 खुले कर्सर की आवश्यकता होती है तो कौन सा सत्र करना चाहिए। मैंने max_open_cursors को 1000 से अधिक सेट कभी नहीं देखा, इसलिए, मुझे लगता है, यह खराब-डिज़ाइन किए गए अनुप्रयोगों के लिए भी पर्याप्त है (लेकिन... शांत तथ्य में पूर्णता की कोई सीमा नहीं है, और मैं कभी भी हाइबरनेट का उपयोग नहीं करता)।

हर कर्सर का मतलब कुछ मेमोरी होता है, इसलिए max_open_cursors को बढ़ाना शून्य-मूल्य का समाधान नहीं है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सरोगेट कुंजियों पर रिवर्स इंडेक्स का उपयोग करने का अच्छा अभ्यास? (आकाशवाणी)

  2. Oracle InvalidOperationException - तालिका से चयन करने का प्रयास करते समय

  3. Windows 10 Professional पर Oracle 12c मानक संस्करण स्थापित करना

  4. BIN_TO_NUM () Oracle में फ़ंक्शन

  5. Oracle.DataAccess करते समय Oracle.ManagedDataAccess काम क्यों नहीं करेगा?