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

java.sql.SQLException:I/O त्रुटि:linux सर्वर में कनेक्शन रीसेट

उत्तर oracle फ़ोरम से लिया गया, यहां :

java.security.SecureRandom सूर्य द्वारा प्रदान किया गया एक मानक एपीआई है। इस वर्ग द्वारा दी जाने वाली विभिन्न विधियों में से void nextBytes(byte[])

इस विधि का उपयोग यादृच्छिक बाइट्स उत्पन्न करने के लिए किया जाता है। Oracle 11g JDBC ड्राइवर लॉगिन के दौरान यादृच्छिक संख्या उत्पन्न करने के लिए इस API का उपयोग करते हैं। Linux का उपयोग करने वाले उपयोगकर्ताओं को SQLException("Io exception: Connection reset") . का सामना करना पड़ रहा है ।

समस्या दो गुना है:

  1. जब SecureRandom.nextBytes(byte[]) JVM /tmp (या -Djava.io.tmpdir द्वारा निर्धारित वैकल्पिक tmp निर्देशिका) में सभी फाइलों को सूचीबद्ध करने का प्रयास करता है आह्वान किया जाता है। यदि फ़ाइलों की संख्या बड़ी है, तो थीम विधि को प्रतिक्रिया देने में लंबा समय लगता है और इसलिए सर्वर का समय समाप्त हो जाता है

  2. विधि void nextBytes(byte[]) लिनक्स पर /dev/random का उपयोग करता है और कुछ मशीनों पर जिनमें यादृच्छिक संख्या उत्पन्न करने वाले हार्डवेयर की कमी होती है, ऑपरेशन पूरी लॉगिन प्रक्रिया को रोकने की सीमा तक धीमा हो जाता है। अंततः उपयोगकर्ता का सामना SQLException ("Io अपवाद:कनेक्शन रीसेट") से होता है

11g में अपग्रेड करने वाले उपयोगकर्ता इस समस्या का सामना कर सकते हैं यदि अंतर्निहित OS Linux है जो एक दोषपूर्ण हार्डवेयर पर चल रहा है।

इसका कारण अभी तक सटीक रूप से निर्धारित नहीं किया गया है। यह या तो हार्डवेयर में समस्या हो सकती है या तथ्य यह है कि किसी कारण से सॉफ़्टवेयर dev/random से नहीं पढ़ सकता है

एक समाधान ऐसा लगता है कि इस सेटिंग को jvm में जोड़ा जा रहा है

-Djava.security.egd=file:/dev/./urandom


  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. ईबीएस 12.2.5 और उच्चतर:लॉगिन पेज बटन मिसलिग्न्मेंट

  3. Oracle IN बनाम मौजूद अंतर?

  4. Oracle SQL क्वेरी के माध्यम से, पंक्ति में कॉलम के अल्पविराम से अलग किए गए मानों को विभाजित करें

  5. वैध तिथि की जाँच करें जो varchar2 . में घोषित की गई है