विषय-सूची
Oracle डेटाबेस में विवरण
ORA-06512 ओरेकल में ओरेकल डेटाबेस में पीएलएसक्यूएल प्रोग्राम में देखी जाने वाली सामान्य त्रुटि में से एक है
यहाँ Oracle दस्तावेज़ीकरण इस त्रुटि के बारे में क्या कहता है
संदर्भ :Oracle प्रलेखन
आप इसे हमेशा नीचे यूनिक्स में टाइप करके पा सकते हैं
oerr ORA 06512
ORA-06512 त्रुटि का स्पष्टीकरण:
त्रुटि ORA-06512 इसका मतलब है कि आपके पीएलएसक्यूएल कोड में अनचाहे अपवादों द्वारा स्टैक के रूप में बैकट्रेस संदेश को खोल दिया जा रहा है। यह सभी PLSQL अपवादों के लिए एक कैच-ऑल एरर है और आमतौर पर देखा जाता है।
ORA 6512 वास्तविक त्रुटि को इंगित नहीं करता है, लेकिन PLSQL कोड में हैंडल न की गई त्रुटि की लाइन संख्या है। ORA-6512 आम तौर पर एक संदेश स्टैक में दिखाई देगा जिसमें पूर्ववर्ती संदेश त्रुटि का कारण बताता है, जैसे कि निम्न उदाहरण में:
ORA-06502: PL/SQL: numeric or value error ORA-06512: at line 1112
उपरोक्त में, पीली हाइलाइट की गई त्रुटि मुख्य त्रुटि है
ORA-06512 गड़बड़ी के कारण:
इस Oracle त्रुटि को हल करने के विकल्प हैं:
1) उस स्थिति को ठीक करें जो हैंडल नहीं की गई त्रुटि का कारण बन रही है।
2) इस हैंडल न की गई त्रुटि के लिए एक अपवाद हैंडलर लिखें।
3) सहायता के लिए अपने Oracle DBA से संपर्क करें।
ओआरए-06512 के उदाहरण:
आइए इस पर काम करने के तरीके के बारे में कुछ उदाहरण देखें
CREATE OR REPLACE PROCEDURE Testora_proc AS Site_name varchar2(5); begin site_name := 'techgoeasy.com'; end; / Procedure created. sql> Exec Testora_proc ERROR at line 1: ORA-06502: PL/SQL: numeric or value error: character string buffer too small ORA-06512: at line 5
ऊपर दिए गए उदाहरण में, प्रक्रिया सफलतापूर्वक संकलित हो जाती है लेकिन निष्पादन के दौरान यह त्रुटियां देती है
तो वास्तविक त्रुटि त्रुटि है
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
हम वेरिएबल का आकार बढ़ाकर इसे आसानी से ठीक कर सकते हैं
CREATE OR REPLACE PROCEDURE Testora_proc AS Site_name varchar2(20); begin site_name := 'techgoeasy.com'; end; / Procedure created. SQL> Exec Testoraproc PL/SQL procedure successfully completed.
हम इसे अपवाद हैंडलर का उपयोग करके भी हल कर सकते हैं
CREATE OR REPLACE PROCEDURE Testora_proc AS Site_name varchar2(5); begin site_name := 'techgoeasy.com'; EXCEPTION WHEN OTHERS THEN site_name := 'tech'; end; / Procedure created.SQL>Exec Testoraproc; PL/SQL procedure successfully completed.
एक और उदाहरण होगा
CREATE OR REPLACE PROCEDURE Testora_proc AS node_name varchar2(5); begin select node into node_name from db_node; end; / Procedure created SQL> Exec Testora_proc; ORA-01422: exact fetch returns more than requested number of rows ORA-06512: at “NODE_NAME”, line 4 ORA-06512: at line 1
यहाँ ORA-01422 वास्तविक त्रुटि है। हमारे पास db_node तालिका में 1 से अधिक पंक्तियाँ हैं और नोड के लिए कई मान प्राप्त करते हैं। तो एक फिक्स एक पंक्ति को प्रतिबंधित कर सकता है
CREATE OR REPLACE PROCEDURE Testora_proc AS node_name varchar2(5); begin select node into node_name from db_node where rownum <2; end; / Procedure created SQL> Exec Testora_proc; PL/SQL procedure successfully completed.
एक और उदाहरण होगा
CREATE OR REPLACE PROCEDURE Testora_proc AS node_name varchar2(5); begin select node into node_name from db_node; end; / Procedure created SQL> Exec Testora_proc; ORA-01403: no data found ORA-06512: at “NODE_NAME”, line 4 ORA-06512: at line 1
यहाँ ORA-01403 वास्तविक त्रुटि है। हमारे पास db_node oracle तालिका में कोई पंक्ति नहीं है और हमें कोई डेटा नहीं मिला त्रुटि मिल रही है। तो एक फिक्स अपवाद हैंडलिंग डाल सकता है
CREATE OR REPLACE PROCEDURE Testora_proc AS node_name varchar2(5); begin select node into node_name from db_node where rownum <2; EXCEPTION WHEN NO_DATA_FOUND THEN node_name := 'tech'; end; / Procedure created SQL> Exec Testora_proc; PL/SQL procedure successfully completed.
कुछ और उदाहरण SYS.UTL_FILE
. पर दिए जा सकते हैंSQL> declare F_LOG utl_file.file_type; begin F_LOG := utl_file.fopen('TESTDIR','k', 'w'); end; / 2 3 4 5 6 declare * ERROR at line 1: ORA-29283: invalid file operation ORA-06512: at "SYS.UTL_FILE", line 536 ORA-29283: invalid file operation ORA-06512: at line 4
यहाँ मुख्य त्रुटि ORA-29283 है। लिंक पर क्लिक करके समाधान की जांच करें
आशा है आपको ORA-6512 . पर यह पोस्ट पसंद आई होगी त्रुटि संदेश
संबंधित लेखORA-00911
ORA-03113
ORA-00257
ORA-27154
ORA-29913
ORA-20001 11g पर स्कीमा आंकड़े इकट्ठा करें(FND_HISTOGRAM_COLS )