Oracle® 19c डेटाबेस बाजार और उद्यमों में व्यापक रूप से अपनाए गए ऑटोमेशन डेटाबेस का नवीनतम रिलीज़ है। स्थिरता Oracle Database 19c का एक महत्वपूर्ण तत्व है जो Oracle Database 12c (रिलीज़ 12.2) उत्पाद परिवार का घटक है। इस दो-भाग वाली ब्लॉग पोस्ट श्रृंखला में, मैं संस्करण 19c को स्थापित और अपग्रेड करने को कवर करता हूँ।
परिचय
इस दो-भाग श्रृंखला का यह भाग Windows® पर Oracle Database को 11.2.0.4 से 19c में अपग्रेड करने पर केंद्रित है। यह मैनुअल विधि डेटाबेस अपग्रेड असिस्टेंट (DBUA) का उपयोग नहीं करती।
इंस्टॉलेशन चरणों के लिए, इस श्रृंखला के भाग एक को देखें। मैंने अपने 19c Oracle होम डायरेक्टरी पर बाइनरी इंस्टॉल की हैं, ORACLE_HOME=d:\app\product\19.0.0\dbhome_1।
Oracle Database को 19c में अपग्रेड करने के लिए निम्न चरणों का उपयोग करें:
नोट: अपग्रेड प्रक्रिया के दौरान कुछ गलत होने की स्थिति में आपके पास एक वैध बैकअप होना चाहिए।
चरण 1: इंस्टॉलेशन फाइल स्टेज करें
19.3 रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) इंस्टॉल फाइल को स्टेज करें ताकि आप अपग्रेड के साथ आगे बढ़ सकें।
चरण 2: प्री-अपग्रेड चरण
प्री-अपग्रेड प्रक्रिया को पूरा करने के लिए निम्न चरण चलाएं:
चरण 2.0: तैयारी
-
मेटालिंक नोट 884522.1 का उपयोग करके Oracle Database Pre-Upgrade Utility डाउनलोड करें। प्री-अपग्रेड टूल चलाने के लिए, निम्न कोड चलाएं:
set ORACLE_HOME=d:\app\product\11.2.0.4\dbhome_1 set ORACLE_BASE=d:\app set ORACLE_SID=ABC set PATH=%ORACLE_HOME%\bin;%PATH% %ORACLE_HOME%\jdk\bin\java -jar <top_dir>\preupgrade.jar TERMINAL TEXT -u sys -p <sys_password>
-
d:\app\cfgtoollogs\ABC\preupgrade\preupgrade.txt में आउटपुट की जांच करें, प्री-अपग्रेड लॉग फाइल की समीक्षा करें और किसी भी त्रुटि को ठीक करें।
-
आप लॉग में AUTOFIXUP वाले सभी भागों के लिए प्री-अपग्रेड फिक्सअप स्क्रिप्ट चला सकते हैं। उदाहरण के लिए, d:\app\cfgtoologs\ABC\preupgrade\preupgrade_fixups.sql चलाने के लिए, निम्न कोड निष्पादित करें:
cd d:
cd d:\app\cfgtoollogs\ABC\preupgrade sqlplus sys/as sysdba @preupgrade_fixups.sql -
preupgrade_fixups.sql से आउटपुट की समीक्षा करें और शेष मैनुअल चरण निष्पादित करें।
चरण 2.1: pfile बैक अप करें
pfile का बैकअप लेने के लिए निम्न कमांड चलाएं:
SQL> create pfile='d:\app\init_ABC.ora' from spfile;
चरण 2.2: अमान्य ऑब्जेक्ट्स हटाएं
SQL Plus से utlrp.sql स्क्रिप्ट चलाकर अमान्य ऑब्जेक्ट्स को कंपाइल करें। सुनिश्चित करें कि sys/system स्कीमा में कोई अमान्य ऑब्जेक्ट न रहे। बाद में पोस्ट-अपग्रेड चरणों के दौरान मिलान के लिए अन्य सभी अमान्य ऑब्जेक्ट्स को एक अलग टेबल में सहेजें।
SQL>@?/rdbms/admin/utlrp.sql SQL> create table system.invalids_before_upgrade as select * From dba_invalid_objects;
चरण 2.3: EM रिपॉजिटरी हटाएं
निम्न चरणों का उपयोग करके EM रिपॉजिटरी हटाएं:
emremove.sql स्क्रिप्ट को 19c होम से 11g होम में कॉपी करें:
copy d:\app\product\19.0.0\dbhome_1\rdbms\admin\emremove.sql d:\app\product\11.2.0.4\dbhome_1\rdbms\admin cd d:\app\product\11.2.0.4\dbhome_1\rdbms\admin sqlplus sys/<password> as sysdba SET ECHO ON; SET SERVEROUTPUT ON; @emremove.sql
चरण 2.4: OLAP कैटलॉग हटाएं
निम्न चरणों का उपयोग करके OLAP कैटलॉग हटाएं:
cd d:\app\product\11.2.0.4\dbhome_1\olap\admin\ sqlplus sys/<password> as sysdba @catnoamd.sql
चरण 2.5: APEX हटाएं
यदि आप एप्लिकेशन एक्सप्रेस (APEX) का उपयोग नहीं कर रहे हैं, तो आप निम्न कमांड चलाकर इसे हटा सकते हैं:
cd d:\app\product\11.2.0.4\dbhome_1\apex sqlplus sys/<password> as sysdba @apxremov.sql drop package htmldb_system; drop public synonym htmldb_system;
चरण 2.6: RECYCLEBIN पर्ज करें
निम्न कमांड का उपयोग करके DBA RECYCLEBIN पर्ज करें:
PURGE DBA_RECYCLEBIN;
चरण 2.7: डिक्शनरी आँकड़े एकत्र करें
निम्न कमांड का उपयोग करके डिक्शनरी आँकड़े एकत्र करें:
EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;
पुष्टि करने के लिए प्री-अपग्रेड टूल को फिर से चलाएं कि सब कुछ तैयार है।
चरण 3.0: अपग्रेड चरण
अपग्रेड करने के लिए निम्न अपग्रेड चरण चलाएं:
चरण 3.1: अपग्रेड निष्पादित करें
अपग्रेड करने के लिए निम्न चरण चलाएं:
-
Oracle 11g डेटाबेस को शट डाउन करें।
-
Oracle डेटाबेस को शट डाउन करने के बाद, एडमिन विकल्प के साथ CMD खोलें और कमांड प्रॉम्प्ट से निम्न चरण चलाकर सभी Oracle 11g Windows सेवाओं को हटाएं:
set ORACLE_HOME=d:\app\product\19.0.0\dbhome_1 set PATH=%ORACLE_HOME%\bin;%PATH% set ORACLE_SID=ABC sc delete OracleJobSchedulerABC sc delete OracleMTSRecoveryService sc delete OracleServiceABC sc delete OracleVssWriterABC
-
निम्न कमांड चलाकर Oracle 19c Windows सेवा बनाएं:
d:\app\product\19.0.0\dbhome_1\bin\ORADIM -NEW -SID ABC -SYSPWD ********* -STARTMODE AUTO -PFILE D:\app\product\19.0.0\dbhome_1\database\INITABC.ORA
-
Oracle 19c Windows सेवाएं बनने के बाद, सेवाएं शुरू करें।
चरण 3.2: Oracle डेटाबेस शुरू करें
19C वातावरण से Oracle डेटाबेस को अपग्रेड मोड में शुरू करें।
Oracle डेटाबेस के अपग्रेड मोड में शुरू होने के बाद, निम्न चरण निष्पादित करें:
-
निम्न कमांड चलाएं:
cd d:\app\product\19.0.0\dbhome_1\bin
-
Windows कमांड प्रॉम्प्ट से dbupgrade यूटिलिटी निष्पादित करें।
-
अपग्रेड पूरा होने के बाद, डेटाबेस शुरू करें और निम्न कमांड चलाएं:
SQL> @?\rdbms\admin\utlrp.sql
चरण 4.0: पोस्ट-अपग्रेड चरण
यदि अपग्रेड सफल होता है, तो पोस्ट-अपग्रेड फिक्सअप स्क्रिप्ट चलाएं:
d:\ cd d:\app\cfgtoollogs\ABC\preupgrade sqlplus sys/<password> as sysdba @postupgrade_fixups.sql
चरण 4.1: टाइम ज़ोन अपग्रेड करें
पोस्ट-अपग्रेड फिक्सअप स्क्रिप्ट चलाने के बाद, टाइम ज़ोन अपग्रेड करने के लिए निम्न कमांड चलाएं:
sqlplus / as sysdba <<EOF -- वर्तमान सेटिंग्स जांचें। SELECT * FROM v$timezone_file; SHUTDOWN IMMEDIATE; STARTUP UPGRADE; -- नवीनतम संस्करण में अपग्रेड शुरू करें। SET SERVEROUTPUT ON DECLARE l_tz_version PLS_INTEGER; BEGIN l_tz_version := DBMS_DST.get_latest_timezone_version; DBMS_OUTPUT.put_line('l_tz_version=' || l_tz_version); DBMS_DST.begin_upgrade(l_tz_version); END; / SHUTDOWN IMMEDIATE; STARTUP; -- अपग्रेड करें। SET SERVEROUTPUT ON DECLARE l_failures PLS_INTEGER; BEGIN DBMS_DST.upgrade_database(l_failures); DBMS_OUTPUT.put_line('DBMS_DST.upgrade_database : l_failures=' || l_failures); DBMS_DST.end_upgrade(l_failures); DBMS_OUTPUT.put_line('DBMS_DST.end_upgrade : l_failures=' || l_failures); END; / -- टाइम ज़ोन सत्यापित करें। SELECT * FROM v$timezone_file; COLUMN property_name FORMAT A30 COLUMN property_value FORMAT A20 SELECT property_name, property_value FROM database_properties WHERE property_name LIKE 'DST_%' ORDER BY property_name; exit; SQL> select TZ_VERSION from registry$database;
यदि TZ_VERSION पुराना संस्करण दिखाता है, तो निम्न कमांड चलाएं:
SQL>update registry$database set TZ_VERSION = (select version FROM v$timezone_file); SQL>commit; SQL>select TZ_VERSION from registry$database; TZ_VERSION ---------- 32
चरण 4.2: ऑब्जेक्ट आँकड़े एकत्र करें
निम्न कमांड चलाकर फिक्स्ड ऑब्जेक्ट आँकड़े एकत्र करें:
sqlplus / as sysdba <<EOF EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS; exit;
चरण 4.3: डिक्शनरी आँकड़े एकत्र करें
अपग्रेड के बाद डिक्शनरी आँकड़े एकत्र करने के लिए निम्न स्टेटमेंट चलाएं:
EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS;
चरण 4.4: फिक्स्ड मुद्दे सत्यापित करें
यह सत्यापित करने के लिए utlusts.sql चलाएं कि कोई मुद्दे शेष नहीं हैं:
d:\app\product\19.0.0\dbhome_1\rdbms\admin\utlusts.sql TEXT
चरण 4.5: अमान्य ऑब्जेक्ट्स की तुलना करें
चरण 2.2 में सहेजी गई सूची से सभी अमान्य ऑब्जेक्ट्स का मिलान करें।
चरण 4.6: क्लीन अप
अपग्रेड पूरा करने के लिए, निम्न चरण निष्पादित करें:
-
listener.ora, tnsnames.ora, और sqlnet.ora को Oracle 11g Oracle होम डायरेक्टरी से Oracle 19c Oracle होम डायरेक्टरी में कॉपी करें और oracle_home पैरामीटर्स को तदनुसार बदलें।
-
इन सभी फाइलों को d:\app\product\19.0.0\dbhome_1\network\admin में रखें।
नोट: यदि आपको Oracle Database को 11g में डाउनग्रेड करने की आवश्यकता है तो compatible=11.2.0.4 रखें।
निष्कर्ष
उपरोक्त चरण आपको Windows संस्करण 11.2.0.4 में Oracle Database को 19c में आसानी से अपग्रेड करने में मदद करते हैं।
हमारी डेटाबेस सेवाओं के बारे में अधिक जानें।
कोई टिप्पणी करने या प्रश्न पूछने के लिए फीडबैक टैब का उपयोग करें। आप हमसे बातचीत भी शुरू कर सकते हैं।