blog Oracle blog in Spanish

Upgrade PDB 19c 26ai Autoupgrade

In this post explain how to upgrade a database from 19c 26ai. To do this, I’ll walk you through the process using Autoupgrade Oracle update Advisor proactively identify and resolve issues before proceeding with the upgrade.

On the same machine (oracle19cdb1), we will migrate a multitenant database multitenant TESTPDB1) running version 19.3 to a new container already created in version 23.23.26.1.0. To perform this upgrade, we will use autoupgrade, the option recommended by Oracle.

Machine: oracle19cdb1
Source: Oracle 19c (19.3.0.0.0) -> CDB (test) -> PDB TESTPDB1)
Destination: Oracle 26ai (23.26.1.0.0) -> CDB (orcl) ->

1. Download the latest version of autoupgrade

We recommend downloading the latest version of theAutoUpgradeutility before beginning any of the tasks.

To do so, download the software the following address.
https://www.oracle.com/database/upgrades/

You can also do it directly

wgetautoupgrade

Depending on which version of Oracle you are using, you can verify that the autoupgrade tool is already installed in the default path $ORACLE_HOME/rdbms/admin autoupgrade
In this case, if you are not using the latest version, replace it with the latest version you have recently downloaded.

oracle@oracle19cdb1 admin]$ mv autoupgrade.jar autoupgrade.jar_old
oracle@oracle19cdb1 admin]$ wgetautoupgrade–2026-04-03 05:17:17–

2 – We create the Autoupgrade configuration file.

Before creating the final configuration file that we will run with autoupgrade.jar using the necessary parameters for the upgrade, the autoupgrade.jar utility allows us, among other things, to create a sample file to use as a basis.

We run the following:
java autoupgrade.jar -create_sample_file config

The file /tmp/sample_config.cfg is created with default settings to help you configure your configuration file.

Part of the file created.

Using this sample file, we're going to create a simple file that works for our environment.
This is our upgrade26.cfg file

[oracle@oracle19cdb1 admin]$ cat /tmp/upgrade26.cfg
global.autoupg_log_dir=/tmp/upgrade
upg1.software
upg1.software
upg1.sid=test
upg1.target_cdb=orcl
upg1.restoration=no

Explanation
global.autoupg_log_dir=/tmp/upgrade -> log directory
upg1.software-> Source Oracle Home
upg1.software > Target Oracle Home
upg1.sid=test -> Source database SID
upg1.target_cdb=orcl -> Target CDB
upg1.restoration=no -> Restore point in case a rollback of the operation is required.
Recommended; in this case, it is set to "no" because this is a test.

3 – We analyze our database.

Before rolling out an upgrade, we can check whether our database is ready to handle the upgrade without any issues.

java autoupgrade.jar -config /tmp/upgrade26.cfg -mode analyze

We're launching the precheck.

When I run it, the following error appears:

Unsupported Java Runtime Environment 24 AutoUpgrade must run with Java version 11

To resolve this issue, we need to download a certified version for this upgrade.

You can download the version from the following page:
java

On this page, download the file that corresponds to your operating system and the version required by the tool.

Once downloaded, we install the rpm.

[root@oracle19cdb1 Downloads]# rpm jdk-11.0.31_linux-x64_bin.rpm
Verifying… ################################# [100%]
Preparing… ################################# [100%]
Updating / installing…
1:jdk-11-2000:11.0.31-9 ################################# [100%]

We perform the upgrade using the java version:

[oracle@oracle19cdb1 admin]$java autoupgrade.jar -config /tmp/upgrade26.cfg -mode analyze
AutoUpgrade .5.260117 has been started with the default internal options
Processing configuration file…
+——————————–+
| Starting AutoUpgrade execution AutoUpgrade
+——————————–+
1 PDB analyzed
Type ‘help’ to list console commands

Autoupgrade will take Autoupgrade to the console to monitor the status of our check:

Processing configuration file…
+——————————–+
| Starting AutoUpgrade
+——————————–+
1 PDB analyzed
Type ‘help’ to list console commands
upg>

There are several ways to monitor the processes running in Autopugrade. One is to add the command `lsj -a 10 `, which will display the status of the database analysis on the screen, verifying the parameters in our configuration file.

Command explanation:
lsj (lists jobs)
-a (lists all jobs, both active and inactive)
10 (refresh interval in seconds for the executed command)

There are different ways to monitor our work; we’ll look at some of them in this example.

This returns a job ID—in this case, 100—which we can use to view more information about the executed job (status, errors, etc.), if necessary.

If everything is correct, we'll see something like this:

We verified that everything ran without errors by checking the log file.

We can now proceed with the upgrade. In this case, we do not have a restore point upg1.restoration=no, but for production environments, I always recommend considering this option.

4 – Upgrade the PDB database from PDB> 19C PDB>26ai

After the precheck, we can now proceed with the database upgrade—in this case, for our pdb testpdb1)—from a 19c container 19c 26ai container.

[oracle@oracle19cdb1 admin]$ java autoupgrade.jar -config /tmp/upgrade26.cfg -mode deploy

This time, we're going to monitor the job as follows (status -job 101 -a 10).

upg>status -job 101 -a 10
Details

In a few minutes, we'll have our PDB 26ai format.

[oracle@oracle19cdb1 ~]$ cat /tmp/upgrade/cfgtoollogs/upgrade/auto/status/status.log
Autoupgrade Report
[Date] Fri Apr 24 03:04:51 CEST 2026
[Stage Name] SYSUPDATES
[Status] SUCCESS
[Start Time] 2026-04-24 03:04:50
[Duration] 0:00:00
[Log Directory] /tmp/upgrade/test/101/sysupdates
Summary:/tmp/upgrade/test/101/dbupgrade/upg_summary.log
[oracle@oracle19cdb1 ~]$

5 - Post-upgrade checks.

All that remains now is to verify that our upgrade to 26ai successful.

CDB 19C

To do this, we connect to the source database;

We verified that the "testpdb1" database is no longer present in the source database.

[oracle@oracle19cdb1 101]$ sqlplus -v
SQL*Plus: Release 19.0.0.0.0 – Production
Version 19.3.0.0.0
[oracle@oracle19cdb1 101]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 – Production on Fri Apr 24 08:11:06 2026
Version 19.3.0.0.0
SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
——————————————————————
2 PDB READ ONLY NO

CDB 26AI

We connect to the 26AI container 26AI we have performed the upgrade to 26ai verify that our PDB has been migrated to 26ai.

[oracle@oracle19cdb1 admin]$ sqlplus -v
SQL*Plus: Release 23.26.1.0.0 – Production
Version 23.26.1.0.0


[oracle@oracle19cdb1 admin]$ sqlplus / as sysdba
SQL*Plus: Release 23.26.1.0.0 – Production on Fri Apr 24 08:10:46 2026
Version 23.26.1.0.0
Copyright (c) 1982, 2025, Oracle. All rights reserved.
Connected to:
Oracle AI Database 26ai Edition Release 23.26.1.0.0 – Production
Version 23.26.1.0.0


SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
————————————————————-
2 PDB READ ONLY NO
3 ORCLPDB READ WRITE NO
4 TESTPDB1 READ WRITE NO


The Autoupgrade options Autoupgrade quite extensive; keep in mind that this is the option recommended and supported by Oracle. I’ll be writing more case studies and adding them to my blog case they’re helpful.

Etiquetas:
Oracle ACE