2012-08-28 8 views
6

डालने मैं एक दूरस्थ ओरेकल (11g) डेटाबेस इकाई की रूपरेखा (ODP.Net) का उपयोग कर में बाइनरी डेटा के एक बड़े समूह राशि के साथ एक डालने करने के लिए कोशिश कर रहा हूँ। यह वास्तव में छोटे फ़ाइलें (< 5 KB) के लिए ठीक काम करता है, लेकिन बड़े लोगों (जैसे 44 KB) के लिए मैं कोई त्रुटि मिलती है: "ORA-03,135: कनेक्शन टूट संपर्क"।"ORA-03,135: कनेक्शन संपर्क टूट" जब बड़ी फाइल

मुझे नहीं लगता कि इसे बाहर समय है, अपवाद कमांड को क्रियान्वित की एक दूसरी के भीतर होती है है।

मैं अपने कनेक्शन स्ट्रिंग में निम्न में से दोनों की स्थापना की कोशिश की, लेकिन कोई लाभ नहीं हुआ:

  • Validate Connection=true
  • Pooling=false

मैं भी दूरस्थ मशीन पर listener.log फ़ाइल में देखा। यह कनेक्शन बना रहा है, लेकिन अपवादों या समाप्त कनेक्शन का कोई संकेत नहीं है।

मैं सुझाव दिया समाधान या समस्या निवारण पद्धतियों के लिए साइन अप कर रहा हूँ।

संपादित करें:

ही एसक्यूएल संचालन काम जब स्थानीय नेटवर्क पर एक Oracle उदाहरण तक पहुँचने।

+0

शायद यह नहीं है, लेकिन जब कनेक्शन बंद नहीं हुआ था तो मेरे पास "ORA-03135: कनेक्शन खो गया संपर्क" था, जब यह केवल खो गया था कि ओरेकल अब सबमिट किए गए एसक्यूएल कथन को निगलने में सक्षम नहीं था। मुझे इसे भारी प्रश्नों (> कोड की 2000 लाइन) पर मिला। हो सकता है कि मैं आपको सही रास्ते पर भेज रहा हूं लेकिन मैंने सोचा कि 4 घंटों के बाद कोई जवाब नहीं है, कम से कम मैं आपको अपने अनुभव का टुकड़ा बता सकता हूं। मेरे लिए ऐसा लगता है कि संदेश हमेशा प्रकट होता है जब SQL कमांड का पार्सर पृष्ठभूमि में क्रैश हो जाता है। – hol

+0

रिमोट मशीन पर अलर्ट लॉग की जांच करने के लायक हो सकता है यह देखने के लिए कि क्या कोई त्रुटि मिली है। यदि नहीं, तो यह क्लाइंट के अंत में होने वाली समस्या को इंगित करता है, सर्वर नहीं। साथ ही, क्या रास्ते में कोई फ़ायरवॉल है, या नेटवर्क स्तर पर कुछ भी है जिसमें लॉग इन हो सकते हैं जिन्हें आप चेक कर सकते हैं? –

+0

एक नेटवर्क लॉग सहायक होगा। फ़ायरवॉल चालू नहीं है, और यह ओरेकल होस्ट करने वाली एक विंडोज सर्वर मशीन है। मुझे यकीन नहीं है कि विंडोज मशीन पर टीसीपी यातायात कहाँ लॉग है, लेकिन मुझे इसे ढूंढना पड़ सकता है। –

उत्तर

3

यह कई अलग अलग संभावित कारणों और समाधानों के साथ एक जटिल मुद्दा हो सकता है। यहां से शुरू करें:

http://www.dba-oracle.com/t_ora_03135_connection_lost_contact.htm

Answer: The oerr utility shows this for the ORA-03135 error:

ORA-03135: connection lost contact

Cause: 1) Server unexpectedly terminated or was forced to terminate. or 2) Server timed out the connection.

Action: 1) Check if the server session was terminated. 2) Check if the timeout parameters are set properly in sqlnet.ora.

The ORA-03135 error is common when connecting remotely when a firewall terminates the connection.

One solution for the ORA-03135 error is to increase the value of the sqlnet.ora expire_time parameter in the sqlnet.ora file or to check for a expire parameter in a SQL*Plus profile.

To diagnose the ORA-03135 error, start by checking to see if the OS PID still exists, using the ps –ef|grep syntax.

Check to see if there is a Network Address Translation (NAT) between the client and server

In Windows, check to see if a Windows firewall is checking for your local connections:

Windows XP -> Control panel -> security -> Tab "Advanced"

Also, setting the parameters sqlnet.inbound_connect_timeout and inbound_connect_timeout_listenername to 0 can stop the ORA-03135 error.

इसके अलावा, जैसा कि ऊपर, कनेक्शन छोड़ने के रूप में एक ही समय में होने वाली त्रुटियों के लिए डेटाबेस चेतावनी लॉग की जाँच करें। कभी-कभी यह ओरा -600 या ओरा -7445 के कारण हो सकता है, उदाहरण के लिए। यह श्रोता लॉग में प्रकट नहीं होना चाहिए क्योंकि हैंडशेकिंग पूरा होने के बाद आपको केवल यह त्रुटि मिलती है।

+0

मैंने कुछ समय में इस मुद्दे को नहीं देखा है, लेकिन चूंकि यहां उल्लिखित समस्या निवारण विधियां बहुत अच्छी लगती हैं, इसलिए मैं इसे उत्तर के रूप में चिह्नित कर रहा हूं। –

0

यह स्थिति आमतौर पर डिस्कनेक्ट/स्टेल कनेक्शन कनेक्शन पूल से ली गई है। आप पूलिंग = false, सबसे शायद फ़ायरवॉल ब्लॉकों कनेक्शन की वजह से टीसीपी निष्क्रिय समयबाह्य के बाद इस अपवाद मिलता है। सुनिश्चित करें कि टीसीपी निष्क्रिय टाइमआउट मान अपेक्षित कमांड निष्पादन समय से बड़ा है

संबंधित मुद्दे