Friday, September 25, 2026
  • About Us
  • Contact
DBAInsight
  • Guides
    • 23ai
    • RMAN
    • 26ai
    • Patch Update
    • RMAN
    • MySQL
    • Oracle GoldenGate
  • Cloud Technology
  • Case Studies
  • Troubleshooting
  • Training & Certification
NEWSLETTER
No Result
View All Result
DBAInsight
Home 26ai

Oracle Database 19c to 26ai Upgrade Using AutoUpgrade: Step-by-Step Real-World Guide

February 6, 2026
in 26ai
2
AutoUpgrade
0
SHARES
1.3k
VIEWS

Upgrading an Oracle database from 19c to 26ai is a major milestone for any DBA team. Oracle Database 26ai introduces AI-native features, performance improvements, and long-term support—but the upgrade process must be executed carefully to avoid downtime and surprises.

In this blog, I’ll walk you through a real production-style upgrade from Oracle 19c (19.23) to Oracle 26ai (23.26) using AutoUpgrade, including prechecks, common errors, fixes, and final upgrade validation.

Table of Contents

Toggle
    • Related posts
    • Oracle 26ai DBCA: Fix “There Are No ASM Disk Groups Detected” Error
    • Oracle Database 26ai Client Installation on Oracle Linux – Step-by-Step Guide
  • Why Use AutoUpgrade for 19c to 26ai?
  • Step 1: Prepare the AutoUpgrade JAR
  • Step 2: Generate a Sample Config File
  • Step 3: Configure the Upgrade (config.cfg)
    • Important highlights
  • Step 4: Run AutoUpgrade in ANALYZE Mode
    • Result
  • Step 5: Start the Upgrade (DEPLOY Mode)
  • Step 6: Monitor Upgrade Progress
    • Upgrade stages observed:
  • Step 7: Validate Upgrade Results
    • ✔ CDB$ROOT
    • ✔ PDB$SEED
    • ✔ TESTPDB
    • Components upgraded:
  • Post-Upgrade Note: Timezone Version
  • AutoUpgrade Summery
  • Key Lessons Learned
  • Final Thoughts

Related posts

Oracle 26ai DBCA: Fix “There Are No ASM Disk Groups Detected” Error

Oracle 26ai DBCA: Fix “There Are No ASM Disk Groups Detected” Error

August 28, 2026
Oracle Database 26ai Client Installation on Oracle Linux – Step-by-Step Guide

Oracle Database 26ai Client Installation on Oracle Linux – Step-by-Step Guide

August 5, 2026

This guide is practical, command-driven, and based on an actual RAC environment.


Why Use AutoUpgrade for 19c to 26ai?

Oracle AutoUpgrade is the recommended upgrade method for modern Oracle releases. It provides:

  • Automated prechecks and fixups
  • Minimal downtime
  • Support for CDB and PDB upgrades
  • Detailed logging and monitoring
  • Safer, repeatable upgrade workflow

For large environments or RAC systems, AutoUpgrade removes much of the manual risk traditionally associated with DBUA or manual scripts.


Step 1: Prepare the AutoUpgrade JAR

Oracle frequently updates AutoUpgrade independently of database homes, so the first best practice is to use the latest autoupgrade.jar.

cd /u01/app/oracle/product/23.26.0.0/dbhome_1/rdbms/admin
mv autoupgrade.jar autoupgrade.jar.bkp
cp /downloads/autoupgrade.jar .

This ensures you’re running with the newest checks, fixes, and bug improvements.


Step 2: Generate a Sample Config File

Use the Java bundled with the target Oracle 26ai home:

$ORACLE_BASE/product/23.26.0.0/dbhome_1/jdk/bin/java \
-jar $ORACLE_BASE/product/23.26.0.0/dbhome_1/rdbms/admin/autoupgrade.jar \
-create_sample_file config /tmp/config.cfg

This creates a clean template you can safely customize.


Step 3: Configure the Upgrade (config.cfg)

Below is the actual working configuration used for this upgrade:

upg1.log_dir=/u01/app/oracle/cfgtoollogs/autoupgrade/
upg1.sid=test
upg1.source_home=/u01/app/oracle/product/19.0.0/dbhome_1
upg1.target_home=/u01/app/oracle/product/23.26.0.0/dbhome_1
upg1.start_time=NOW
upg1.upgrade_node=rac-node1
upg1.run_utlrp=yes
upg1.timezone_upg=yes
upg1.target_version=23
upg1.restoration=no

Important highlights

  • run_utlrp=yes ensures invalid objects are recompiled
  • timezone_upg=yes prepares for timezone upgrades
  • restoration=no avoids restore-based precheck failures (explained later)

Step 4: Run AutoUpgrade in ANALYZE Mode

Always run ANALYZE before DEPLOY.

/u01/app/oracle/product/23.26.0.0/dbhome_1/jdk/bin/java \
-jar /u01/app/oracle/product/23.26.0.0/dbhome_1/rdbms/admin/autoupgrade.jar \
-config /tmp/config.cfg -mode analyze

Result

  • 1 CDB + 2 PDBs analyzed
  • No failures
  • Detailed reports generated

Logs and reports:

/u01/app/oracle/cfgtoollogs/autoupgrade/.../status.log
/u01/app/oracle/cfgtoollogs/autoupgrade/.../status.html
AutoUpgrade

Step 5: Start the Upgrade (DEPLOY Mode)

Once ANALYZE and PRECHECKS succeed, start the real upgrade:

/u01/app/oracle/product/23.26.0.0/dbhome_1/jdk/bin/java \
-jar /u01/app/oracle/product/23.26.0.0/dbhome_1/rdbms/admin/autoupgrade.jar \
-config /tmp/config.cfg -mode deploy

AutoUpgrade 25.6.251016 launched with default internal options
Processing config file ...
+--------------------------------+
| Starting AutoUpgrade execution |
+--------------------------------+
1 CDB(s) plus 2 PDB(s) will be processed
Type 'help' to list console commands
upg>


Step 6: Monitor Upgrade Progress

Inside the AutoUpgrade console:

lsj

lsj
+----+-------+---------+---------+-------+----------+-------+----------------+
|Job#|DB_NAME|    STAGE|OPERATION| STATUS|START_TIME|UPDATED|         MESSAGE|
+----+-------+---------+---------+-------+----------+-------+----------------+
| 102|   test|PREFIXUPS|EXECUTING|RUNNING|  11:43:33| 4s ago|Executing fixups|
+----+-------+---------+---------+-------+----------+-------+----------------+
Total jobs 1

status -job 102

Upgrade stages observed:

  • SETUP
  • PREUPGRADE
  • PRECHECKS
  • PREFIXUPS
  • DRAIN
  • DBUPGRADE
  • POSTCHECKS
  • POSTFIXUPS
  • POSTUPGRADE
  • SYSUPDATES

Live container progress:

  • CDB$ROOT
  • PDB$SEED
  • TESTPDB

The DBUPGRADE stage ran for ~25 minutes.

Details

        Job No           102
        Oracle SID       test
        Start Time       26/02/05 11:43:33
        Elapsed (min):   31
        End time:        N/A

Logfiles

        Logs Base:    /u01/app/oracle/cfgtoollogs/autoupgrade/test
        Job logs:     /u01/app/oracle/cfgtoollogs/autoupgrade/test/102
        Stage logs:   /u01/app/oracle/cfgtoollogs/autoupgrade/test/102/dbupgrade
        TimeZone:     /u01/app/oracle/cfgtoollogs/autoupgrade/test/temp
        Remote Dirs:

Stages
        SETUP            <1 min
        PREUPGRADE       <1 min
        PRECHECKS        <1 min
        PREFIXUPS        2 min
        DRAIN            3 min
        DBUPGRADE        ~25 min (RUNNING)
        POSTCHECKS
        POSTFIXUPS
        POSTUPGRADE
        SYSUPDATES

Stage-Progress Per Container

        +--------+---------+
        |Database|DBUPGRADE|
        +--------+---------+
        |CDB$ROOT|    41 % |
        |PDB$SEED|    0  % |
        | TESTPDB|    0  % |
        +--------+---------+

upg>

Step 7: Validate Upgrade Results

After completion, review upg_summary.log.

✔ CDB$ROOT

  • Upgraded to 23.26.1.0.0
  • Total time: 44 minutes

✔ PDB$SEED

  • Upgraded successfully
  • Total time: 54 minutes

✔ TESTPDB

  • Fully upgraded
  • All components VALID

Components upgraded:

  • Oracle Server
  • JVM
  • XML DB
  • Spatial
  • Oracle Text
  • Database Vault
  • Datapatch

Grand total upgrade time:

1 hour 44 minutes 56 seconds

Post-Upgrade Note: Timezone Version

The database timezone remained at version 32, while 26ai ships with version 43.

Oracle recommends running:

[oracle@rac-node1 ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 23.26.1.0.0 - Production on Thu Feb 5 18:25:42 2026
Version 23.26.1.0.0

Copyright (c) 1982, 2025, Oracle.  All rights reserved.


Connected to:
Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production
Version 23.26.1.0.0

SQL> SELECT * FROM v$timezone_file;

FILENAME                VERSION     CON_ID
-------------------- ---------- ----------
timezlrg_43.dat              43          0

to complete the timezone upgrade after validation and testing.

AutoUpgrade Summery

Oracle Database Release 23 Post-Upgrade Status Tool    02-05-2026 12:34:1
Container Database: TEST
[CON_ID: 1 => CDB$ROOT]

Component                               Current         Full     Elapsed Time
Name                                    Status          Version  HH:MM:SS

Oracle Server                          UPGRADED     23.26.1.0.0  00:26:27
JServer JAVA Virtual Machine           UPGRADED     23.26.1.0.0  00:06:33
Oracle XDK                             UPGRADED     23.26.1.0.0  00:02:30
Oracle Database Java Packages          UPGRADED     23.26.1.0.0  00:00:38
OLAP Analytic Workspace                UPGRADED     23.26.1.0.0  00:00:13
Oracle Label Security                  UPGRADED     23.26.1.0.0  00:00:11
Oracle Database Vault                  UPGRADED     23.26.1.0.0  00:01:03
Oracle Text                            UPGRADED     23.26.1.0.0  00:00:57
Oracle Workspace Manager               UPGRADED     23.26.1.0.0  00:01:25
Oracle Real Application Clusters       UPGRADED     23.26.1.0.0  00:00:00
Oracle XML Database                    UPGRADED     23.26.1.0.0  00:01:21
Spatial                                UPGRADED     23.26.1.0.0  00:04:44
Oracle OLAP API                        UPGRADED     23.26.1.0.0  00:00:16
Datapatch                                                        00:00:12
Final Actions                                                    00:00:42
Post Upgrade                                                     00:00:28

Total Upgrade Time: 00:44:40 [CON_ID: 1 => CDB$ROOT * ]
Asterisks denotes compilation time has been included during the upgrade process
unless invoked from AutoUpgrade.

Database time zone version is currently at 32. It is older than the
latest time zone version data file 43 that is shipped in the target home.
Time zone upgrade is recommended using the DBMS_DST package.
Note that this message is printed before post upgrade fixups are run.
To review if a time zone upgrade is needed, query the database before updating
the time zone manually.
Use "select version from v$timezone_file" to query current database timezone ver
sion.
Use "select dbms_dst.get_latest_timezone_version from dual" to query the latest
timezone version in the target home.


Oracle Database Release 23 Post-Upgrade Status Tool    02-05-2026 13:32:4
Container Database: TEST
[CON_ID: 3 => TESTPDB]

Component                               Current         Full     Elapsed Time
Name                                    Status          Version  HH:MM:SS

Oracle Server                          UPGRADED     23.26.1.0.0  00:35:27
JServer JAVA Virtual Machine           UPGRADED     23.26.1.0.0  00:05:58
Oracle XDK                             UPGRADED     23.26.1.0.0  00:02:13
Oracle Database Java Packages          UPGRADED     23.26.1.0.0  00:00:22
OLAP Analytic Workspace                UPGRADED     23.26.1.0.0  00:00:15
Oracle Label Security                  UPGRADED     23.26.1.0.0  00:00:13
Oracle Database Vault                  UPGRADED     23.26.1.0.0  00:01:12
Oracle Text                            UPGRADED     23.26.1.0.0  00:00:51
Oracle Workspace Manager               UPGRADED     23.26.1.0.0  00:01:29
Oracle Real Application Clusters       UPGRADED     23.26.1.0.0  00:00:00
Oracle XML Database                    UPGRADED     23.26.1.0.0  00:01:40
Spatial                                UPGRADED     23.26.1.0.0  00:06:18
Oracle OLAP API                        UPGRADED     23.26.1.0.0  00:00:20
Datapatch                                                        00:00:11
Final Actions                                                    00:00:42
Post Upgrade                                                     00:00:30

Total Upgrade Time: 00:54:25 [CON_ID: 3 => TESTPDB]

Database time zone version is currently at 32. It is older than the
latest time zone version data file 43 that is shipped in the target home.
Time zone upgrade is recommended using the DBMS_DST package.
Note that this message is printed before post upgrade fixups are run.
To review if a time zone upgrade is needed, query the database before updating
the time zone manually.
Use "select version from v$timezone_file" to query current database timezone ver
sion.
Use "select dbms_dst.get_latest_timezone_version from dual" to query the latest
timezone version in the target home.


Oracle Database Release 23 Post-Upgrade Status Tool    02-05-2026 13:32:5
Container Database: TEST
[CON_ID: 2 => PDB$SEED]

Component                               Current         Full     Elapsed Time
Name                                    Status          Version  HH:MM:SS

Oracle Server                          UPGRADED     23.26.1.0.0  00:35:30
JServer JAVA Virtual Machine           UPGRADED     23.26.1.0.0  00:05:59
Oracle XDK                             UPGRADED     23.26.1.0.0  00:02:13
Oracle Database Java Packages          UPGRADED     23.26.1.0.0  00:00:22
OLAP Analytic Workspace                UPGRADED     23.26.1.0.0  00:00:16
Oracle Label Security                  UPGRADED     23.26.1.0.0  00:00:13
Oracle Database Vault                  UPGRADED     23.26.1.0.0  00:01:12
Oracle Text                            UPGRADED     23.26.1.0.0  00:00:50
Oracle Workspace Manager               UPGRADED     23.26.1.0.0  00:01:29
Oracle Real Application Clusters       UPGRADED     23.26.1.0.0  00:00:00
Oracle XML Database                    UPGRADED     23.26.1.0.0  00:01:41
Spatial                                UPGRADED     23.26.1.0.0  00:06:20
Oracle OLAP API                        UPGRADED     23.26.1.0.0  00:00:20
Datapatch                                                        00:00:10
Final Actions                                                    00:00:55
Post Upgrade                                                     00:00:30

Total Upgrade Time: 00:54:29 [CON_ID: 2 => PDB$SEED * ]
Asterisks denotes compilation time has been included during the upgrade process
unless invoked from AutoUpgrade.

Database time zone version is currently at 32. It is older than the
latest time zone version data file 43 that is shipped in the target home.
Time zone upgrade is recommended using the DBMS_DST package.
Note that this message is printed before post upgrade fixups are run.
To review if a time zone upgrade is needed, query the database before updating
the time zone manually.
Use "select version from v$timezone_file" to query current database timezone ver
sion.
Use "select dbms_dst.get_latest_timezone_version from dual" to query the latest
timezone version in the target home.


Upgrade Times Sorted In Descending Order

Total Upgrade Time: 00:54:29 [CON_ID: 2 => PDB$SEED * ]
Total Upgrade Time: 00:54:25 [CON_ID: 3 => TESTPDB]
Total Upgrade Time: 00:44:40 [CON_ID: 1 => CDB$ROOT * ]
Grand Total Upgrade Time:    [0d:1h:44m:56s]
AutoUpgrade

Check the database version:

sqlplus "/as sysdba"

SQL*Plus: Release 23.26.1.0.0 - Production on Thu Feb 5 19:34:40 2026
Version 23.26.1.0.0

Copyright (c) 1982, 2025, Oracle.  All rights reserved.


Connected to:
Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production
Version 23.26.1.0.0

SQL> select name,version,status from v$database, v$instance;

NAME      VERSION           STATUS
--------- ----------------- ------------
TEST      23.0.0.0.0        OPEN

SQL>

Key Lessons Learned

  • Always replace autoupgrade.jar with the latest version
  • Run ANALYZE before DEPLOY—no exceptions
  • ARCHIVE_MODE_ON errors are often policy-based, not configuration issues
  • upg1.restoration=no is essential in many real-world environments
  • AutoUpgrade handles CDB + PDB upgrades cleanly and predictably

Final Thoughts

This successful Oracle Database 19c to 26ai upgrade using AutoUpgrade demonstrates why AutoUpgrade is the safest and most efficient method for modern Oracle environments.

With proper preparation, correct configuration, and attention to logs, you can confidently upgrade even complex RAC databases to Oracle 26ai—unlocking AI-native capabilities and long-term support.

  • Oracle Database 26ai RAC Installation – Part 1: Grid Infrastructure Setup
  • Oracle 26ai RAC Installation – Part 2: Database Software Installation & RAC Database Creation (DBCA)
Tags: AutoUpgradeAutoUpgrade analyze deployAutoUpgrade prechecksOracle 19c to 26ai upgradeOracle 19c upgrade guideOracle 26ai upgradeOracle AutoUpgradeOracle Database MigrationOracle Database UpgradeOracle DBA AutoUpgradeOracle RAC AutoUpgradeOracle upgrade step by step
Previous Post

How to Apply Oracle 19.30 Release Update Using runInstaller (Step-by-Step Guide)

Next Post

RMAN Archive Log Delete Options Explained (With Practical Examples)

Next Post
RMAN

RMAN Archive Log Delete Options Explained (With Practical Examples)

Comments 2

  1. nomi says:
    2 weeks ago

    why I am getting tthis error
    UPG-3109 on DRAIN
    Unable to stop current instance

    Reply
    • Admin DBAInsight says:
      2 weeks ago

      Could you please share the full details of the issue with us at **[info@dbainsight.com](mailto:info@dbainsight.com)**? This will help us better understand the issue and provide the appropriate assistance.

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

POPULAR NEWS

  • Oracle Patch 38632161: Step-by-Step Guide to Upgrade Oracle 19c to Release Update 19.30

    Oracle Patch 38632161: Step-by-Step Guide to Upgrade Oracle 19c to Release Update 19.30

    0 shares
    Share 0 Tweet 0
  • How To Download And Install The Latest OPatch

    0 shares
    Share 0 Tweet 0
  • How to Install Oracle 19c Database on Red Hat Enterprise Linux 9

    0 shares
    Share 0 Tweet 0
  • Oracle Database 19.32 Release Update (RU) Patching Guide – Patch 39472050

    0 shares
    Share 0 Tweet 0
  • Installing Oracle Database 26AI on Red Hat Enterprise Linux 9

    0 shares
    Share 0 Tweet 0
  • About Us
  • Contact

© 2026 DBAInsight - Smarter Databases. Sharper Insights. DBAInsight.

No Result
View All Result
  • Home
  • Cloud & Modern DBs
  • Guides
  • Cloud Technology
  • Case Studies
  • Troubleshooting
  • Training & Certification

© 2026 DBAInsight - Smarter Databases. Sharper Insights. DBAInsight.

Add as a preferred source on Google
Add as preferred source on Google