DBMS_PDB arriving on 11.2.0.4!

If you follow my CPU cycle dissect articles, you will note that a new package appeared on 11.2.0.4 on the EXA Bundle Patch (still not available with the PSU). DBMS_PDB!

Until today, the only way to upgrade 11g to any 12+ PDB using the "plug way" would be following this approach:

Database Migration from non-CDB to PDB - Upgrade, plug in, convert

Of course there are many other approaches using expdp, transportable database, etc..

Checking Mike Dietrich blog post for 12.2 upgrade: https://mikedietrichde.com/2019/07/24/database-migration-from-non-cdb-to-pdb-plug-in-upgrade-convert/, we have this picture:

Database Migration from non-CDB to PDB – Plug in, upgrade, convert

And he states:

I can’t do this exercise with my 11.2.0.4 databases, as DBMS_PDB.DESCRIBE does not exist in this release. And even Oracle 12.1.0.2 does not support the following operation unless I create my CDB with shared UNDO.

Well.. not anymore.. =]

So it seems that Oracle is planning to do 11g non-cdb to pdb migration using the same flow of the second chart above, doing the upgrade after plugging the 11g on the target database.

Let's check the DBMS_PDB contents.. describing it:

[oracle@localhost ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Aug 27 12:48:04 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, Oracle Label Security, OLAP, Data Mining
and Real Application Testing options

SQL> desc DBMS_PDB
PROCEDURE DESCRIBE
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 DIRNAME                        VARCHAR2                IN
 FILENAME                       VARCHAR2                IN
FUNCTION GETRELEASELEVEL RETURNS NUMBER

SQL>

Reading SYS.DBMS_PDB package code:

0a1,19
> package dbms_pdb authid current_user is
>   --
>   --  PROCEDURES AND FUNCTIONS
>   --
>   procedure describe(dirName IN VARCHAR2, fileName IN VARCHAR2);
>   -- Generate an XML file which describes tablespaces and datafiles that
>   --  belong to the non-CDB
>   --  Input arguments:
>   --    dirName  - Directory location of file to be created. This string is a
>   --               directory object name and must be specified in upper case.
>   --               User invoking this procedure must have READ and WRITE
>   --               privileges on this directory
>   --    fileName - name of the XML file which will contain description of the
>   --               non-CDB
> 
>   -- this function returns a numeric representation of "compatible" parameter
>   function getReleaseLevel return NUMBER;
> end;
> 

Let's see if it works..

So there is nothing (yet) documented about how to use it for a 11g.. maybe this package shouldn't even be called by us (users) but by the AutoUpgrade tool or something.

But since I'm an adventurer, let's see what I can do or how far I can go with it..

First calling the DESCRIBE procedure to create the xml file.

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup open read only;
ORACLE instance started.

Total System Global Area  835104768 bytes
Fixed Size		    2257840 bytes
Variable Size		  553651280 bytes
Database Buffers	  272629760 bytes
Redo Buffers		    6565888 bytes
Database mounted.
Database opened.

SQL> create directory PDB_DIR as '/external/11g/';

Directory created.

SQL> BEGIN
  2    DBMS_PDB.DESCRIBE(
  3      DIRNAME => 'PDB_DIR',
  4      FILENAME => 'db11g.xml');
  5  END;
  6  /

PL/SQL procedure successfully completed.

Checking the file contents.

<?xml version="1.0"?>
<PDB>
  <xmlversion>1</xmlversion>
  <pdbname>orcl</pdbname>
  <cid>0</cid>
  <byteorder>1</byteorder>
  <vsn>186647552</vsn>
  <vsns>
    <vsnnum>11.2.0.4.0</vsnnum>
    <cdbcompt>11.2.0.4.0</cdbcompt>
    <pdbcompt>11.2.0.4.0</pdbcompt>
    <vsnlibnum>0.0.0.0.22</vsnlibnum>
    <vsnsql>22</vsnsql>
    <vsnbsv>8.0.0.0.0</vsnbsv>
  </vsns>
  <dbid>1456375571</dbid>
  <ncdb2pdb>1</ncdb2pdb>
  <cdbid>1456375571</cdbid>
  <guid>ADDFB4D44D5938EFE055000000000001</guid>
  <uscnbas>1131194</uscnbas>
  <uscnwrp>0</uscnwrp>
  <undoscn>7</undoscn>
  <rdba>4194824</rdba>
  <tablespace>
    <name>SYSTEM</name>
    <type>0</type>
    <tsn>0</tsn>
    <status>1</status>
    <issft>0</issft>
    <isnft>0</isnft>
    <encts>0</encts>
    <flags>0</flags>
    <bmunitsize>8</bmunitsize>
    <file>
      <path>/u01/app/oracle/oradata/orcl/system01.dbf</path>
      <afn>1</afn>
      <rfn>1</rfn>
      <createscnbas>7</createscnbas>
      <createscnwrp>0</createscnwrp>
      <status>1</status>
      <fileblocks>101120</fileblocks>
      <blocksize>8192</blocksize>
      <vsn>186647552</vsn>
      <fdbid>1456375571</fdbid>
      <fcpsb>1131193</fcpsb>
      <fcpsw>0</fcpsw>
      <frlsb>925702</frlsb>
      <frlsw>0</frlsw>
      <frlt>928594837</frlt>
      <autoext>1</autoext>
      <maxsize>4194302</maxsize>
      <incsize>1280</incsize>
      <plugscn>0</plugscn>
      <plugafn>0</plugafn>
      <plugdbid>0</plugdbid>
    </file>
  </tablespace>
  <tablespace>
    <name>SYSAUX</name>
    <type>0</type>
    <tsn>1</tsn>
    <status>1</status>
    <issft>0</issft>
    <isnft>0</isnft>
    <encts>0</encts>
    <flags>0</flags>
    <bmunitsize>8</bmunitsize>
    <file>
      <path>/u01/app/oracle/oradata/orcl/sysaux01.dbf</path>
      <afn>2</afn>
      <rfn>2</rfn>
      <createscnbas>1834</createscnbas>
      <createscnwrp>0</createscnwrp>
      <status>1</status>
      <fileblocks>65280</fileblocks>
      <blocksize>8192</blocksize>
      <vsn>186647552</vsn>
      <fdbid>1456375571</fdbid>
      <fcpsb>1131193</fcpsb>
      <fcpsw>0</fcpsw>
      <frlsb>925702</frlsb>
      <frlsw>0</frlsw>
      <frlt>928594837</frlt>
      <autoext>1</autoext>
      <maxsize>4194302</maxsize>
      <incsize>1280</incsize>
      <plugscn>0</plugscn>
      <plugafn>0</plugafn>
      <plugdbid>0</plugdbid>
    </file>
  </tablespace>
  <tablespace>
    <name>UNDOTBS1</name>
    <type>2</type>
    <tsn>2</tsn>
    <status>1</status>
    <issft>0</issft>
    <isnft>0</isnft>
    <encts>0</encts>
    <flags>0</flags>
    <bmunitsize>8</bmunitsize>
    <file>
      <path>/u01/app/oracle/oradata/orcl/undotbs01.dbf</path>
      <afn>3</afn>
      <rfn>3</rfn>
      <createscnbas>923328</createscnbas>
      <createscnwrp>0</createscnwrp>
      <status>1</status>
      <fileblocks>8960</fileblocks>
      <blocksize>8192</blocksize>
      <vsn>186647552</vsn>
      <fdbid>1456375571</fdbid>
      <fcpsb>1131193</fcpsb>
      <fcpsw>0</fcpsw>
      <frlsb>925702</frlsb>
      <frlsw>0</frlsw>
      <frlt>928594837</frlt>
      <autoext>1</autoext>
      <maxsize>4194302</maxsize>
      <incsize>640</incsize>
      <plugscn>0</plugscn>
      <plugafn>0</plugafn>
      <plugdbid>0</plugdbid>
    </file>
  </tablespace>
  <tablespace>
    <name>TEMP</name>
    <type>1</type>
    <tsn>3</tsn>
    <status>1</status>
    <issft>0</issft>
    <isnft>0</isnft>
    <encts>0</encts>
    <flags>0</flags>
    <bmunitsize>128</bmunitsize>
    <file>
      <path>/u01/app/oracle/oradata/orcl/temp01.dbf</path>
      <afn>1</afn>
      <rfn>1</rfn>
      <createscnbas>925786</createscnbas>
      <createscnwrp>0</createscnwrp>
      <status>1</status>
      <fileblocks>9472</fileblocks>
      <blocksize>8192</blocksize>
      <vsn>186647552</vsn>
      <autoext>1</autoext>
      <maxsize>4194302</maxsize>
      <incsize>80</incsize>
      <plugscn>0</plugscn>
      <plugafn>0</plugafn>
      <plugdbid>0</plugdbid>
    </file>
  </tablespace>
  <tablespace>
    <name>USERS</name>
    <type>0</type>
    <tsn>4</tsn>
    <status>1</status>
    <issft>0</issft>
    <isnft>0</isnft>
    <encts>0</encts>
    <flags>0</flags>
    <bmunitsize>8</bmunitsize>
    <file>
      <path>/u01/app/oracle/oradata/orcl/users01.dbf</path>
      <afn>4</afn>
      <rfn>4</rfn>
      <createscnbas>16143</createscnbas>
      <createscnwrp>0</createscnwrp>
      <status>1</status>
      <fileblocks>8320</fileblocks>
      <blocksize>8192</blocksize>
      <vsn>186647552</vsn>
      <fdbid>1456375571</fdbid>
      <fcpsb>1131193</fcpsb>
      <fcpsw>0</fcpsw>
      <frlsb>925702</frlsb>
      <frlsw>0</frlsw>
      <frlt>928594837</frlt>
      <autoext>1</autoext>
      <maxsize>4194302</maxsize>
      <incsize>160</incsize>
      <plugscn>0</plugscn>
      <plugafn>0</plugafn>
      <plugdbid>0</plugdbid>
    </file>
  </tablespace>
  <recover>0</recover>
  <optional>
    <ncdb2pdb>1</ncdb2pdb>
    <csid>178</csid>
    <ncsid>2000</ncsid>
    <options>
      <option>AMD=11.2.0.4.0</option>
      <option>APS=11.2.0.4.0</option>
      <option>CATALOG=11.2.0.4.0</option>
      <option>CATJAVA=11.2.0.4.0</option>
      <option>CATPROC=11.2.0.4.0</option>
      <option>CONTEXT=11.2.0.4.0</option>
      <option>DV=11.2.0.4.0</option>
      <option>EM=11.2.0.4.0</option>
      <option>JAVAVM=11.2.0.4.0</option>
      <option>OLS=11.2.0.4.0</option>
      <option>ORDIM=11.2.0.4.0</option>
      <option>OWM=11.2.0.4.0</option>
      <option>RAC=11.2.0.4.0</option>
      <option>SDO=11.2.0.4.0</option>
      <option>XDB=11.2.0.4.0</option>
      <option>XML=11.2.0.4.0</option>
      <option>XOQ=11.2.0.4.0</option>
    </options>
    <dv>0</dv>
    <APEX>3.2.1.00.12:0</APEX>
    <parameters>
      <parameter>processes=150</parameter>
      <parameter>memory_target=838860800</parameter>
      <parameter>db_block_size=8192</parameter>
      <parameter>compatible=&apos;11.2.0.4.0&apos;</parameter>
      <parameter>recyclebin=&apos;OFF&apos;</parameter>
      <parameter>os_roles=FALSE</parameter>
      <parameter>open_cursors=300</parameter>
      <parameter>sql92_security=TRUE</parameter>
    </parameters>
    <sqlpatches/>
    <tzvers>
      <tzver>primary version:14</tzver>
      <tzver>secondary version:0</tzver>
    </tzvers>
    <walletkey>0</walletkey>
    <services>
      <service>SYS$BACKGROUND</service>
      <service>SYS$USERS</service>
      <service>seeddataXDB</service>
      <service>seeddata</service>
      <service>orclXDB</service>
      <service>orcl</service>
    </services>
    <opatches/>
    <hasclob>1</hasclob>
    <awr/>
    <hardvsnchk>0</hardvsnchk>
    <localundo>1</localundo>
    <apps/>
    <dbedition>0</dbedition>
    <dvopsctl>2</dvopsctl>
    <clnupsrcpal>1</clnupsrcpal>
  </optional>
</PDB>

Now trying to import on the target environment:

SQL> CREATE PLUGGABLE DATABASE ora11g USING '/external/11g/db11g.xml'
  2   COPY
  3   FILE_NAME_CONVERT = ('/external/11g/', '/u01/app/oracle/oradata/ORCL/ora11g/');
CREATE PLUGGABLE DATABASE ora11g USING '/external/11g/db11g.xml'
*
ERROR at line 1:
ORA-65346: The PDB version is lower and components (AMD, EM) are missing in CDB.

Damn it! Requirement errors..

As I'm a bit lazy today and this is a lab environment,  I will simply remove the entries from .xml to try again:

Now running it again:

SQL> CREATE PLUGGABLE DATABASE ora11g USING '/external/11g/db11g.xml'
  2   COPY
  3   FILE_NAME_CONVERT = ('/external/11g/', '/u01/app/oracle/oradata/ORCL/ora11g/');

Pluggable database created.

We have the PDB!

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB01                          READ WRITE NO
         4 ORA11G                         MOUNTED

Now let's try to convert the noncdb to pdb!

SQL> set timing on
SQL> set serverout on
SQL> set echo on
SQL> set termout on
SQL> spool /external/11g/db11g_noncdbtopdb.log
SQL> start ?/rdbms/admin/noncdb_to_pdb.sql

And it fails with:

13:32:48 SQL> alter pluggable database "&pdbname" open upgrade;
alter pluggable database "ORA11G" open upgrade
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-00942: table or view does not exist

As I couldn't find the offending SQL, I've just enabled events '942 trace name ERRORSTACK level 3' and tried again. Then on the logs I got:

...
about to signal 942
Name: CDB_FILE$
...
----- Current SQL Statement for this session (sql_id=azbb7v8wa64x9) -----
delete from cdb_file$
...

The new PDB needs to be upgraded at first.. let me try the dbupdate utily..

[oracle@localhost 11g]$ dbupgrade -l /media/sf_Patch/11g/logs -c "ORA11G"

Argument list for [/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catctl.pl]
For Oracle internal use only A = 0
Run in                       c = ORA11G
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 = /media/sf_Patch/11g/logs
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.8.0.0.0DBRU_LINUX.X64_200702]


/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/orahome = [/u01/app/oracle/product/19.0.0/dbhome_1]
/u01/app/oracle/product/19.0.0/dbhome_1/bin/orabasehome = [/u01/app/oracle/homes/OraDB19Home1]
catctlGetOraBaseLogDir = [/u01/app/oracle/homes/OraDB19Home1]

Analyzing file /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catupgrd.sql

Log file directory = [/media/sf_Patch/11g/logs]

catcon::set_log_file_base_path: ALL catcon-related output will be written to [/media/sf_Patch/11g/logs/catupgrd_catcon_27217.lst]

catcon::set_log_file_base_path: catcon: See [/media/sf_Patch/11g/logs/catupgrd*.log] files for output generated by scripts

catcon::set_log_file_base_path: catcon: See [/media/sf_Patch/11g/logs/catupgrd_*.lst] files for spool files, if any


Number of Cpus        = 4
Database Name         = orcl
DataBase Version      = 19.0.0.0.0
Parallel SQL Process Count (PDB)      = 2
Parallel SQL Process Count (CDB$ROOT) = 4
Concurrent PDB Upgrades               = 2
Generated PDB Inclusion:[ORA11G]
CDB$ROOT  Open Mode = [OPEN]
Concurrent PDB Upgrades Reset           = 1
DataBase Version      = 19.0.0.0.0

Start processing of PDBs (ORA11G)
[/u01/app/oracle/product/19.0.0/dbhome_1/perl/bin/perl /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catctl.pl -l /media/sf_Patch/11g/logs -c 'ORA11G' -I -i ora11g -n 2 /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catupgrd.sql]

Argument list for [/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catctl.pl]
For Oracle internal use only A = 0
Run in                       c = ORA11G
Do not run in                C = 0
Input Directory              d = 0
Echo OFF                     e = 1
Simulate                     E = 0
Forced cleanup               F = 0
Log Id                       i = ora11g
Child Process                I = 1
Log Dir                      l = /media/sf_Patch/11g/logs
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: [19.0.0.0.0]
           STATUS: [Production]
            BUILD: [RDBMS_19.8.0.0.0DBRU_LINUX.X64_200702]


/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/orahome = [/u01/app/oracle/product/19.0.0/dbhome_1]
/u01/app/oracle/product/19.0.0/dbhome_1/bin/orabasehome = [/u01/app/oracle/homes/OraDB19Home1]
catctlGetOraBaseLogDir = [/u01/app/oracle/homes/OraDB19Home1]

Analyzing file /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catupgrd.sql

Log file directory = [/media/sf_Patch/11g/logs]

catcon::set_log_file_base_path: ALL catcon-related output will be written to [/media/sf_Patch/11g/logs/catupgrdora11g_catcon_27516.lst]

catcon::set_log_file_base_path: catcon: See [/media/sf_Patch/11g/logs/catupgrdora11g*.log] files for output generated by scripts

catcon::set_log_file_base_path: catcon: See [/media/sf_Patch/11g/logs/catupgrdora11g_*.lst] files for spool files, if any


Number of Cpus        = 4
Database Name         = orcl
DataBase Version      = 19.0.0.0.0
ORA11G Open Mode = [MOUNTED]
Generated PDB Inclusion:[ORA11G]
CDB$ROOT  Open Mode = [OPEN]
Components in [ORA11G]
    Installed [None]
Not Installed [APEX APS CATALOG CATJAVA CATPROC CONTEXT DV EM JAVAVM MGW ODM OLS ORDIM OWM RAC SDO WK XDB XML XOQ]
DataBase Version      = 19.0.0.0.0
catcon::exec_reset_pdb_mode_stmts: error reported while attempting to reset PDB modes:

catcon::exec_reset_pdb_mode_stmts:   output produced by ALTER PDB statements:

catcon::exec_reset_pdb_mode_stmts:


catcon::exec_reset_pdb_mode_stmts: 	SQL*Plus: Release 19.0.0.0.0 - Production on Thu Aug 27 16:51:34 2020


catcon::exec_reset_pdb_mode_stmts: 	Version 19.8.0.0.0


catcon::exec_reset_pdb_mode_stmts:


catcon::exec_reset_pdb_mode_stmts: 	Copyright (c) 1982, 2020, Oracle.  All rights reserved.


catcon::exec_reset_pdb_mode_stmts:


catcon::exec_reset_pdb_mode_stmts: 	SQL> set newpage 1#LF#


catcon::exec_reset_pdb_mode_stmts: 	set pagesize 14#LF#


catcon::exec_reset_pdb_mode_stmts: 	connect / AS sysdba#LF#


catcon::exec_reset_pdb_mode_stmts: 	Connected.


catcon::exec_reset_pdb_mode_stmts: 	alter session set "_oracle_script"=TRUE#LF#/#LF#


catcon::exec_reset_pdb_mode_stmts:


catcon::exec_reset_pdb_mode_stmts: 	Session altered.


catcon::exec_reset_pdb_mode_stmts:


catcon::exec_reset_pdb_mode_stmts: 	alter pluggable database "ORA11G" open UPGRADE services=NONE#LF#/#LF#


catcon::exec_reset_pdb_mode_stmts: 	alter pluggable database "ORA11G" open UPGRADE services=NONE


catcon::exec_reset_pdb_mode_stmts: 	*


catcon::exec_reset_pdb_mode_stmts: 	ERROR at line 1:


catcon::exec_reset_pdb_mode_stmts: 	ORA-00604: error occurred at recursive SQL level 1


catcon::exec_reset_pdb_mode_stmts: 	ORA-00942: table or view does not exist


catcon::exec_reset_pdb_mode_stmts:


catcon::exec_reset_pdb_mode_stmts:


catcon::exec_reset_pdb_mode_stmts: 	SQL> SQL>


catcon::exec_reset_pdb_mode_stmts: 	SQL> Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production


catcon::exec_reset_pdb_mode_stmts: 	Version 19.8.0.0.0


catcon::reset_pdb_modes: some ALTER PDB OPEN <one or more PDBs>
    statements executed by exec_reset_pdb_mode_stmts resulted in errors.
    Will try to execute ALTER PDB OPEN <PDB> statements for all PDBs
    that are still not open in the requested mode


catcon::exec_reset_pdb_mode_stmts: error reported while attempting to reset PDB modes:

catcon::exec_reset_pdb_mode_stmts:   output produced by ALTER PDB statements:

catcon::exec_reset_pdb_mode_stmts:


catcon::exec_reset_pdb_mode_stmts: 	SQL*Plus: Release 19.0.0.0.0 - Production on Thu Aug 27 16:51:39 2020


catcon::exec_reset_pdb_mode_stmts: 	Version 19.8.0.0.0


catcon::exec_reset_pdb_mode_stmts:


catcon::exec_reset_pdb_mode_stmts: 	Copyright (c) 1982, 2020, Oracle.  All rights reserved.


catcon::exec_reset_pdb_mode_stmts:


catcon::exec_reset_pdb_mode_stmts: 	SQL> set newpage 1#LF#


catcon::exec_reset_pdb_mode_stmts: 	set pagesize 14#LF#


catcon::exec_reset_pdb_mode_stmts: 	connect / AS sysdba#LF#


catcon::exec_reset_pdb_mode_stmts: 	Connected.


catcon::exec_reset_pdb_mode_stmts: 	alter session set "_oracle_script"=TRUE#LF#/#LF#


catcon::exec_reset_pdb_mode_stmts:


catcon::exec_reset_pdb_mode_stmts: 	Session altered.


catcon::exec_reset_pdb_mode_stmts:


catcon::exec_reset_pdb_mode_stmts: 	alter pluggable database "ORA11G" open UPGRADE services=NONE#LF#/#LF#


catcon::exec_reset_pdb_mode_stmts: 	alter pluggable database "ORA11G" open UPGRADE services=NONE


catcon::exec_reset_pdb_mode_stmts: 	*


catcon::exec_reset_pdb_mode_stmts: 	ERROR at line 1:


catcon::exec_reset_pdb_mode_stmts: 	ORA-00604: error occurred at recursive SQL level 1


catcon::exec_reset_pdb_mode_stmts: 	ORA-00942: table or view does not exist


catcon::exec_reset_pdb_mode_stmts:


catcon::exec_reset_pdb_mode_stmts:


catcon::exec_reset_pdb_mode_stmts: 	SQL> SQL>


catcon::exec_reset_pdb_mode_stmts: 	SQL> Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production


catcon::exec_reset_pdb_mode_stmts: 	Version 19.8.0.0.0


catcon::reset_pdb_modes: some ALTER PDB statements executed by exec_reset_pdb_mode_stmts resulted in errors

catcon::force_pdb_modes: PDB ORA11G will not be processed because it could not be opened in
    requested mode (UPGRADE) on the instance orcl.
    It will be added to the list of PDBs which will be ignored



------------------------------------------------------
Phases [0-107]         Start Time:[2020_08_27 16:51:45]
Container Lists Inclusion:[ORA11G] Exclusion:[NONE]
------------------------------------------------------
***********   Executing Change Scripts   ***********
Serial   Phase #:0    [ORA11G] Files:1 catcon::validate_con_names: ORA11G is not open

catcon::catconQuery: ORA11G does not refer to an existing and open PDB

Use of uninitialized value in concatenation (.) or string at /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catctl.pl line 5797.
catcon::catconExec: start executing scripts/SQL statements

catcon::catconExec: 	Script names/SQL statements:

catcon::catconExec: 		@catupstr.sql

catcon::catconExec: 	SingleThreaded        = 1

catcon::catconExec: 	RootOnly              = 0

catcon::catconExec: 	IssuePerProcStmts     = 0

catcon::catconExec: 	ConNamesIncl          = ORA11G

catcon::catconExec: 	ConNamesExcl            undefined

catcon::catconExec: 	CustomErrLoggingIdent   undefined

catcon::catconExec: 	skipProcQuery   undefined

catcon::catconExec: 	(2020-08-27 16:51:46)

catcon::catconExec: Container names specified for a non-CDB



Unexpected error encountered in catconExec; exiting
 No child processes

Unexpected error encountered in catctlMain; Error Stack Below; exiting
Died at /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catctl.pl line 9188.
 at /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catctl.pl line 9188.
	main::catctlDie("\x{a}Unexpected error encountered in catconExec; exiting\x{a} No chil"...) called at /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catctl.pl line 5650
	main::catctlExecutePhaseFiles(0, 1, "ORA11G", "", undef) called at /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catctl.pl line 2035
	main::catctlRunPhase(0, 1, "ORA11G", "", undef) called at /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catctl.pl line 2197
	main::catctlRunPhases(0, 108, 108, "ORA11G", "", undef) called at /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catctl.pl line 2816
	main::catctlRunMainPhases() called at /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catctl.pl line 1463
	main::catctlMain() called at /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catctl.pl line 1370
	eval {...} called at /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catctl.pl line 1368

------------------------------------------------------
CATCTL FATAL ERROR
------------------------------------------------------

 LOG FILES: (/media/sf_Patch/11g/logs/catupgrdora11g*.log)
TRACE FILE: (/media/sf_Patch/11g/logs/catupgrdora11g_trace.log)

catcon: See [/media/sf_Patch/11g/logs/catupgrdora11g*.log] files for output generated by scripts

catcon: See [/media/sf_Patch/11g/logs/catupgrdora11g_*.lst] files for spool files, if any


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

catcon version: /st_rdbms_19/16
	catconInit2: start logging catcon output at 2020-08-27 16:50:47

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!



(...)

Grand Total Time: 0s [ORA11G]

 LOG FILES: (/media/sf_Patch/11g/logs/catupgrdora11g*.log)
catcon::catconWrapUp: (PID=27516) about to free up all resources

catcon::end_processes: will end processes 0 to 1

catcon::end_processes: check if process 0 (id=27683) is alive

catcon::end_processes: process 0 (id=27683) is alive

catcon::end_processes: write EXIT to process 0 (id=27683)

catcon::end_processes: close file handle for process 0 (id=27683)


catcon::end_processes: setting FileHandle[0] to undef

catcon::end_processes: check if process 1 (id=27684) is alive

catcon::end_processes: process 1 (id=27684) is alive

catcon::end_processes: write EXIT to process 1 (id=27684)

catcon::end_processes: close file handle for process 1 (id=27684)


catcon::end_processes: setting FileHandle[1] to undef

catcon::end_processes: done with processes 0 to 1

catcon::clean_up_compl_files: FileNameBase = /media/sf_Patch/11g/logs/catupgrdora11g, FirstProc =0, LastProc = 1

catcon::clean_up_compl_files: call sureunlink to remove /media/sf_Patch/11g/logs/catupgrdora11g_catcon_27683.done

catcon::sureunlink: unlink(/media/sf_Patch/11g/logs/catupgrdora11g_catcon_27683.done) succeeded after 1 attempt(s)

catcon::sureunlink: verify that the file really no longer exists

catcon::sureunlink: confirmed that /media/sf_Patch/11g/logs/catupgrdora11g_catcon_27683.done no longer exists after 1 attempts

catcon::clean_up_compl_files: removed /media/sf_Patch/11g/logs/catupgrdora11g_catcon_27683.done

catcon::clean_up_compl_files: call sureunlink to remove /media/sf_Patch/11g/logs/catupgrdora11g_catcon_27684.done

catcon::sureunlink: unlink(/media/sf_Patch/11g/logs/catupgrdora11g_catcon_27684.done) succeeded after 1 attempt(s)

catcon::sureunlink: verify that the file really no longer exists

catcon::sureunlink: confirmed that /media/sf_Patch/11g/logs/catupgrdora11g_catcon_27684.done no longer exists after 1 attempts

catcon::clean_up_compl_files: removed /media/sf_Patch/11g/logs/catupgrdora11g_catcon_27684.done

catcon::end_processes: ended processes 0 to 1

catcon::delete_idle_logs: Deleting log file /media/sf_Patch/11g/logs/catupgrdora11g1.log because SQL*Plus process for which
  it was created did no work


catcon::sureunlink: unlink(/media/sf_Patch/11g/logs/catupgrdora11g1.log) succeeded after 1 attempt(s)

catcon::sureunlink: verify that the file really no longer exists

catcon::sureunlink: confirmed that /media/sf_Patch/11g/logs/catupgrdora11g1.log no longer exists after 1 attempts

catcon::sureunlink: unlink(/media/sf_Patch/11g/logs/catupgrdora11g_catcon_kill_sess_27516_ALL.sql) succeeded after 1 attempt(s)

catcon::sureunlink: verify that the file really no longer exists

catcon::sureunlink: confirmed that /media/sf_Patch/11g/logs/catupgrdora11g_catcon_kill_sess_27516_ALL.sql no longer exists after 1 attempts

catcon::catconWrapUp: done


     Time: 108s For PDB(s)

Grand Total Time: 108s

 LOG FILES: (/media/sf_Patch/11g/logs/catupgrd*.log)

Pdb Upgrades With Errors
------------------------------------------------------
Error In [ORA11G] Status is [1] Check Log Files
    [/media/sf_Patch/11g/logs/catupgrdora11g*.log]

And the same error again when running: alter pluggable database "ORA11G" open UPGRADE services=NONE

As I said, probably this is still something Oracle is working on and is not fully developed..

As there are probably thousands of customers still using 11.2.0.4, having a simpler way to upgrade to latest 19c will be amazing! So, nothing I can do right now.. even though 11.2 is being "prepared" to export, seems my 19.8 is not prepared to plug it.

That's it! Let's see what is coming on the next months.

Have you enjoyed? Please leave a comment or give a 👍!

3 comments

    • Andy on September 8, 2020 at 12:18
    • Reply

    This is great. Do you know which Bundle patch this is included?

    • Mo on September 21, 2020 at 09:49
    • Reply

    Hi there,
    have a look at MOS ID 2650115.1

    The package just served this purpose.

    • Ramesh on April 1, 2022 at 12:03
    • Reply

    RJ:
    We are getting sys.DBMS_PDB package invalid on 11.2.0.4 and there is no MOS to fix this.
    I tried downloading the DBMSPDDB sql from 2650115.1 and tried recreating it but gave errors.
    Please let me know if you have any insights.
    Thank you

Leave a Reply

Your email address will not be published.