I have a Puggable Database (PDB) inside a 12.1.0.2 Container Database (CDB) and want to plug it into a 12.2.0.1 CDB. The destination CDB has been created on the same server sharing the same filesystem as the source CDB. Just to see if it works, some additional challenges:
- The source CDB is Standard Editon
- The destination CDB is Enterprise Edition
- The source CDB uses shared undo (only option in 12cR1)
- The destination CDB uses local undo
Good news: It did work quite smoothly. The steps are exactly the same as outlined here for upgrade from 12.1.0.1 to 12.1.0.2. The final call of catctl.pl looks like this:
[oracle@uhesse admin]$ $ORACLE_HOME/perl/bin/perl catctl.pl -c 'pdb1' catupgrd.sql Argument list for [catctl.pl] Run in c = pdb1 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 = 0 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: [12.2.0.1.0] STATUS: [production] BUILD: [RDBMS_12.2.0.1.0_LINUX.X64_160914] /u01/app/oracle/product/12.2.0/dbhome_1/rdbms/admin/orahome = [/u01/app/oracle/product/12.2.0/dbhome_1] /u01/app/oracle/product/12.2.0/dbhome_1/bin/orabasehome = [/u01/app/oracle/product/12.2.0/dbhome_1] catctlGetOrabase = [/u01/app/oracle/product/12.2.0/dbhome_1] Analyzing file /u01/app/oracle/product/12.2.0/dbhome_1/rdbms/admin/catupgrd.sql Log file directory = [/tmp/cfgtoollogs/upgrade20161216145848] catcon: ALL catcon-related output will be written to [/tmp/cfgtoollogs/upgrade20161216145848/catupgrd_catcon_6894.lst] catcon: See [/tmp/cfgtoollogs/upgrade20161216145848/catupgrd*.log] files for output generated by scripts catcon: See [/tmp/cfgtoollogs/upgrade20161216145848/catupgrd_*.lst] files for spool files, if any Number of Cpus = 1 Database Name = cdb2 DataBase Version = 12.2.0.1.0 catcon: ALL catcon-related output will be written to [/u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/cdb2/upgrade20161216145849/catupgrd_catcon_6894.lst] catcon: See [/u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/cdb2/upgrade20161216145849/catupgrd*.log] files for output generated by scripts catcon: See [/u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/cdb2/upgrade20161216145849/catupgrd_*.lst] files for spool files, if any Log file directory = [/u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/cdb2/upgrade20161216145849] PDB Parallel SQL Process Count = [2] is higher or equal to CPU Count = [1] Concurrent PDB Upgrades defaulting to CPU Count [1] Parallel SQL Process Count (PDB) = 2 Parallel SQL Process Count (CDB$ROOT) = 4 Concurrent PDB Upgrades = 1 Generated PDB Inclusion:[PDB1] CDB$ROOT Open Mode = [OPEN] Start processing of PDB1 [/u01/app/oracle/product/12.2.0/dbhome_1/perl/bin/perl catctl.pl -c 'PDB1' -I -i pdb1 -n 2 -l /u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/cdb2/upgrade20161216145849 catupgrd.sql] Argument list for [catctl.pl] Run in c = PDB1 Do not run in C = 0 Input Directory d = 0 Echo OFF e = 1 Simulate E = 0 Forced cleanup F = 0 Log Id i = pdb1 Child Process I = 1 Log Dir l = /u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/cdb2/upgrade20161216145849 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 = 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: [12.2.0.1.0] STATUS: [production] BUILD: [RDBMS_12.2.0.1.0_LINUX.X64_160914] /u01/app/oracle/product/12.2.0/dbhome_1/rdbms/admin/orahome = [/u01/app/oracle/product/12.2.0/dbhome_1] /u01/app/oracle/product/12.2.0/dbhome_1/bin/orabasehome = [/u01/app/oracle/product/12.2.0/dbhome_1] catctlGetOrabase = [/u01/app/oracle/product/12.2.0/dbhome_1] Analyzing file /u01/app/oracle/product/12.2.0/dbhome_1/rdbms/admin/catupgrd.sql Log file directory = [/u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/cdb2/upgrade20161216145849] catcon: ALL catcon-related output will be written to [/u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/cdb2/upgrade20161216145849/catupgrdpdb1_catcon_7048.lst] catcon: See [/u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/cdb2/upgrade20161216145849/catupgrdpdb1*.log] files for output generated by scripts catcon: See [/u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/cdb2/upgrade20161216145849/catupgrdpdb1_*.lst] files for spool files, if any Number of Cpus = 1 Database Name = cdb2 DataBase Version = 12.2.0.1.0 Generated PDB Inclusion:[PDB1] CDB$ROOT Open Mode = [OPEN] Components in [PDB1] Installed [CATALOG CATJAVA CATPROC CONTEXT JAVAVM ORDIM OWM XDB XML] Not Installed [APEX APS DV EM MGW ODM OLS RAC SDO WK XOQ] ------------------------------------------------------ Phases [0-117] Start Time:[2016_12_16 14:58:56] Container Lists Inclusion:[PDB1] Exclusion:[NONE] ------------------------------------------------------ *********** Executing Change Scripts *********** Serial Phase #:0 [PDB1] Files:1 Time: 39s *************** Catalog Core SQL *************** Serial Phase #:1 [PDB1] Files:5 Time: 75s Restart Phase #:2 [PDB1] Files:1 Time: 0s *********** Catalog Tables and Views *********** Parallel Phase #:3 [PDB1] Files:19 Time: 35s Restart Phase #:4 [PDB1] Files:1 Time: 0s ************* Catalog Final Scripts ************ Serial Phase #:5 [PDB1] Files:6 Time: 20s ***************** Catproc Start **************** Serial Phase #:6 [PDB1] Files:1 Time: 14s ***************** Catproc Types **************** Serial Phase #:7 [PDB1] Files:2 Time: 11s Restart Phase #:8 [PDB1] Files:1 Time: 0s **************** Catproc Tables **************** Parallel Phase #:9 [PDB1] Files:70 Time: 64s Restart Phase #:10 [PDB1] Files:1 Time: 0s ************* Catproc Package Specs ************ Serial Phase #:11 [PDB1] Files:1 Time: 16s Restart Phase #:12 [PDB1] Files:1 Time: 1s ************** Catproc Procedures ************** Parallel Phase #:13 [PDB1] Files:97 Time: 9s Restart Phase #:14 [PDB1] Files:1 Time: 0s Parallel Phase #:15 [PDB1] Files:118 Time: 13s Restart Phase #:16 [PDB1] Files:1 Time: 0s Serial Phase #:17 [PDB1] Files:13 Time: 2s Restart Phase #:18 [PDB1] Files:1 Time: 1s ***************** Catproc Views **************** Parallel Phase #:19 [PDB1] Files:33 Time: 30s Restart Phase #:20 [PDB1] Files:1 Time: 0s Serial Phase #:21 [PDB1] Files:3 Time: 9s Restart Phase #:22 [PDB1] Files:1 Time: 0s Parallel Phase #:23 [PDB1] Files:24 Time: 137s Restart Phase #:24 [PDB1] Files:1 Time: 0s Parallel Phase #:25 [PDB1] Files:11 Time: 69s Restart Phase #:26 [PDB1] Files:1 Time: 0s Serial Phase #:27 [PDB1] Files:1 Time: 0s Serial Phase #:28 [PDB1] Files:3 Time: 3s Serial Phase #:29 [PDB1] Files:1 Time: 0s Restart Phase #:30 [PDB1] Files:1 Time: 0s *************** Catproc CDB Views ************** Serial Phase #:31 [PDB1] Files:1 Time: 1s Restart Phase #:32 [PDB1] Files:1 Time: 1s Serial Phase #:34 [PDB1] Files:1 Time: 0s ***************** Catproc PLBs ***************** Serial Phase #:35 [PDB1] Files:283 Time: 16s Serial Phase #:36 [PDB1] Files:1 Time: 0s Restart Phase #:37 [PDB1] Files:1 Time: 0s Serial Phase #:38 [PDB1] Files:1 Time: 2s Restart Phase #:39 [PDB1] Files:1 Time: 0s *************** Catproc DataPump *************** Serial Phase #:40 [PDB1] Files:3 Time: 56s Restart Phase #:41 [PDB1] Files:1 Time: 1s ****************** Catproc SQL ***************** Parallel Phase #:42 [PDB1] Files:13 Time: 87s Restart Phase #:43 [PDB1] Files:1 Time: 0s Parallel Phase #:44 [PDB1] Files:12 Time: 9s Restart Phase #:45 [PDB1] Files:1 Time: 0s Parallel Phase #:46 [PDB1] Files:2 Time: 2s Restart Phase #:47 [PDB1] Files:1 Time: 0s ************* Final Catproc scripts ************ Serial Phase #:48 [PDB1] Files:1 Time: 6s Restart Phase #:49 [PDB1] Files:1 Time: 0s ************** Final RDBMS scripts ************* Serial Phase #:50 [PDB1] Files:1 Time: 19s ************ Upgrade Component Start *********** Serial Phase #:51 [PDB1] Files:1 Time: 1s Restart Phase #:52 [PDB1] Files:1 Time: 0s **************** Upgrading Java **************** Serial Phase #:53 [PDB1] Files:1 Time: 201s Restart Phase #:54 [PDB1] Files:1 Time: 0s ***************** Upgrading XDK **************** Serial Phase #:55 [PDB1] Files:1 Time: 68s Restart Phase #:56 [PDB1] Files:1 Time: 1s ********* Upgrading APS,OLS,DV,CONTEXT ********* Serial Phase #:57 [PDB1] Files:1 Time: 34s ***************** Upgrading XDB **************** Restart Phase #:58 [PDB1] Files:1 Time: 0s Serial Phase #:60 [PDB1] Files:3 Time: 15s Serial Phase #:61 [PDB1] Files:3 Time: 3s Parallel Phase #:62 [PDB1] Files:9 Time: 3s Parallel Phase #:63 [PDB1] Files:24 Time: 4s Serial Phase #:64 [PDB1] Files:4 Time: 9s Serial Phase #:65 [PDB1] Files:1 Time: 0s Serial Phase #:66 [PDB1] Files:30 Time: 3s Serial Phase #:67 [PDB1] Files:1 Time: 0s Parallel Phase #:68 [PDB1] Files:6 Time: 3s Serial Phase #:69 [PDB1] Files:2 Time: 21s Serial Phase #:70 [PDB1] Files:3 Time: 34s Restart Phase #:71 [PDB1] Files:1 Time: 1s ********* Upgrading CATJAVA,OWM,MGW,RAC ******** Serial Phase #:72 [PDB1] Files:1 Time: 43s **************** Upgrading ORDIM *************** Restart Phase #:73 [PDB1] Files:1 Time: 1s Serial Phase #:75 [PDB1] Files:1 Time: 1s Parallel Phase #:76 [PDB1] Files:2 Time: 38s Serial Phase #:77 [PDB1] Files:1 Time: 42s Restart Phase #:78 [PDB1] Files:1 Time: 0s Parallel Phase #:79 [PDB1] Files:2 Time: 164s Serial Phase #:80 [PDB1] Files:2 Time: 2s ***************** Upgrading SDO **************** Restart Phase #:81 [PDB1] Files:1 Time: 0s Serial Phase #:83 [PDB1] Files:1 Time: 1s Serial Phase #:84 [PDB1] Files:1 Time: 1s Restart Phase #:85 [PDB1] Files:1 Time: 1s Serial Phase #:86 [PDB1] Files:1 Time: 1s Restart Phase #:87 [PDB1] Files:1 Time: 0s Parallel Phase #:88 [PDB1] Files:3 Time: 1s Restart Phase #:89 [PDB1] Files:1 Time: 0s Serial Phase #:90 [PDB1] Files:1 Time: 2s Restart Phase #:91 [PDB1] Files:1 Time: 0s Serial Phase #:92 [PDB1] Files:1 Time: 1s Restart Phase #:93 [PDB1] Files:1 Time: 0s Parallel Phase #:94 [PDB1] Files:4 Time: 1s Restart Phase #:95 [PDB1] Files:1 Time: 1s Serial Phase #:96 [PDB1] Files:1 Time: 1s Restart Phase #:97 [PDB1] Files:1 Time: 0s Serial Phase #:98 [PDB1] Files:1 Time: 1s Restart Phase #:99 [PDB1] Files:1 Time: 0s Serial Phase #:100 [PDB1] Files:1 Time: 2s Restart Phase #:101 [PDB1] Files:1 Time: 0s Serial Phase #:102 [PDB1] Files:1 Time: 1s Restart Phase #:103 [PDB1] Files:1 Time: 0s *********** Upgrading Misc. ODM, OLAP ********** Serial Phase #:104 [PDB1] Files:1 Time: 1s **************** Upgrading APEX **************** Restart Phase #:105 [PDB1] Files:1 Time: 0s Serial Phase #:106 [PDB1] Files:1 Time: 1s Restart Phase #:107 [PDB1] Files:1 Time: 0s *********** Final Component scripts *********** Serial Phase #:108 [PDB1] Files:1 Time: 2s ************* Final Upgrade scripts ************ Serial Phase #:109 [PDB1] Files:1 Time: 113s ********** End PDB Application Upgrade ********* Serial Phase #:110 [PDB1] Files:1 Time: 1s ******************* Migration ****************** Serial Phase #:111 [PDB1] Files:1 Time: 37s Serial Phase #:112 [PDB1] Files:1 Time: 46s Serial Phase #:113 [PDB1] Files:1 Time: 32s ***************** Post Upgrade ***************** Serial Phase #:114 [PDB1] Files:1 Time: 93s **************** Summary report **************** Serial Phase #:115 [PDB1] Files:1 Time: 1s Serial Phase #:116 [PDB1] Files:1 Time: 16s Serial Phase #:117 [PDB1] Files:1 Time: 0s ------------------------------------------------------ Phases [0-117] End Time:[2016_12_16 15:28:54] Container Lists Inclusion:[PDB1] Exclusion:[NONE] ------------------------------------------------------ Grand Total Time: 1800s [PDB1] LOG FILES: (/u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/cdb2/upgrade20161216145849/catupgrdpdb1*.log) Upgrade Summary Report Located in: /u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/cdb2/upgrade20161216145849/upg_summary.log Total Upgrade Time: [0d:0h:30m:0s] Time: 1809s For PDB(s) Grand Total Time: 1809s LOG FILES: (/u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/cdb2/upgrade20161216145849/catupgrd*.log) Grand Total Upgrade Time: [0d:0h:30m:9s]
Just to confirm that the new local undo feature is in place:
[oracle@uhesse ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Fri Dec 16 15:43:37 2016 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> select name,open_mode from v$pdbs; NAME -------------------------------------------------------------------------------- OPEN_MODE ---------- PDB$SEED READ ONLY PDB1 MOUNTED SQL> alter pluggable database all open; Pluggable database altered. SQL> alter pluggable database all save state; Pluggable database altered. SQL> select * from v$tablespace; TS# NAME INC BIG FLA ENC CON_ID ---------- ------------------------------ --- --- --- --- ---------- 1 SYSAUX YES NO YES 1 0 SYSTEM YES NO YES 1 2 UNDOTBS1 YES NO YES 1 4 USERS YES NO YES 1 3 TEMP NO NO YES 1 0 SYSTEM YES NO YES 2 1 SYSAUX YES NO YES 2 2 UNDOTBS1 YES NO YES 2 3 TEMP NO NO YES 2 0 SYSTEM YES NO YES 3 1 SYSAUX YES NO YES 3 TS# NAME INC BIG FLA ENC CON_ID ---------- ------------------------------ --- --- --- --- ---------- 2 TEMP NO NO YES 3 3 USERS YES NO YES 3 4 UNDO_1 YES NO YES 3 14 rows selected. SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /u01/app/oracle/oradata/cdb2/system01.dbf /u01/app/oracle/oradata/cdb2/sysaux01.dbf /u01/app/oracle/oradata/cdb2/undotbs01.dbf /u01/app/oracle/oradata/cdb2/pdbseed/system01.dbf /u01/app/oracle/oradata/cdb2/pdbseed/sysaux01.dbf /u01/app/oracle/oradata/cdb2/users01.dbf /u01/app/oracle/oradata/cdb2/pdbseed/undotbs01.dbf /u01/app/oracle/oradata/pdb1/system01.dbf /u01/app/oracle/oradata/pdb1/sysaux01.dbf /u01/app/oracle/oradata/pdb1/users01.dbf /u01/app/oracle/oradata/pdb1/pdb1_i1_undo.dbf 11 rows selected.
As you have seen, it’s not exactly just unplug/plug to get the upgrade done. As always: Don’t believe it, test it! 🙂