मैं Oracle RAC डेटाबेस के लिए उत्पादन हार्डवेयर को बदलने की प्रक्रिया में हूँ। शून्य डाउनटाइम के साथ ऐसा करने के लिए, मैं नए नोड्स जोड़ रहा हूं और फिर पुराने और नए दोनों नोड्स पर चलने के लिए आरएसी डेटाबेस का विस्तार कर रहा हूं। फिर मैं पुराने नोड्स को हटा दूंगा जब उनके पास अब कोई डेटाबेस कनेक्शन नहीं होगा।
नए नोड्स जोड़ते समय, मुझे नए उदाहरणों का समर्थन करने के लिए अतिरिक्त थ्रेड्स जोड़ने की आवश्यकता थी। इसका मतलब है कि मुझे उन थ्रेड्स के लिए नए ऑनलाइन रीडो लॉग समूह जोड़ने की जरूरत है। इस परियोजना को पूरा करने की जल्दबाजी में, मैं अपने भौतिक स्टैंडबाय डेटाबेस को ध्यान में रखना भूल गया। एक बार जब स्टैंडबाय को ओआरएल बनाने के लिए फिर से रिकॉर्ड प्राप्त हुआ, तो उसने तुरंत निम्नलिखित त्रुटियां फेंक दीं:
Thu Jun 29 14:17:44 2017 Media Recovery Log /u01/app/oracle/admin/orcls/arch/7_63989_677462342.dbf No OMF destination specified, unable to create logs Errors with log /u01/app/oracle/admin/orcls/arch/7_63989_677462342.dbf MRP0: Background Media Recovery terminated with error 1264 Thu Jun 29 14:17:44 2017 Errors in file /u01/app/oracle/diag/rdbms/orcls/orcls1/trace/orcls1_pr00_22818.trc: ORA-01264: Unable to create logfile file name Recovery interrupted! Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT USING ARCHIVED LOGFILE Recovered data files to a consistent state at change 259717189001 Thu Jun 29 14:17:45 2017 Errors in file /u01/app/oracle/diag/rdbms/orcls/orcls1/trace/orcls1_pr00_22818.trc: ORA-01264: Unable to create logfile file name Thu Jun 29 14:17:45 2017 MRP0: Background Media Recovery process shutdown (orcls1)
मुझे मूर्ख। शुक्र है कि यह एक आसान फिक्स है। स्टैंडबाय पर, समस्या:
SQL> alter system set standby_file_management=MANUAL scope=memory; System altered.
फिर देखिए मीडिया रिकवरी होती है। हम अलर्ट लॉग में एक चेतावनी देखेंगे कि ओआरएल नहीं जोड़ा जाएगा, जो ठीक है क्योंकि स्टैंडबाय में पहले से ही इसके ओआरएल हैं।
Media Recovery Log /u01/app/oracle/admin/orcls/arch/7_63989_677462342.dbf WARNING: standby_file_management is set to MANUAL Online logs not added for newly enabled thread 1
एक बार पर्याप्त पुनर्प्राप्ति लागू हो जाने के बाद, मैंने पैरामीटर को उसके मूल मान पर वापस सेट कर दिया है।
SQL> alter system set standby_file_management=AUTO scope=memory; System altered.
मैं ऐसा करने से बच सकता था क्योंकि ओआरएल को प्राथमिक में जोड़े जाने के दौरान कोई अन्य फ़ाइल प्रबंधन कार्य पूरा नहीं हुआ था।