A while back I did blog about the new -R
option of the parallel upgrade tool catctl.pl in Oracle Database 12.2.
And in case you will do a real Multitenant upgrade and fail – as it happened to me today due to “no space left on device
” (no audit files could be written anymore) I tried the -R
option as well based on Joe’s (our lead catctl.pl
developer) recommendation:
$ $ORACLE_HOME/perl/bin/perl catctl.pl -n 6 -R -l /home/oracle/mike2 catupgrd.sql Argument list for [catctl.pl] Run in c = 0 Do not run in C = 0 Input Directory d = 0 Echo OFF e = 1 Simulate E = 0 Forced cleanup F = 0 Log Id i = 0 Child Process I = 0 Log Dir l = /home/oracle/mike2 Priority List Name L = 0 Upgrade Mode active M = 0 SQL Process Count n = 6 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 = 1 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: [12.2.0.1.0] STATUS: [production] BUILD: [RDBMS_12.2.0.1.0_LINUX.X64_170125] /u01/app/oracle/product/12.2.0.1/rdbms/admin/orahome = [/u01/app/oracle/product/12.2.0.1] /u01/app/oracle/product/12.2.0.1/bin/orabasehome = [/u01/app/oracle/product/12.2.0.1] catctlGetOrabase = [/u01/app/oracle/product/12.2.0.1] Analyzing file /u01/app/oracle/product/12.2.0.1/rdbms/admin/catupgrd.sql Log file directory = [/home/oracle/mike2] catcon: ALL catcon-related output will be written to [/home/oracle/mike2/catupgrd_catcon_10640.lst] catcon: See [/home/oracle/mike2/catupgrd*.log] files for output generated by scripts catcon: See [/home/oracle/mike2/catupgrd_*.lst] files for spool files, if any Number of Cpus = 2 Database Name = CDB1 DataBase Version = 12.2.0.1.0 Parallel SQL Process Count (PDB) = 2 Parallel SQL Process Count (CDB$ROOT) = 6 Concurrent PDB Upgrades = 3 PDB$SEED Open Mode = [READ ONLY] NO UPGRADE WILL BE PERFORMED PDB1 Open Mode = [MOUNTED] NO UPGRADE WILL BE PERFORMED PDB2 Open Mode = [MOUNTED] NO UPGRADE WILL BE PERFORMED PDB4 Open Mode = [READ WRITE] NO UPGRADE WILL BE PERFORMED Generated PDB Inclusion:[PDB3 PDB5] Components in [CDB$ROOT] Installed [CATALOG CATPROC XDB] Not Installed [APEX APS CATJAVA CONTEXT DV EM JAVAVM MGW ODM OLS ORDIM OWM RAC SDO WK XML XOQ] ** Database CDB$ROOT has already been upgraded successfully. ** Time: 2s Start processing of PDB3 [/u01/app/oracle/product/12.2.0.1/perl/bin/perl catctl.pl -n 2 -R -l /home/oracle/mike2 -I -i pdb3 -c 'PDB3' catupgrd.sql] Start processing of PDB5 [/u01/app/oracle/product/12.2.0.1/perl/bin/perl catctl.pl -n 2 -R -l /home/oracle/mike2 -I -i pdb5 -c 'PDB5' catupgrd.sql] Argument list for [catctl.pl] Run in c = PDB3 Do not run in C = 0 Input Directory d = 0 Echo OFF e = 1 Simulate E = 0 Forced cleanup F = 0 Log Id i = pdb3 Child Process I = 1 Log Dir l = /home/oracle/mike2 Priority List Name L = 0 Upgrade Mode active M = 0 SQL Process Count n = 2 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 = 1 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: [12.2.0.1.0] STATUS: [production] BUILD: [RDBMS_12.2.0.1.0_LINUX.X64_170125] Argument list for [catctl.pl] Run in c = PDB5 Do not run in C = 0 Input Directory d = 0 Echo OFF e = 1 Simulate E = 0 Forced cleanup F = 0 Log Id i = pdb5 Child Process I = 1 Log Dir l = /home/oracle/mike2 Priority List Name L = 0 Upgrade Mode active M = 0 SQL Process Count n = 2 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 = 1 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: [12.2.0.1.0] STATUS: [production] BUILD: [RDBMS_12.2.0.1.0_LINUX.X64_170125] /u01/app/oracle/product/12.2.0.1/rdbms/admin/orahome = [/u01/app/oracle/product/12.2.0.1] /u01/app/oracle/product/12.2.0.1/rdbms/admin/orahome = [/u01/app/oracle/product/12.2.0.1] /u01/app/oracle/product/12.2.0.1/bin/orabasehome = [/u01/app/oracle/product/12.2.0.1] catctlGetOrabase = [/u01/app/oracle/product/12.2.0.1] Analyzing file /u01/app/oracle/product/12.2.0.1/rdbms/admin/catupgrd.sql Log file directory = [/home/oracle/mike2] /u01/app/oracle/product/12.2.0.1/bin/orabasehome = [/u01/app/oracle/product/12.2.0.1] catctlGetOrabase = [/u01/app/oracle/product/12.2.0.1] Analyzing file /u01/app/oracle/product/12.2.0.1/rdbms/admin/catupgrd.sql Log file directory = [/home/oracle/mike2] catcon: ALL catcon-related output will be written to [/home/oracle/mike2/catupgrdpdb5_catcon_10837.lst] catcon: See [/home/oracle/mike2/catupgrdpdb5*.log] files for output generated by scripts catcon: See [/home/oracle/mike2/catupgrdpdb5_*.lst] files for spool files, if any catcon: ALL catcon-related output will be written to [/home/oracle/mike2/catupgrdpdb3_catcon_10835.lst] catcon: See [/home/oracle/mike2/catupgrdpdb3*.log] files for output generated by scripts catcon: See [/home/oracle/mike2/catupgrdpdb3_*.lst] files for spool files, if any Number of Cpus = 2 Number of Cpus = 2 Database Name = CDB1 Database Name = CDB1 DataBase Version = 12.2.0.1.0 DataBase Version = 12.2.0.1.0 Generated PDB Inclusion:[PDB5] CDB$ROOT Open Mode = [OPEN] Generated PDB Inclusion:[PDB3] Components in [PDB5] Installed [CATALOG CATPROC XDB] Not Installed [APEX APS CATJAVA CONTEXT DV EM JAVAVM MGW ODM OLS ORDIM OWM RAC SDO WK XML XOQ] CDB$ROOT Open Mode = [OPEN] Components in [PDB3] Installed [CATALOG CATPROC XDB] Not Installed [APEX APS CATJAVA CONTEXT DV EM JAVAVM MGW ODM OLS ORDIM OWM RAC SDO WK XML XOQ] *******Upgrade being restarted on database PDB5 from failed phase 40******* ------------------------------------------------------ Phases [40-115] Start Time:[2017_05_09 15:25:29] Container Lists Inclusion:[PDB5] Exclusion:[NONE] ------------------------------------------------------ *******Upgrade being restarted on database PDB3 from failed phase 109******* ------------------------------------------------------ Phases [109-115] Start Time:[2017_05_09 15:25:29] Container Lists Inclusion:[PDB3] Exclusion:[NONE] ------------------------------------------------------ Time: 2s *************** Catproc DataPump *************** Serial Phase #:40 [PDB5] Files:3 Time: 2s ******************* Migration ****************** Serial Phase #:109 [PDB3] Files:1
And yes, it works!
The upgrade will be restarted for PDB3 and PDB5 exactly in the failed phased from the first run. Upgrades for CDB$ROOT, PDB$SEED, PDB1, PDB2 and PDB4 are completed already and will be skipped.
–Mike
Kindly advise using DBUA / catctl.pl manual method if we can upgrade databases parallel more than one database at a time.
Only catctl.pl can upgrade multiple databases from the same home at one time.
DBUA can only upgrade one database at a time from within the same home.
Cheers,
Mike
Hi Mike,
Is it possible to restart failed upgrade while using AutoUpgrade feature ? If Yes then how can we do that ?
Hi Sandeep,
you just call it with the same option – then it will resume automatically.
Cheers,
Mike
Hi Mike,
Thank you for replying .
You mean the same command which I ran to start the AutoUpgrade have to run again if the jobs failed and it will resume the upgrade from where it failed ?
/u01/app/oracle/product/19.0.0/dbhome_1/jdk/bin/java -jar /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/autoupgrade.jar -config sample_config.cfg -mode deploy
Same can be done with resume_job option in AutoUpgrade ?
/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/autoupgrade.jar -config sample_config.cfg -mode deploy -console resume -job number
which one is better ?
Regards,
Sandeep
It’s equal – both should work, Sandeep!
Cheers,
Mike
Thank you very much Mike . π