मूल रूप से Tricore द्वारा प्रकाशित: 14 अगस्त, 2017
यह ब्लॉग Oracle® AD ऑनलाइन पैचिंग (adop) उपयोगिता के लिए निम्नलिखित सामान्य मुद्दों और समाधानों का वर्णन करता है:
- डेटा डिक्शनरी भ्रष्टाचार त्रुटि
- adop तैयारी विफलता
- फॉर्म्स ऑब्जेक्ट जनरेशन विफलता
- adop कटओवर हैंग-अप
- पैच अभॉर्ट
डेटा डिक्शनरी भ्रष्टाचार त्रुटि
डेटा डिक्शनरी भ्रष्टाचार त्रुटि तब हो सकती है जब adop तैयारी चरण विफल होता है।
त्रुटि
निम्न त्रुटि विभिन्न वातावरणों के लिए भिन्न हो सकती है।
[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:
कारण
यह डेटा डिक्शनरी समस्या तब होती है जब एक डेवलपर ऑनलाइन पैचिंग मानकों का उल्लंघन करते हुए अनुकूलन को अनुचित तरीके से बढ़ावा देता है।
समाधान
डेटा डिक्शनरी भ्रष्टाचार (मिसिंग-पेरेंट) को ठीक करने के लिए, निम्न चरणों को निष्पादित करें:
$AD_TOP/sql/ADZDDBCC.sqlस्क्रिप्ट कोapps userके रूप में चलाएं ताकि यह पुष्टि हो सके कि तार्किक डेटा डिक्शनरी भ्रष्टाचार मौजूद है। स्पूल लॉग में भ्रष्टाचार की जांच करें।$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.$AD_TOP/sql/ADZDDBCC.sqlस्क्रिप्ट को फिर सेapps userके रूप में चलाएं ताकि यह निर्धारित किया जा सके कि तार्किक डेटा डिक्शनरी भ्रष्टाचार अभी भी मौजूद है। a. यदि कोई भ्रष्टाचार नहीं मिलता है, तो अपग्रेड या adop पैचिंग-चक्र के साथ आगे बढ़ें। b. यदि भ्रष्टाचार अभी भी मौजूद है, तो Oracle Support से संपर्क करें और एक बग लॉग करें।समस्या हल होने के बाद, adop तैयारी चरण को पुनः प्रयास करें।
adop तैयारी विफलता
कभी-कभी, adop तैयारी चरण विफल हो जाता है। यह खंड एक संभावित तैयारी त्रुटि और समाधान दिखाता है।
त्रुटि
निम्न adop तैयारी त्रुटि एक 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
समाधान
इस त्रुटि को हल करने के लिए, निम्न चरणों को निष्पादित करें:
निम्न कोड नमूने में नमूना लक्ष्य सर्वर और 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फिक्स लागू होने के बाद adop तैयारी को पुनः प्रयास करें।
फॉर्म्स ऑब्जेक्ट जनरेशन विफलता
कभी-कभी, adop phase=apply patches=123456 के साथ पैच लागू करते समय, फॉर्म्स ऑब्जेक्ट सफलतापूर्वक जनरेट नहीं हो सकते हैं, जिससे adop सत्र Patch continue prompt Y/N दिखाए बिना समाप्त हो जाता है।
त्रुटि
उदाहरण के लिए, निम्न Oracle Forms ऑब्जेक्ट सफलतापूर्वक जनरेट नहीं हुए:
inv forms/US INVMWBIV.fmx
समाधान
निम्न कमांड के साथ पैच डायरेक्टरी से विफल पैच सत्र को पुनरारंभ करें:
cd /apps1/SID/fs_ne/EBSapps/patch
adop phase=apply patches=20609071 restart=yes flags=autoskip
adop कटओवर हैंग
यदि adop कटओवर हैंग होता है या सर्वर क्रैश या रिबूट समस्या adop कटओवर चरण के बीच में होती है, तो समस्या को ठीक करने के लिए निम्न चरणों को निष्पादित करें और फिर पैच प्रक्रिया के साथ आगे बढ़ें।
समाधान
सुनिश्चित करें कि PATCH फाइल सिस्टम से कोई सेवा या प्रक्रिया नहीं चल रही है।
सुनिश्चित करें कि Weblogic एडमिन सर्वर और नोड मैनेजर रन फाइल सिस्टम पर चल रहे हैं। स्थिति जांचने के लिए निम्न कमांड निष्पादित करें:
$ adadminsrvctl.sh status $ adnodemgrctl.sh statusनिम्न कमांड निष्पादित करें:
$ adop phase=abort $ adop phase=cleanup cleanup_mode=full $ adop phase=fs_clone force=yesएक खाली adop चक्र चलाकर सुनिश्चित करें कि adop कटओवर में कोई समस्या नहीं है, निम्न कमांड निष्पादित करके:
$adop phase=prepare, finalize, cutover, cleanup cleanup_mode=fullएक नई adop तैयारी शुरू करें और पैच लागू करें।
लागू चरण के बाद, अंतिम रूप, कटओवर, और सफाई सहित शेष adop चरणों को पूरा करें।
पैच अभॉर्ट
यदि एक पैचिंग चक्र विफल होता है और आप समस्या को जल्दी हल नहीं कर सकते, तो आप पैचिंग चक्र को रद्द कर सकते हैं और सामान्य रनटाइम ऑपरेशन पर वापस आ सकते हैं, जो पैच संस्करण को ड्रॉप करता है।
आप निम्न कमांड चलाकर पैचिंग चक्र को छोड़ सकते हैं (कोई पैच लागू किए बिना):
$ adop phase=abort
महत्वपूर्ण: आप इस कमांड का उपयोग केवल कटओवर चरण के सफल समापन से पहले कर सकते हैं। कटओवर के बाद, सिस्टम नए संस्करण पर चल रहा है, और उस पैचिंग चक्र के लिए abort कमांड अब संभव नहीं है।
पैचिंग चक्र को रद्द करने से पैच संस्करण ड्रॉप हो जाता है, लेकिन फिर आपको नया पैचिंग चक्र शुरू करने से पहले सफाई और fs_clone चरण चलाने होंगे। सफाई पूर्ण सफाई होनी चाहिए। निम्न उदाहरण घटनाओं के इस क्रम को प्रदर्शित करता है:
$ adop phase=prepare
$ adop phase=apply patches=123456
[पैच आवेदन में समस्याओं का सामना होता है और आप रद्द करना चाहते हैं]
$ 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)।
निष्कर्ष
adop उपयोगिता के लिए ज्ञात मुद्दों और समाधानों का यह संग्रह डेटाबेस प्रशासकों की मदद कर सकता है जब उन्हें ये या समान मुद्दे हों।
किसी भी टिप्पणी या प्रश्न के लिए फीडबैक टैब का उपयोग करें।