Oracle Concurrent Manager का कोर डंप फ़ाइल निर्माण
Oracle समवर्ती प्रबंधकों में कई निष्पादन योग्य होते हैं और हमें अक्सर इसके साथ विभिन्न मुद्दों का सामना करना पड़ता है। जब एक निष्पादन योग्य खंड विभाजन दोष या सिग्नल 11 के साथ समाप्त होता है, तो oracle समवर्ती प्रबंधक के लिए एक कोर फ़ाइल बनाई जानी चाहिए।
यदि आप नहीं पाते हैं कि कोर फ़ाइल बनाई गई है, तो आपके सिस्टम पर कोर फ़ाइलों के लिए ulimit को 0 पर सेट किया जा सकता है।
इसे निम्नानुसार जांचें:
ulimit -a
ulimit -a time(seconds) unlimited file(blocks) unlimited data(kbytes) unlimited stack(kbytes) unlimited coredump(blocks) unlimited nofiles(descriptors) 4096 vmemory(kbytes) unlimited
"मुख्य फ़ाइल आकार (ब्लॉक)" के लिए आउटपुट की जाँच करें यदि यह 0 या कम मान पर सेट है, तो इसे सिंटैक्स का उपयोग करके वर्तमान सत्र में किसी भी आकार की कोर फ़ाइलों को बनाने की अनुमति देने के लिए रीसेट किया जा सकता है:
ulimit -c unlimited
यदि यूनिक्स उपयोगकर्ता के पास समवर्ती प्रबंधक और ऐप्स श्रोता को प्रारंभ करने से पहले परिवेश में यह सेट है,
तो समवर्ती संसाधन परिवेश कोर फ़ाइलें बनाने में सक्षम होगा।
एक्ज़ीक्यूटेबल जो सेगमेंटेशन फॉल्ट या सिग्नल 11 में समाप्त हो रहा है, उसे एक उपयोगी कोर फ़ाइल प्राप्त करने के क्रम में डिबग प्रतीकों के साथ फिर से लिंक किया जाना चाहिए। यह adrelink.sh को link_debug=y पैरामीटर पास करके किया जाता है।
उदाहरण के लिए:
adrelink.sh force=y link_debug=y "fnd FNDLIBR"
एक बार जब निष्पादन योग्य डीबग प्रतीकों के साथ फिर से जुड़ जाता है और आपके पास एक कोर फ़ाइल होती है, तो सुनिश्चित करें कि आपके पास निष्पादन योग्य के लिए सही
कोर फ़ाइल है जो सिंटैक्स का उपयोग करके क्रैश हो गई है:
file core core: ELF 32-bit MSB core file SPARC Version 1, from 'FNDLIBR'
अब स्टैक ट्रेस प्राप्त करने के लिए डीबगर का उपयोग करें।
लिनक्स के लिए डीबगर gdb है:
gdb $FND_TOP/bin/FNDLIBR core
सोलारिस के लिए डिबगर dbx है:
dbx $FND_TOP/bin/FNDLIBR core
ओरेकल सपोर्ट द्वारा प्रदान किए गए निष्पादन योग्य एप्लिकेशन में डीबग कोड जोड़ना
अक्सर यह देखा जाता है कि ऊपर उत्पन्न कोर डंप समस्या को दूर करने के लिए पर्याप्त नहीं है। इसलिए Oracle समर्थन समस्या को और गहरा करने के लिए एक डिबग कोड प्रदान कर सकता है
एप्लिकेशन निष्पादन योग्य में डीबग कोड कैसे जोड़ें, इस पर सामान्य चरण यहां दिए गए हैं।
वास्तव में ये ऐसे चरण हैं जिनका पालन उत्पाद निष्पादन योग्य में lib फ़ाइलों को बदलने के लिए adpatch द्वारा किया जाता है
मान लें कि आपको ऑब्जेक्ट फ़ाइल "invir.o" को INVLIBR निष्पादन योग्य में लिंक करने की आवश्यकता है।
कुछ भी करने से पहले सुनिश्चित करें कि समवर्ती प्रबंधकों को बंद कर दिया गया है।
पहले संस्करणों की जाँच करें:
adident Header $INV_TOP/lib/invir.o $Header: invir.opp 115.6 2001/04/11 16:14:32 pkm ship $ adident Header /u00/to/debug/file/invir.o $Header: invir.opp 115.6.debug 2001/04/11 21:19:07 aeisber ship $ adident Header $INV_TOP/bin/INVLIBR |grep invir $Header: invir.op 115.6 2001/04/11 16:14:32 pkm ship $
इसलिए वर्तमान में हमारे पास हमारे सिस्टम पर संस्करण 115.6 है, और 115.6.debug में लिंक करने की आवश्यकता है
पहला चरण वर्तमान संस्करण का बैकअप लेना है:
cd $INV_TOP/lib; cp invir.o invir.o.save
डीबग संस्करण में कॉपी करें:
cp /u00/to/debug/file/invir.o .
फाइलों का बैकअप लें
cp libinv.a libinv.a.save
अब डिबग संस्करण को libinv.a में जोड़ें (इस चरण को न भूलें)
ar rv libinv.a invir.o
अब आप INVLIBR को फिर से लिंक कर सकते हैं:(आप एडमिन का भी इस्तेमाल कर सकते हैं)
adrelink.sh force=y "inv INVLIBR"
अब संस्करण की जाँच से पता चलता है:
adident Header $INV_TOP/bin/INVLIBR |grep invir.o $Header: invir.opp 115.6.debug 2001/04/11 21:19:07 aweisber ship $
हमारा डिबग कोड जुड़ा हुआ है और चलाने के लिए तैयार है। प्रबंधकों को बैक अप प्रारंभ करें, और डिबगिंग सामग्री उपलब्ध होगी। एक बार जब समस्या पुन:उत्पन्न हो जाती है, तो हम नीचे दी गई प्रक्रिया का पालन करके डिबगिंग को बंद कर सकते हैं
पहला कदम वर्तमान संस्करण का बैकअप लेना और पुराने कोड को वापस ले जाना है
cd $INV_TOP/lib; cp invir.o invir.o.debug cp invir.o.save invir.o
पुरानी .a फ़ाइल को पुनर्स्थापित करें
cp libinv.a.save libinv.a
अब आप INVLIBR को फिर से लिंक कर सकते हैं:(आप एडमिन का भी इस्तेमाल कर सकते हैं)
adrelink.sh force=y "inv INVLIBR"
अब संस्करण की जाँच से पता चलता है:
adident Header $INV_TOP/bin/INVLIBR |grep invir.o $Header: invir.opp 115.6 2001/04/11 21:19:07 aweisber ship $
संबंधित लेख
EBS R12 घटक संस्करण कैसे खोजें
Oracle EBS 11i/R12/R12.1/R12.2
Oracle DBA:Hanganalyze, सिस्टम स्टेट डंप,v$wait_chains
SQL ट्रेस को कैसे चालू करें, Oracle डेटाबेस में 10046 ईवेंट और tkprof उपयोगिता, tkprof उपयोगिता