In case you missed the previous posts:
- Part 1 – Refreshable Clone PDBs
- Part 2 – Non-CDB 19c to 23ai PDB
- Part 3 – 19c PDB to 23ai
- Part 4 – Fallback options
- Part 5 – Target_pdb_copy_option
- Part 6 – Create a 23ai Database with Compatible set to 19c
- Part 7 – Downgrade
This post covers the migration of a 19c database from a non-CDB to a PDB in the multitenant architecture.
When planning an upgrade to 23ai, some customers prefer a two-step approach: first migrating to the multitenant architecture, then upgrading to 23ai.
First Step
Remember to always download the latest AutoUpgrade version from MOS.
There is also a new option: Download AutoUpgrade directly from oracle.com
Checking the environment
I have a 19c database home in my Exadata:

There is 1 database created using this database homes a 19c NON-CDB:


You can check this blog post if you need to create a non-cdb 19c on ExaCS or ExaCC.
I created a new 19c CDB Database called DB19:

The 19c CDB database is still empty, but I can use a CDB with existing PDBs. I just need to ensure there are no naming conflicts with my non-CDB:

Let’s check the AutoUpgrade version:
java -jar autoupgrade.jar -version

Let’s create an AutoUpgrade config file:
global.autoupg_log_dir=/u02/AutoUpgrade
global.keystore=/u02/keystore
upg1.source_home=/u02/app/oracle/product/19.0.0.0/dbhome_1
upg1.target_home=/u02/app/oracle/product/19.0.0.0/dbhome_1
upg1.sid=NCDB191
upg1.target_cdb=DB191

Let’s load the TDE encryption password for both databases:
java -jar autoupgrade.jar -config NCDB191.cfg -load_password

Let’s run the Analyze mode:
java -jar autoupgrade.jar -config NCDB191.cfg -mode analyze

As you can see, for this test, no manual steps are needed:

Let’s run the Deploy mode to start the migration:
java -jar autoupgrade.jar -config NCDB191.cfg -mode deploy

There are a few ways to see the progress:




As you can see below, the conversion from 19c non-cdb to 19c pdb was a success:

We have now the NCDB19 plugged in and running on the 19c CDB:

Will the console recognize the new PDB?
And the answer is: Yes
It took a few minutes, but it’s there now:

Links to the Complete Blog Post Series on AutoUpgrade for ExaDB-D/ExaC@C: