Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> डेटाबेस

Oracle AD ऑनलाइन पैचिंग त्रुटियाँ और सुधार

मूल रूप से Tricore द्वारा प्रकाशित:अगस्त 14, 2017

यह ब्लॉग Oracle® AD ऑनलाइन पैचिंग (अपनाने) उपयोगिता के लिए निम्नलिखित सामान्य मुद्दों और समाधानों का वर्णन करता है:

  • डेटा डिक्शनरी भ्रष्टाचार त्रुटि
  • तैयारी की विफलता को अपनाएं
  • फ़ॉर्म ऑब्जेक्ट जनरेशन विफलता
  • कटओवर हैंग-अप अपनाएं
  • पैच निरस्त करें

डेटा डिक्शनरी करप्शन एरर

डेटा डिक्शनरी भ्रष्टाचार त्रुटि तब हो सकती है जब एडॉप स्टेपफेल तैयार करता है।

त्रुटि

अलग-अलग परिवेशों के लिए निम्न त्रुटि भिन्न हो सकती है।

[EVENT]     Verifying data dictionary.
[UNEXPECTED]Data dictionary corrupted:
[UNEXPECTED]Data dictionary corruption - missing parent
5608975 ORA$BASE        IMAT            V_WORKFLOWWORKITEMII           VIEW
5608973 ORA$BASE        IMAT            V_WFSTAGETIME                  VIEW
5608973 ORA$BASE        IMAT            V_WFSTAGETIME                  VIEW
[UNEXPECTED]Data dictionary corruption detected. Provide details to
[UNEXPECTED]Oracle Support and ask for a bug to be opened against the
[UNEXPECTED]Online Patching component of Oracle Application Install.

/apps1/SID/fs_ne/EBSapps/log/adop/18/adop_xxxxx_xxxxx.log:

कारण

यह डेटा डिक्शनरी समस्या तब होती है जब कोई डेवलपर अनुकूलन को अनुचित रूप से बढ़ावा देता है, जो ऑनलाइन पैचिंग मानकों का उल्लंघन करता है।

समाधान

डेटा डिक्शनरी भ्रष्टाचार (लापता-पैरेंट) को ठीक करने के लिए, निम्न चरणों को निष्पादित करें:

  1. $AD_TOP/sql/ADZDDBCC.sql चलाएं स्क्रिप्ट apps user . के रूप में पुष्टि करने के लिए कि क्या तार्किक डेटा शब्दकोश भ्रष्टाचार मौजूद है। स्पूल लॉग में भ्रष्टाचार की जाँच करें।

  2. स्क्रिप्ट चलाएँ $AD_TOP/patch/115/sql/adzddmpfix.sql sys user . के रूप में भ्रष्टाचार को ठीक करो। निम्न नमूने में, 12 भ्रष्टाचार वस्तुओं को ठीक किया गया है।

     SQL> @adzddmpfix.sql
    
     "---- Fixing Data Dictionary Corruptions (missing parent) ----"
     12 rows deleted.
     Commit complete.
     System altered.
     "---- Compiling invalids ----"
     PL/SQL procedure successfully completed.
     Commit complete.
    
  3. $AD_TOP/sql/ADZDDBCC.sql चलाएं स्क्रिप्ट फिर से apps user . के रूप में यह निर्धारित करने के लिए कि क्या तार्किक डेटा शब्दकोश भ्रष्टाचार अभी भी मौजूद है। यदि कोई भ्रष्टाचार नहीं पाया जाता है, तो अपग्रेड के साथ आगे बढ़ें या पैचिंग-साइकिल को अपनाएं। यदि भ्रष्टाचार अभी भी मौजूद है, तो Oracle समर्थन से संपर्क करें और एक बग लॉग करें।

  4. समस्या के समाधान के बाद, एडॉप तैयारी चरण को पुनः प्रयास करें।

तैयारी की विफलता को अपनाएं

कभी-कभी, एडॉप तैयारी चरण विफल हो जाता है। यह खंड एक संभावित तैयारी त्रुटि और समाधान दिखाता है।

त्रुटि

निम्नलिखित एडॉप तैयारी त्रुटि एक Oracle बग है:

Lines #(47-50):
runMSSrvPortsVal : oacore_server1:7252
ERROR: Run fs Context variable s_oacore_server_ports value cannot be NULL for oacore_server2
ERROR: Derived Patch managed server oacore_server2 port : NULL
ERROR: Failed to clone Run Context file to refresh Patch context file

समाधान

इस त्रुटि को हल करने के लिए, निम्न चरणों को निष्पादित करें:

  1. निम्न कोड नमूने में नमूना लक्ष्य सर्वर और SID को त्रुटि में रिपोर्ट किए गए पोर्ट और पथ में बदलें, और इस समस्या को ठीक करने के लिए कोड निष्पादित करें।

     perl $AD_TOP/patch/115/bin/adProvisionEBS.pl \
     ebs-delete-managedserver \
     -contextfile=/apps1/SID/fs1/inst/apps/SID_server/appl/admin/SID_server.xml -managedsrvname=oacore_server2 \
     -servicetype=oacore -logfile=$APPLRGF/TXK/delMS_oacore_server2.log
    
     perl $FND_TOP/patch/115/bin/txkSetAppsConf.pl -contextfile=/apps1/SID/fs1/inst/apps/SID_server/appl/admin/SID_server.xml \
     -configoption=removeMS -oacore=server.cm.charter.com:7252
    
  2. फिक्स लागू होने के बाद तैयारी को अपनाने के लिए पुनः प्रयास करें।

फॉर्म्स ऑब्जेक्ट जनरेशन फेल्योर

कभी-कभी, adop phase=apply patches=123456 . के साथ पैच लगाते समय , theforms ऑब्जेक्ट सफलतापूर्वक उत्पन्न नहीं हो सकते हैं, जिसके कारण Patch continue prompt Y/N दिखाए बिना एडॉप सत्र बंद हो जाता है ।

त्रुटि

उदाहरण के लिए, निम्नलिखित Oracle प्रपत्र ऑब्जेक्ट सफलतापूर्वक उत्पन्न नहीं हुए:

inv     forms/US        INVMWBIV.fmx

समाधान

निम्नलिखित आदेशों के साथ पैच निर्देशिका से विफल पैच सत्र को पुनरारंभ करें:

cd /apps1/SID/fs_ne/EBSapps/patch
adop phase=apply patches=20609071 restart=yes flags=autoskip

कटओवर हैंग अपनाएं

अगर एडॉप कटओवर हैंग हो जाता है या सर्वर क्रैश हो जाता है या एडॉप कटओवर चरण के बीच में समस्या फिर से शुरू हो जाती है, तो समस्या को ठीक करने के लिए निम्न चरणों को निष्पादित करें और फिर पैच प्रक्रिया के साथ आगे बढ़ें।

समाधान

  1. सुनिश्चित करें कि PATCH फ़ाइल सिस्टम से कोई सेवा या प्रक्रिया नहीं चल रही है।

  2. सुनिश्चित करें कि वेबलॉगिक एडमिन सर्वर और नोड मैनेजर रनफाइल सिस्टम पर चल रहे हैं। स्थिति की जांच करने के लिए निम्न आदेश निष्पादित करें:

     $ adadminsrvctl.sh status
     $ adnodemgrctl.sh status
    
  3. निम्न आदेश निष्पादित करें:

     $ adop phase=abort
     $ adop phase=cleanup cleanup_mode=full
     $ adop phase=fs_clone force=yes
    
  4. यह सुनिश्चित करने के लिए कि एडॉप कटओवर में कोई समस्या नहीं है, एक खाली एडॉप चक्र चलाएँ, निम्नलिखित कमांड को निष्पादित करके:

     $adop phase=prepare, finalize, cutover, cleanup cleanup_mode=full
    
  5. एक नई एडॉप तैयारी शुरू करें और पैच लगाएं।

  6. लागू करने के चरण के बाद, गोद लेने के बाकी चरणों को पूरा करें, जिसमें अंतिम रूप देना, कटओवर और सफाई शामिल है।

पैच निरस्त करें

यदि कोई पैचिंग चक्र विफल हो जाता है और आप समस्या को शीघ्रता से हल नहीं कर सकते हैं, तो आप पैचिंग चक्र को रोक सकते हैं और सामान्य रनटाइम ऑपरेशन पर वापस लौट सकते हैं, जो पैच संस्करण को छोड़ देता है।

आप निम्न आदेश चलाकर एक पैचिंग चक्र (बिना कोई पैच लगाए) छोड़ सकते हैं:

$ adop phase=abort

महत्वपूर्ण: आप इस कमांड का उपयोग केवल कटओवर चरण के सफल समापन से पहले कर सकते हैं। कटओवर के बाद, सिस्टम नए संस्करण पर चल रहा है, और abort उस पैचिंग चक्र के लिए कमांड अब संभव नहीं है।

एक पैचिंग चक्र को निरस्त करना पैच संस्करण को छोड़ देता है, लेकिन फिर आपको एक नया पैचिंग चक्र शुरू करने से पहले क्लीनअप और fs_clone चरणों को चलाना होगा। सफाई एक पूर्ण सफाई होनी चाहिए। निम्नलिखित उदाहरण घटनाओं के इस क्रम को प्रदर्शित करता है:

$ adop phase=prepare
$ adop phase=apply patches=123456
[Patch application encounters problems and you want to abort]
$ adop phase=abort
$ adop phase=cleanup cleanup_mode=full
$ adop phase=fs_clone

वैकल्पिक रूप से, आप निम्न आदेश में दिखाए गए अनुसार निरस्त और सफाई आदेशों को जोड़ सकते हैं:

$ adop phase=abort,cleanup cleanup_mode=full

नोट: आप हॉटपैच मोड में लागू किए गए पैच के अनुप्रयोग को निरस्त नहीं कर सकते (adop phase=apply apply_mode=hot patch )।

निष्कर्ष

एडॉप यूटिलिटी के लिए ज्ञात मुद्दों और समाधानों का यह संग्रह डेटाबेस प्रशासकों की मदद कर सकता है जब उनके पास ये या इसी तरह की समस्याएं हों।

कोई टिप्पणी करने या प्रश्न पूछने के लिए प्रतिक्रिया टैब का उपयोग करें।


  1. Oracle APEX और ORDS को स्थापित और कॉन्फ़िगर करें

    यह पोस्ट Oracle® एप्लिकेशन एक्सप्रेस (APEX) और Oracle REST डेटा सर्विसेज (ORDS) का वर्णन करती है, जिसमें APEX को स्थापित करने और स्थापित करने और कॉन्फ़िगर करने के चरण शामिल हैं। आमतौर पर, डेटाबेस एडमिनिस्ट्रेटर (डीबीए) इन दोनों कार्यों को अंजाम देते हैं। अपेक्स Oracle ने APEX को एक कम-लागत, वेब-आधा

  1. Oracle SQL प्रोफ़ाइल और आधार रेखा

    यह पोस्ट Oracle® में SQL प्रोफ़ाइल और बेसलाइन के बीच अंतर को हाइलाइट करती है और बताती है कि क्वेरी को ट्यून करते समय यह कैसे काम करता है। अनुकूलक, प्रोफ़ाइल और आधार रेखा उच्च स्तर पर, ये तीन तत्व एक साथ निम्न प्रकार से कार्य करते हैं: क्वेरी ऑप्टिमाइज़र क्वेरी निष्पादन के लिए सर्वोत्तम योजना प्र

  1. सामान्य एक्सेल फॉर्मूला त्रुटियां और उन्हें कैसे ठीक करें

    किसी ऐसे व्यक्ति के रूप में जो एक छोटे व्यवसाय या अन्य जगहों पर काम करता है, जब आप एक्सेल स्प्रेडशीट पर काम करते हैं, तो आपको कभी-कभी एक त्रुटि कोड का सामना करना पड़ सकता है। यह कई कारणों से हो सकता है, चाहे वह आपके डेटा में कोई खराबी हो, या आपके फॉर्मूले में कोई खराबी हो। इसका प्रतिनिधित्व करने के