Upgrade Oracle 11g to 19c using autoupgrade
با سلام خدمت دوستان عزیز
همانجور که پیشتر گفته بودم امروز قصد دارم که آموزش بروز رسانی پایگاه داده Oracle 11g به Oracle 19c با استفاده از ابزار autoupgrade را برای شما بذارم.
پس در ادامه مطلب همراه من باشید که همراه با یک سناریو این کار را انجام دهیم.
ابزار های بروز رسانی پایگاه داده:
1- DBUA
این ابزار یکی از ابزار های گرافیکی ارایه شده توسط شرکت اوراکل برای بروز رسانی پایگاه داده میباشد، که مورد بحث ما نیست.
2- manual upgrade:
در این روش با استفاده با از command line پایگاه داده را به روز میکنیم. به تازگی شرکت اوراکل ابزاری به نام autoupgrade ارایه کرده که این فرایند را ساده و خطا یابی را آسان تر کرده است. کل مراحل اصلی بروز رسانی به صورت زیر میباشد
مختصری در مورد autoupgrade:
فرایند بروز رسانی پایگاه داده تا قبل از autoupgrade یکی از چالشی ترین فرایند هایی بود که یک اوراکل DBA با آن رو به رو بوده است. در صورتی که DBA فرایند ها را به صورت دقیق انجام نمیداد احتمال رخداد خطا خیلی زیاد می بود. اما شرکت اوراکل از ژانویه 2019 در Release Updates, DBJAN2019RU برای پایگاه داده های 12.2c , 18.5c برنامه autoupgrade را عرضه کرد که DBA ها باید آن را از oracle suport دانلود میکردند و استفاده مینمودند. اما شرکت اوراکل از نسخه 19.3c به بعد autoupgrade را در فایل نصب قرار داده و دیگر نیاز به دانلود جدای آن نمیباشید. اما همچنان اورکل مانند OPatch پیشنهاد میکند که همواره از آخرین نسخه autoupgrade استفاده نمایید که از لینک زیر قابل دانلود می باشد.
My Oracle Support Document 2485457.1
اما قبل از شروع بروز رسانی بهتر هست که نگاهی به Compatibility Matrix داشته باشید که بدانید کدام نسخه ها قابل بروز رسانی به صورت مستقیم و کدام نسخه ها باید به صورت غیر مستقیم به 19c بروز رسانی شوند.
My Oracle Support Document 551141.1
در حقیقت autoupgrade یک jar فایل هست که تمامی این فرایند upgrade را اجرا و کنترول میکند. خوب به نظرم بهتره که سناریو رو شروع کنیم مابقی چیز ها رو توی سناریو توضیح خواهم داد.
پیش فرض ها:
پیشفرض من این است که شما یک ماشین OEL7 or OEL6 دارید که روی آن Oracle 11g نصب شده است و قصد دارید که آن را به 19c که هم اکنون به صورت software only نصب شده است بروز رسانی کنید.
1. check OS:
[oracle@uptest ~]$ cat /etc/oracle-release Oracle Linux Server release 7.6
2. check Oracle 11g:
[oracle@uptest ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Sun Jun 28 00:22:01 2020 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select name, open_mode, log_mode, flashback_on from v$database; NAME OPEN_MODE LOG_MODE FLASHBACK_ON --------- -------------------- ------------ ------------------ MASOUDB READ WRITE ARCHIVELOG YES
من برای اینکه راحت بتوانم بین پایگاه داده ها جابجا بشوم یک فایل env19c ساخته ام که با صدا زدن آن environment variables پایگاه داده 19c را مقدار دهی میکنم.
[oracle@uptest ~]$ cat env19c export DB_HOME=/u02/app/oracle/product/19/db_1 ORACLE_BASE=/u02/app/oracle export ORACLE_HOME=$DB_HOME export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
3. check Oracle 19c:
[oracle@uptest ~]$ . env19c [oracle@uptest ~]$ ll $ORACLE_HOME/dbs total 0 [oracle@uptest ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Sun Jun 28 00:35:03 2020 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to an idle instance. SQL>
همانگونه که دیدید پایگاه داده ای بر روی 19c نداریم ولی باینری فایل ها نصب شده اند.
برای بروز رسانی پایگاه داده دقت کنید که همواره باید از پایگاه داد بکاپ تهیه کنید. ما نیز در اینجا با RMAN از پایگاه داده قبل از هر کاری یک نسخه پشتیبان تهیه میکنیم.
[oracle@uptest ~]$ rman target / Recovery Manager: Release 11.2.0.4.0 - Production on Sun Jun 28 00:55:56 2020 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: MASOUDB (DBID=1594539354) RMAN> configure controlfile autobackup on; using target database control file instead of recovery catalog new RMAN configuration parameters: CONFIGURE CONTROLFILE AUTOBACKUP ON; new RMAN configuration parameters are successfully stored RMAN> backup as compressed backupset incremental level 0 database tag='inc0' plus archivelog tag='arch' delete all input; Starting backup at 28-JUN-20 current log archived . . . Finished backup at 28-JUN-20 Starting Control File and SPFILE Autobackup at 28-JUN-20 piece handle=/u01/app/oracle/fast_recovery_area/MASOUDB/autobackup/2020_06_28/o1_mf_s_1044233890_hhhq8lcv_.bkp comment=NONE Finished Control File and SPFILE Autobackup at 28-JUN-20
کار بر روی Oracle 11g را تا همین جا فعلا متوقف میکنیم و اگر autougrade برای بروز رسانی میشکلی در prechecks به مانشان داد که prefixups نتواند آن را حل کند برمیگردیم به پایگاه داد و مشکل را حل میکنیم.
آماده سازی autoupgrade.jar:
اول از همه autoupgrade به سادگی یک jar فایل است که برای اجرای آن نیاز به java 8 به بالا می باشد. خوشبختانه اوراکل در نسخه 19.3c همراه با فایل نصب jdk 8.x را ارایه کرده هست که برای اجرای autoupgrade کافی میباشد. من برای راحتی کار JAVA_HOME را به environment variables اضافه و همچنین java را در path قرار دادم.
[oracle@uptest admin]$ export JAVA_HOME=/u02/app/oracle/product/19/db_1/jdk;
[oracle@uptest admin]$ export PATH=$JAVA_HOME/bin:$PATH;
[oracle@uptest admin]$ which java
/u02/app/oracle/product/19/db_1/jdk/bin/java
[oracle@uptest admin]$ java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
حالا چک میکنیم ببینیم آیا autoupgrade با این نسخه java کار میکند یا خیر
[oracle@uptest ~]$ java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -version build.version 20190207 build.date 2019/02/07 12:35:56 build.label RDBMS_PT.AUTOUPGRADE_LINUX.X64_190205.1800
ولی همانجور که گفتم بهتر است همواره آخرین نسخه را استفاده کنید چون باگ های نسخه های قبلی را احتمالا برطرف کرده اند و امکانات بیشتری دارند
[oracle@uptest ~]$ cd $ORACLE_HOME/rdbms/admin [oracle@uptest admin]$ mv autoupgrade.jar autoupgrade.jar.old [oracle@uptest admin]$ cp ~/autoupgrade.jar . [oracle@uptest admin]$ ll autoupgrade.jar* -rw-r--r--. 1 oracle oinstall 2311549 Jun 28 12:31 autoupgrade.jar -rw-r--r--. 1 oracle oinstall 3360892 Feb 8 2019 autoupgrade.jar.old [oracle@uptest admin]$ java -jar autoupgrade.jar -version build.hash 255dd7d build.version 19.9.0 build.date 2020/04/23 15:01:36 build.max_target_version 19 build.supported_target_versions 12.2,18,19 build.type production
در بالا دیدیم که آخرین وژن autoupgrade هم با این نسخه java سازگار است. در صورت عدم سازگاری برای نمونه با خطا به صورت زیر مواجه خواهید شد.
$ORACLE_HOME/jdk/bin/java -jar autoupgrade.jar -version Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at ...
ساخت config فایل:
برای شروع کار اول از همه یک پوشه به نام upgradeTo19c میسازیم که sample confg و لاگ های فرایند بروز رسانی در آنجا قرار گیرد. سپس یک نمونه از config فایل را در آن ایجاد میکنیم.
[oracle@uptest ~]$ mkdir upgradeTo19c [oracle@uptest ~]$ java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -create_sample_file config ~/upgradeTo19c/config.cfg Created sample configuration file /home/oracle/upgradeTo19c/config.cfg
نمونه فایل کانفیگ به شکل زیر است:
[oracle@uptest upgradeTo19c]$ cat config.cfg # # sample config file # # build version 19.9.0 # build date 2020/04/23 15:01:36 # # # Global configurations # # This directory will include the following # (1) AutoUpgrade's global directory # (2) Any logs, not directly tied to a job # (3) Config files # (4) progress.json and status.json global.autoupg_log_dir=/home/oracle/upgradeTo19c/upg_logs # # Database number 1 # upg1.dbname=employee upg1.start_time=NOW upg1.source_home=/u01/app/oracle/product/11.2.0/dbhome_1 upg1.target_home=/u01/app/oracle/product/19.1.0/dbhome_1 upg1.sid=emp upg1.log_dir=/home/oracle/upgradeTo19c/upg_logs/employee upg1.upgrade_node=uptest upg1.target_version=19 #upg1.run_utlrp=yes #upg1.timezone_upg=yes # # Database number 2 # #upg2.dbname=database name #upg2.start_time=28/06/2020 14:21:58 #upg2.source_home=Path to source version of Oracle database #upg2.target_home=Path to target version of Oracle database #upg2.sid=Value of Oracle SID #upg2.log_dir=Path to log dir #upg2.upgrade_node=uptest # To find out your node name run the hostname utility #upg2.target_version=12.2 #upg2.run_utlrp=[yes|no] #upg2.timezone_upg=[yes|no] # # You can have as many databases as desired # #upgN.dbname=database name #upgN.start_time=dd/mm/yyyy hh:mm:ss | now #upgN.source_home=Path to source version of Oracle database #upgN.target_home=Path to target version of Oracle database #upgN.sid=Value of Oracle SID #upgN.log_dir=Path to log dir #upgN.upgrade_node=upgrade_node # To find out your node name run the hostname utility #upgN.target_version= 18 #upgN.run_utlrp=[yes|no] #upgN.timezone_upg=[yes|no]
در فایل به upg1 , upg2 دقت کنید. autoupgrade این توانایی را دارد که به صورت همزمان چندین پایپگاه داده را به روز رسانی کند. از آنجا که ما فقط یک پایگاه داده برای بروز رسانی داریم فقط upg1 را با توجه به نیاز و محیط خودمان تغییر میدهیم.
global.autoupg_log_dir=/home/oracle/upgradeTo19c/upg_logs upg1.dbname=masoudb upg1.start_time=NOW upg1.source_home=/u01/app/oracle/product/11.2.0.4/db_1 upg1.target_home=/u02/app/oracle/product/19/db_1/ upg1.sid=masoudb upg1.log_dir=/home/oracle/upgradeTo19c/upg_logs/masoudb upg1.upgrade_node=uptest upg1.target_version=19 upg1.restoration=yes upg1.run_utlrp=yes
کانفیگ upg1.restoration=yes درتنظیمات نیست ولی در پایگاه داد ای که Archivelog mode هست لازم است و باید در تنظیمات قرار گیرد.
سوئیچ های مختلف autoupgrade:
- Analyze:
این سوئیچ فقط پایگاه داده را بررسی میکند که آیا برای بروز رسانی آماده هست یا خیر.
- Fixups
این سوئیچ پایگاه داده را بررسی کرده در صورت وجود هر گونه مشکل آن را حل میکند تا پایگاه داده برای بروز رسانی آماده شود.
- Deploy
این سوئیچ پایگاه داده را برروز رسانی میکند در صورت نیاز به رفع مشکل در پایگاه داده مبدا رفع مشکل نیز انجام میدهد.
- upgrade
این سوئیچ پایگاه داده را در صورت عدم دسترسی به Oracle Home پایگاه داده مبدا بروز رسانی میکند.
آنالیز پایگاه داده مبدا برای بروز رسانی:
[oracle@uptest ~]$ . env19c
[oracle@uptest ~]$ java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -config ~/upgradeTo19c/config.cfg -mode analyze
AutoUpgrade tool launched with default options
Processing config file ...
+--------------------------------+
| Starting AutoUpgrade execution |
+--------------------------------+
1 databases will be analyzed
Type 'help' to list console commands
upg> lsj
+----+-------+---------+---------+-------+--------------+--------+--------+--------------------+
|Job#|DB_NAME| STAGE|OPERATION| STATUS| START_TIME|END_TIME| UPDATED| MESSAGE|
+----+-------+---------+---------+-------+--------------+--------+--------+--------------------+
| 100|masoudb|PRECHECKS|PREPARING|RUNNING|20/06/28 19:49| N/A|19:49:12|Loading database inf|
+----+-------+---------+---------+-------+--------------+--------+--------+--------------------+
Total jobs 1
upg> status
---------------- Config -------------------
User configuration file [/home/oracle/upgradeTo19c/config.cfg]
General logs location [/home/oracle/upgradeTo19c/upg_logs/cfgtoollogs/upgrade/auto]
Mode [ANALYZE]
DB upg fatal errors ORA-00600,ORA-07445
DB Post upgrade abort time [60] minutes
DB upg abort time [1440] minutes
DB restore abort time [120] minutes
DB GRP abort time [3] minutes
------------------------ Jobs ------------------------
Total databases in configuration file [1]
Total Non-CDB being processed [1]
Total CDB being processed [0]
Jobs finished successfully [0]
Jobs finished/aborted [0]
Jobs in progress [1]
Jobs stage summary
Job ID: 100
DB name: masoudb
SETUP <1 min
PRECHECKS <1 min (IN PROGRESS)
------------ Resources ----------------
Threads in use [13]
JVM used memory [22] MB
CPU in use [13%]
Processes in use [13]
upg> Job 100 completed
------------------- Final Summary --------------------
Number of databases [ 1 ]
Jobs finished successfully [1]
Jobs failed [0]
Jobs pending [0]
------------- JOBS FINISHED SUCCESSFULLY -------------
Job 100 for masoudb
در بالا با autoupgrade دیتابیس مبدا (11g) را بررسی کردیم که آیا برای بروز رسانی آماده هست یا خیر. شاید به جرات بتوان گفت مهم ترین دستور lsj میباشد که لیست job ها و وضعیت آن ها را مشخص میکند.یکی از مهم ترین اطلاعاتی که lsj در اختیار ما قرار میدهد شماره #Job یا همان شماره job هست. سپس با دستور status به جزئیات job دسترسی پیدا میکنیم. توجه داشته باشید بعد از اینکه job به پایان رسید به صورت خودکار از upg خارج شده و OS برمیگردد.
بیایید یک نگاهی به لاگ آنالیزی که انجام شده بکنیم. اولا مسیر لاگها دارای فرمت زیر میباشند:
global.autoupg_log_dir/upg<n>.dbname/upg<n>.sid/Job#/STAGE
برای مثال ما به صورت زیر است:
/home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/100/prechecks
که دارای فایل های زیر میباشد:
[oracle@uptest prechecks]$ ls -l -rwx------. 1 oracle oinstall 3785 Jun 28 19:49 masoudb_checklist.cfg -rwx------. 1 oracle oinstall 16267 Jun 28 19:49 masoudb_checklist.json -rwx------. 1 oracle oinstall 15553 Jun 28 19:49 masoudb_checklist.xml -rwx------. 1 oracle oinstall 32944 Jun 28 19:49 masoudb_preupgrade.html -rwx------. 1 oracle oinstall 15666 Jun 28 19:49 masoudb_preupgrade.log -rwx------. 1 oracle oinstall 174854 Jun 28 19:49 prechecks_masoudb.log
در لینک زیر میتوانید فایل html را که پایگاه داده مبدا را آنالیز کرده ببینید
درست هست که نتیجه آنالیز مشکلی نشان نمیدهد ولی همواره بهتر است که لاگ آنالیز را مطالعه کنید. و تمام ERROR ها را خودتان رفع کنید. اگر نمیخواهید فایل html را دانلود کنید به masoudb_preupgrade.log را میتوانید در console مشاهده کنید.
[checkname] MIN_RECOVERY_AREA_SIZE [stage] PRECHECKS [fixup_available] YES [runfix] YES [severity] ERROR [action] Set DB_RECOVERY_FILE_DEST_SIZE initialization parameter to at least 8598 MB. Check alert log during the upgrade to ensure there is remaining free space available in the recovery area. [broken rule] DB_RECOVERY_FILE_DEST_SIZE is set at 4182 MB. There is currently 3598 MB of free space remaining, which may not be adequate for the upgrade. Currently: Fast recovery area : /u01/app/oracle/fast_recovery_area Limit : 4182 MB Used : 583 MB Available : 3598 MB [rule] The database has archivelog and flashback enabled, and the upgrade process will need free space to generate archived and flashback logs to the recovery area specified by initialization parameter DB_RECOVERY_FILE_DEST. The logs generated must not overflow the limit set by DB_RECOVERY_FILE_DEST_SIZE, as that can cause the upgrade to not proceed.
این تنها مشکلی هست که وجود دارد که این مشکل را حل میکنیم
[oracle@uptest prechecks]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Sun Jun 28 21:48:40 2020 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> sho parameter db_recovery_file_dest_size NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_recovery_file_dest_size big integer 4182M SQL> alter system set db_recovery_file_dest_size=10G scope=both; System altered. SQL> sho parameter db_recovery_file_dest_size NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_recovery_file_dest_size big integer 10G
انجام بروز رسانی:
با دستور زیر شروع به انجام بروز رسانی میکنیم
[oracle@uptest ~]$ java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -config ~/upgradeTo19c/config.cfg -mode deploy AutoUpgrade tool launched with default options Processing config file ... +--------------------------------+ | Starting AutoUpgrade execution | +--------------------------------+ 1 databases will be processed Type 'help' to list console commands upg>
با دستور زیر وضعیت job را به جزئیات میتوان دید
upg> status ---------------- Config ------------------- User configuration file [/home/oracle/upgradeTo19c/config.cfg] General logs location [/home/oracle/upgradeTo19c/upg_logs/cfgtoollogs/upgrade/auto] Mode [DEPLOY] DB upg fatal errors ORA-00600,ORA-07445 DB Post upgrade abort time [60] minutes DB upg abort time [1440] minutes DB restore abort time [120] minutes DB GRP abort time [3] minutes ------------------------ Jobs ------------------------ Total databases in configuration file [1] Total Non-CDB being processed [1] Total CDB being processed [0] Jobs finished successfully [0] Jobs finished/aborted [0] Jobs in progress [1] Jobs stage summary Job ID: 103 DB name: masoudb SETUP <1 min GRP <1 min PREUPGRADE <1 min PRECHECKS <1 min PREFIXUPS <1 min DRAIN <1 min DBUPGRADE <1 min (IN PROGRESS) ------------ Resources ---------------- Threads in use [39] JVM used memory [142] MB CPU in use [13%] Processes in use [21]
همچنین بهتر است همواره وضعیت job را با lsj ببینید. در نظر داشته باشید که وضعیت job هر دو دقیقه یک بار بروز میشود
upg> lsj +----+-------+---------+---------+-------+--------------+--------+--------+-----------+ |Job#|DB_NAME| STAGE|OPERATION| STATUS| START_TIME|END_TIME| UPDATED| MESSAGE| +----+-------+---------+---------+-------+--------------+--------+--------+-----------+ | 103|masoudb|DBUPGRADE|EXECUTING|RUNNING|20/06/28 22:41| N/A|22:49:12|6%Upgraded | +----+-------+---------+---------+-------+--------------+--------+--------+-----------+ Total jobs 1 upg> lsj +----+-------+---------+---------+-------+--------------+--------+--------+------------+ |Job#|DB_NAME| STAGE|OPERATION| STATUS| START_TIME|END_TIME| UPDATED| MESSAGE| +----+-------+---------+---------+-------+--------------+--------+--------+------------+ | 103|masoudb|DBUPGRADE|EXECUTING|RUNNING|20/06/28 22:41| N/A|22:55:17|21%Upgraded | +----+-------+---------+---------+-------+--------------+--------+--------+------------+ Total jobs 1 upg> lsj +----+-------+---------+---------+-------+--------------+--------+--------+------------+ |Job#|DB_NAME| STAGE|OPERATION| STATUS| START_TIME|END_TIME| UPDATED| MESSAGE| +----+-------+---------+---------+-------+--------------+--------+--------+------------+ | 103|masoudb|DBUPGRADE|EXECUTING|RUNNING|20/06/28 22:41| N/A|23:04:24|39%Upgraded | +----+-------+---------+---------+-------+--------------+--------+--------+------------+ Total jobs 1 upg> lsj +----+-------+---------+---------+-------+--------------+--------+--------+------------+ |Job#|DB_NAME| STAGE|OPERATION| STATUS| START_TIME|END_TIME| UPDATED| MESSAGE| +----+-------+---------+---------+-------+--------------+--------+--------+------------+ | 103|masoudb|DBUPGRADE|EXECUTING|RUNNING|20/06/28 22:41| N/A|23:22:37|60%Upgraded | +----+-------+---------+---------+-------+--------------+--------+--------+------------+ Total jobs 1 upg> lsj +----+-------+---------+---------+-------+--------------+--------+--------+------------+ |Job#|DB_NAME| STAGE|OPERATION| STATUS| START_TIME|END_TIME| UPDATED| MESSAGE| +----+-------+---------+---------+-------+--------------+--------+--------+------------+ | 103|masoudb|DBUPGRADE|EXECUTING|RUNNING|20/06/28 22:41| N/A|23:28:41|75%Upgraded | +----+-------+---------+---------+-------+--------------+--------+--------+------------+ Total jobs 1 upg> lsj +----+-------+---------+---------+-------+--------------+--------+--------+------------+ |Job#|DB_NAME| STAGE|OPERATION| STATUS| START_TIME|END_TIME| UPDATED| MESSAGE| +----+-------+---------+---------+-------+--------------+--------+--------+------------+ | 103|masoudb|DBUPGRADE|EXECUTING|RUNNING|20/06/28 22:41| N/A|23:34:45|91%Upgraded | +----+-------+---------+---------+-------+--------------+--------+--------+------------+ Total jobs 1 upg> lsj +----+-------+----------+---------+-------+--------------+--------+--------+--------------------+ |Job#|DB_NAME| STAGE|OPERATION| STATUS| START_TIME|END_TIME| UPDATED| MESSAGE| +----+-------+----------+---------+-------+--------------+--------+--------+--------------------+ | 103|masoudb|POSTFIXUPS|EXECUTING|RUNNING|20/06/28 22:41| N/A|23:47:10|Loading database inf| +----+-------+----------+---------+-------+--------------+--------+--------+--------------------+ Total jobs 1
و باز هم جزئیات بیشتر از مراحل job
upg> status -job 103 Progress ----------------------------------- Start time: 20/06/28 22:41 Elapsed (min): 64 End time: N/A Last update: 2020-06-28T23:45:16.006 Stage: POSTFIXUPS Operation: EXECUTING Status: RUNNING Pending stages: 2 Stage summary: SETUP <1 min GRP <1 min PREUPGRADE <1 min PRECHECKS <1 min PREFIXUPS <1 min DRAIN <1 min DBUPGRADE 60 min POSTCHECKS <1 min POSTFIXUPS 2 min (IN PROGRESS) Job Logs Locations ----------------------------------- Logs Base: /home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb Job logs: /home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/103 Stage logs: /home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/103/postfixups TimeZone: /home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/temp Additional information ----------------------------------- Details: +--------+--------------------+--------+ |DATABASE| FIXUP| STATUS| +--------+--------------------+--------+ | masoudb| POST_DICTIONARY|FINISHED| | masoudb| POST_FIXED_OBJECTS|FINISHED| | masoudb|OLD_TIME_ZONES_EXIST| STARTED| +--------+--------------------+--------+ Error Details: None
لاگ فایل بروز رسانی در آدرس زیر میتوان یافت
[oracle@uptest ~]$ cat /home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/103/dbupgrade/autoupgrade20200628224120masoudb.log Argument list for [/u02/app/oracle/product/19/db_1/rdbms/admin/catctl.pl] For Oracle internal use only A = 1 Run in c = 0 Do not run in C = 0 Input Directory d = /u02/app/oracle/product/19/db_1/rdbms/admin Echo OFF e = 1 Simulate E = 0 Forced cleanup F = 0 Log Id i = 20200628224120masoudb Child Process I = 0 Log Dir l = /home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/103/dbupgrade Priority List Name L = 0 Upgrade Mode active M = 0 SQL Process Count n = 0 SQL PDB Process Count N = 0 Open Mode Normal o = 0 Start Phase p = 0 End Phase P = 0 Reverse Order r = 0 AutoUpgrade Resume R = 0 Script s = 0 Serial Run S = 0 RO User Tablespaces T = 0 Display Phases y = 0 Debug catcon.pm z = 0 Debug catctl.pl Z = 0 catctl.pl VERSION: [19.0.0.0.0] STATUS: [Production] BUILD: [RDBMS_19.3.0.0.0DBRU_LINUX.X64_190417] /u02/app/oracle/product/19/db_1/rdbms/admin/orahome = [/u02/app/oracle/product/19/db_1] /u02/app/oracle/product/19/db_1/bin/orabasehome = [/u02/app/oracle/product/19/db_1] catctlGetOraBaseLogDir = [/u02/app/oracle/product/19/db_1] Analyzing file /u02/app/oracle/product/19/db_1/rdbms/admin/catupgrd.sql Log file directory = [/home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/103/dbupgrade] catcon::set_log_file_base_path: ALL catcon-related output will be written to [/home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/103/dbupgrade/catupgrd20200628224120masoudb_catcon_15604.lst] catcon::set_log_file_base_path: catcon: See [/home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/103/dbupgrade/catupgrd20200628224120masoudb*.log] files for output generated by scripts catcon::set_log_file_base_path: catcon: See [/home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/103/dbupgrade/catupgrd20200628224120masoudb_*.lst] files for spool files, if any Number of Cpus = 4 Database Name = masoudb DataBase Version = 11.2.0.4.0 Parallel SQL Process Count = 4 Components in [masoudb] Installed [APEX APS CATALOG CATJAVA CATPROC CONTEXT JAVAVM ORDIM OWM SDO XDB XML XOQ] Not Installed [DV EM MGW ODM OLS RAC WK] ------------------------------------------------------ Phases [0-107] Start Time:[2020_06_28 22:43:22] ------------------------------------------------------ *********** Executing Change Scripts *********** Serial Phase #:0 [masoudb] Files:1 Time: 168s *************** Catalog Core SQL *************** Serial Phase #:1 [masoudb] Files:5 Time: 89s Restart Phase #:2 [masoudb] Files:1 Time: 3s *********** Catalog Tables and Views *********** Parallel Phase #:3 [masoudb] Files:19 Time: 23s Restart Phase #:4 [masoudb] Files:1 Time: 4s ************* Catalog Final Scripts ************ Serial Phase #:5 [masoudb] Files:7 Time: 33s ***************** Catproc Start **************** Serial Phase #:6 [masoudb] Files:1 Time: 25s ***************** Catproc Types **************** Serial Phase #:7 [masoudb] Files:2 Time: 18s Restart Phase #:8 [masoudb] Files:1 Time: 4s **************** Catproc Tables **************** Parallel Phase #:9 [masoudb] Files:67 Time: 34s Restart Phase #:10 [masoudb] Files:1 Time: 4s ************* Catproc Package Specs ************ Serial Phase #:11 [masoudb] Files:1 Time: 113s Restart Phase #:12 [masoudb] Files:1 Time: 3s ************** Catproc Procedures ************** Parallel Phase #:13 [masoudb] Files:94 Time: 12s Restart Phase #:14 [masoudb] Files:1 Time: 3s Parallel Phase #:15 [masoudb] Files:120 Time: 18s Restart Phase #:16 [masoudb] Files:1 Time: 4s Serial Phase #:17 [masoudb] Files:22 Time: 6s Restart Phase #:18 [masoudb] Files:1 Time: 5s ***************** Catproc Views **************** Parallel Phase #:19 [masoudb] Files:32 Time: 26s Restart Phase #:20 [masoudb] Files:1 Time: 4s Serial Phase #:21 [masoudb] Files:3 Time: 22s Restart Phase #:22 [masoudb] Files:1 Time: 3s Parallel Phase #:23 [masoudb] Files:25 Time: 271s Restart Phase #:24 [masoudb] Files:1 Time: 4s Parallel Phase #:25 [masoudb] Files:12 Time: 180s Restart Phase #:26 [masoudb] Files:1 Time: 3s Serial Phase #:27 [masoudb] Files:1 Time: 0s Serial Phase #:28 [masoudb] Files:3 Time: 7s Serial Phase #:29 [masoudb] Files:1 Time: 0s Restart Phase #:30 [masoudb] Files:1 Time: 4s *************** Catproc CDB Views ************** Serial Phase #:31 [masoudb] Files:1 Time: 2s Restart Phase #:32 [masoudb] Files:1 Time: 4s Serial Phase #:34 [masoudb] Files:1 Time: 0s ***************** Catproc PLBs ***************** Serial Phase #:35 [masoudb] Files:293 Time: 35s Serial Phase #:36 [masoudb] Files:1 Time: 0s Restart Phase #:37 [masoudb] Files:1 Time: 4s Serial Phase #:38 [masoudb] Files:6 Time: 11s Restart Phase #:39 [masoudb] Files:1 Time: 4s *************** Catproc DataPump *************** Serial Phase #:40 [masoudb] Files:3 Time: 97s Restart Phase #:41 [masoudb] Files:1 Time: 4s ****************** Catproc SQL ***************** Parallel Phase #:42 [masoudb] Files:13 Time: 184s Restart Phase #:43 [masoudb] Files:1 Time: 3s Parallel Phase #:44 [masoudb] Files:11 Time: 17s Restart Phase #:45 [masoudb] Files:1 Time: 2s Parallel Phase #:46 [masoudb] Files:3 Time: 4s Restart Phase #:47 [masoudb] Files:1 Time: 4s ************* Final Catproc scripts ************ Serial Phase #:48 [masoudb] Files:1 Time: 17s Restart Phase #:49 [masoudb] Files:1 Time: 4s ************** Final RDBMS scripts ************* Serial Phase #:50 [masoudb] Files:1 Time: 33s ************ Upgrade Component Start *********** Serial Phase #:51 [masoudb] Files:1 Time: 2s Restart Phase #:52 [masoudb] Files:1 Time: 4s ********** Upgrading Java and non-Java ********* Serial Phase #:53 [masoudb] Files:2 Time: 696s ***************** Upgrading XDB **************** Restart Phase #:54 [masoudb] Files:1 Time: 2s Serial Phase #:56 [masoudb] Files:3 Time: 51s Serial Phase #:57 [masoudb] Files:3 Time: 8s Parallel Phase #:58 [masoudb] Files:10 Time: 7s Parallel Phase #:59 [masoudb] Files:25 Time: 8s Serial Phase #:60 [masoudb] Files:4 Time: 16s Serial Phase #:61 [masoudb] Files:1 Time: 0s Serial Phase #:62 [masoudb] Files:32 Time: 9s Serial Phase #:63 [masoudb] Files:1 Time: 0s Parallel Phase #:64 [masoudb] Files:6 Time: 10s Serial Phase #:65 [masoudb] Files:2 Time: 37s Serial Phase #:66 [masoudb] Files:3 Time: 137s **************** Upgrading ORDIM *************** Restart Phase #:67 [masoudb] Files:1 Time: 4s Serial Phase #:69 [masoudb] Files:1 Time: 5s Parallel Phase #:70 [masoudb] Files:2 Time: 60s Restart Phase #:71 [masoudb] Files:1 Time: 3s Parallel Phase #:72 [masoudb] Files:2 Time: 4s Serial Phase #:73 [masoudb] Files:2 Time: 5s ***************** Upgrading SDO **************** Restart Phase #:74 [masoudb] Files:1 Time: 4s Serial Phase #:76 [masoudb] Files:1 Time: 58s Serial Phase #:77 [masoudb] Files:2 Time: 7s Restart Phase #:78 [masoudb] Files:1 Time: 3s Serial Phase #:79 [masoudb] Files:1 Time: 35s Restart Phase #:80 [masoudb] Files:1 Time: 3s Parallel Phase #:81 [masoudb] Files:3 Time: 76s Restart Phase #:82 [masoudb] Files:1 Time: 4s Serial Phase #:83 [masoudb] Files:1 Time: 11s Restart Phase #:84 [masoudb] Files:1 Time: 4s Serial Phase #:85 [masoudb] Files:1 Time: 20s Restart Phase #:86 [masoudb] Files:1 Time: 4s Parallel Phase #:87 [masoudb] Files:4 Time: 117s Restart Phase #:88 [masoudb] Files:1 Time: 4s Serial Phase #:89 [masoudb] Files:1 Time: 5s Restart Phase #:90 [masoudb] Files:1 Time: 3s Serial Phase #:91 [masoudb] Files:2 Time: 20s Restart Phase #:92 [masoudb] Files:1 Time: 2s Serial Phase #:93 [masoudb] Files:1 Time: 3s Restart Phase #:94 [masoudb] Files:1 Time: 3s ******* Upgrading ODM, WK, EXF, RUL, XOQ ******* Serial Phase #:95 [masoudb] Files:1 Time: 17s Restart Phase #:96 [masoudb] Files:1 Time: 2s *********** Final Component scripts *********** Serial Phase #:97 [masoudb] Files:1 Time: 3s ************* Final Upgrade scripts ************ Serial Phase #:98 [masoudb] Files:1 Time: 134s ******************* Migration ****************** Serial Phase #:99 [masoudb] Files:1 Time: 24s *** End PDB Application Upgrade Pre-Shutdown *** Serial Phase #:100 [masoudb] Files:1 Time: 2s Serial Phase #:101 [masoudb] Files:1 Time: 0s Serial Phase #:102 [masoudb] Files:1 Time: 43s ***************** Post Upgrade ***************** Serial Phase #:103 [masoudb] Files:1 Time: 18s **************** Summary report **************** Serial Phase #:104 [masoudb] Files:1 Time: 2s *** End PDB Application Upgrade Post-Shutdown ** Serial Phase #:105 [masoudb] Files:1 Time: 2s Serial Phase #:106 [masoudb] Files:1 Time: 0s Serial Phase #:107 [masoudb] Files:1 Time: 58s ------------------------------------------------------ Phases [0-107] End Time:[2020_06_28 23:38:03] ------------------------------------------------------ Grand Total Time: 3282s LOG FILES: (/home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/103/dbupgrade/catupgrd20200628224120masoudb*.log) Upgrade Summary Report Located in: /home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/103/dbupgrade/upg_summary.log Argument list for [/u02/app/oracle/product/19/db_1/rdbms/admin/catctl.pl] For Oracle internal use only A = 1 Run in c = 0 Do not run in C = 0 Input Directory d = /home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/temp Echo OFF e = 1 Simulate E = 0 Forced cleanup F = 0 Log Id i = 20200628224120masoudb Child Process I = 0 Log Dir l = /home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/103/dbupgrade Priority List Name L = 0 Upgrade Mode active M = 0 SQL Process Count n = 0 SQL PDB Process Count N = 0 Open Mode Normal o = 0 Start Phase p = 0 End Phase P = 0 Reverse Order r = 0 AutoUpgrade Resume R = 0 Script s = 0 Serial Run S = 1 RO User Tablespaces T = 0 Display Phases y = 0 Debug catcon.pm z = 0 Debug catctl.pl Z = 0 catctl.pl VERSION: [19.0.0.0.0] STATUS: [Production] BUILD: [RDBMS_19.3.0.0.0DBRU_LINUX.X64_190417] /u02/app/oracle/product/19/db_1/rdbms/admin/orahome = [/u02/app/oracle/product/19/db_1] /u02/app/oracle/product/19/db_1/bin/orabasehome = [/u02/app/oracle/product/19/db_1] catctlGetOraBaseLogDir = [/u02/app/oracle/product/19/db_1] Analyzing file /home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/temp/masoudb_autocompile.sql Log file directory = [/home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/103/dbupgrade] catcon::set_log_file_base_path: ALL catcon-related output will be written to [/home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/103/dbupgrade/masoudb_autocompile20200628224120masoudb_catcon_22930.lst] catcon::set_log_file_base_path: catcon: See [/home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/103/dbupgrade/masoudb_autocompile20200628224120masoudb*.log] files for output generated by scripts catcon::set_log_file_base_path: catcon: See [/home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/103/dbupgrade/masoudb_autocompile20200628224120masoudb_*.lst] files for spool files, if any Number of Cpus = 4 Database Name = masoudb DataBase Version = 19.0.0.0.0 Components in [masoudb] Installed [APEX APS CATALOG CATJAVA CATPROC CONTEXT JAVAVM ORDIM OWM SDO XDB XML XOQ] Not Installed [DV EM MGW ODM OLS RAC WK] PDB Serial Inclusion:[0] Exclusion:[0] Running File In Serial Order FileName is /home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/temp/masoudb_autocompile.sql Grand Total Time: 191s
همچنین وضعیت component هایی که بروز شدن در لاگ زیر در پایان قابل مشاهده می باشند
[oracle@uptest ~]$ cat /home/oracle/upgradeTo19c/upg_logs/masoudb/masoudb/103/dbupgrade/upg_summary.log Oracle Database Release 19 Post-Upgrade Status Tool 06-28-2020 23:37:0 Database Name: MASOUDB Component Current Full Elapsed Time Name Status Version HH:MM:SS Oracle Server UPGRADED 19.3.0.0.0 00:25:19 JServer JAVA Virtual Machine UPGRADED 19.3.0.0.0 00:06:57 Oracle XDK UPGRADED 19.3.0.0.0 00:01:01 Oracle Database Java Packages UPGRADED 19.3.0.0.0 00:00:24 OLAP Analytic Workspace UPGRADED 19.3.0.0.0 00:00:18 Oracle Text UPGRADED 19.3.0.0.0 00:01:13 Oracle Workspace Manager UPGRADED 19.3.0.0.0 00:01:36 Oracle Real Application Clusters OPTION OFF 19.3.0.0.0 00:00:00 Oracle XML Database UPGRADED 19.3.0.0.0 00:04:37 Oracle Multimedia UPGRADED 19.3.0.0.0 00:01:13 Spatial UPGRADED 19.3.0.0.0 00:06:09 Oracle OLAP API UPGRADED 19.3.0.0.0 00:00:14 Datapatch 00:02:06 Final Actions 00:02:37 Post Upgrade 00:00:15 Total Upgrade Time: 00:52:46
اما در مرحله آخر باید پارامتر compatible را به 19.3.0.0.0 تغییر دهیم تا بتوانیم از قابلیت های این ورژن استفاده کرد. قبل از اینکه پارامتر را تغییر دهیم باید guaranteed restore point را حذف کنید
[oracle@uptest dbs]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jun 29 00:23:24 2020 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 SQL> sho parameter compatible NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ compatible string 11.2.0.4 noncdb_compatible boolean FALSE SQL> SQL> select name from v$restore_point; NAME -------------------------------------------------------------------------------- AUTOUPGRADE_9212_MASOUDB112040 SQL> drop restore point AUTOUPGRADE_9212_MASOUDB112040; Restore point dropped. SQL> alter system set compatible='19.3.0.0' scope=spfile; System altered. SQL> startup force; ORACLE instance started. Total System Global Area 2147481656 bytes Fixed Size 8898616 bytes Variable Size 486539264 bytes Database Buffers 1644167168 bytes Redo Buffers 7876608 bytes Database mounted. Database opened. SQL> sho parameter compatible NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ compatible string 19.3.0.0 noncdb_compatible boolean FALSE
همانگونه که مشاهده نمودید پایگاه داده به درستی از 11g به 19c بروز رسانی شد.
برای اطلاعات بیشتر در مورد autoupgrade به سایت اوراکل در لینک زیر سر بزنید
Using AutoUpgrade for Oracle Database Upgrades
دوستان عزیز امیدوارم مطلب کاربردی بوده باشد.
شاد و پیروز باشید.
- ۹۹/۰۴/۰۷
با سلام و خدا قوت
ممنون از مطلب مفید و کاربردی شما.
دو سوال داشتم،
1- آیا در اوراکل لینوکس 6 میتوان دیتابیس 19 را نصب کرد؟ چون در داکیومنتهای 19 نوشته که نیاز به اوراکل لینوکس 7.4 به بالا میباشد.
2-بعد از آپگرید 11 به 19 آیا دیتابیس آپگرید شده بصورت یک pdb خواهد بود؟ (نام cdb و pdb دیتابیس 19 چه خواهد بود)