Oracle Database 19c upgrade is a critical step for organizations aiming to enhance database performance, reliability, and long-term support. If you’re still running older versions like Oracle 11gR2, 12cR2, or 18c, it’s time to plan your Oracle 11gR2 to 19c migration using Oracle’s powerful AutoUpgrade tool.
This guide provides a complete step-by-step walkthrough for upgrading your non-CDB databases safely and efficiently to Oracle Database 19c. By following this process, you’ll minimize downtime, avoid manual errors, and ensure a seamless migration aligned with Oracle’s best practices.
Benefits of Using the AutoUpgrade Tool
The AutoUpgrade tool offers tremendous advantages for DBAs and organizations planning an Oracle Database 19c upgrade. Here’s why it’s the preferred method for modernizing Oracle databases:
- Upgrade multiple databases simultaneously with a single command and configuration file.
- Save time and money by upgrading hundreds of databases at once, eliminating complex manual upgrade methods.
- Handles the entire upgrade process end-to-end, including pre-checks, automated fixups, the upgrade itself, and post-upgrade validation — with minimal manual intervention.
- Works across multiple Oracle Database releases, supporting upgrades from as early as version 12.2 to any later release, regardless of the operating system.
- Supports all upgrade scenarios, including non-CDB, CDB, and even non-CDB to PDB conversions for both single-instance and RAC environments.
- Frequent releases ensure quick access to bug fixes and new features, improving reliability and upgrade efficiency.
- Resumable at any stage, allowing upgrades to be paused and continued later without data loss.
- Includes automatic retry and fallback, as well as scheduling capabilities for future upgrade windows.
- Supports parameter customization, allowing DBAs to modify or remove initialization parameters and run custom scripts during the process.
- Performs read-only analysis of databases before upgrade to detect potential issues requiring manual action.
- Applies automated fixups to validate readiness for the new release and minimize manual adjustments.
- Supports upgrades of single-instance and RAC databases, covering both CDB and non-CDB setups.
- Generates Pre-Upgrade reports in multiple formats (TXT, HTML, JSON, XML) — perfect for documentation or automation scripts.
- Handles non-CDB to PDB conversions, unplug/plug upgrades, and refreshable clone scenarios.
- Performs distributed upgrades across RAC nodes for multi-PDB CDB databases.
- Supports both database upgrades and patching, providing a unified upgrade framework.
- Enhanced Transparent Data Encryption (TDE) support, ensuring improved data security during upgrade.
- Allows prioritization of PDBs during large-scale CDB upgrades.
In short, AutoUpgrade combines power, flexibility, and automation — saving countless hours for DBAs and ensuring consistent, error-free upgrades across environments.
Prerequisites and Requirements
Before you begin, make sure the following conditions are met:
- Your source database version must be one of the following and compatible with a direct upgrade to 19c:
11gR2 (11.2.0.4), 12cR2 (12.2.0.1), or 18c (18.0.0). - You must have Oracle Database 19c software installed (software-only installation).
- Ensure that your target ORACLE_HOME has the latest Release Update (RU) patches applied.
You can find the latest proactive patch information in Oracle Support Doc ID 2521164.1.
Step 1: Enable Archive Mode, Fast Recovery Area, and Oracle Managed Files (OMF)
To prepare your 11gR2 database for upgrade, enable ARCHIVELOG mode and configure the Fast Recovery Area (FRA) and Oracle Managed Files.
Run the following SQL commands as a SYSDBA user:
ALTER SYSTEM SET db_recovery_file_dest_size=20g;
ALTER SYSTEM SET db_recovery_file_dest='/u01/app/oracle/fast_recovery_area';
ALTER SYSTEM SET db_create_file_dest='/u01/app/oracle/oradata';
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
EXIT;
This ensures that your database is properly configured for a safe upgrade process.
Step 2: Download the Latest AutoUpgrade Tool
Oracle frequently updates the AutoUpgrade.jar utility to fix bugs and add enhancements.
Download the latest version from Oracle Support Doc ID 2485457.1.
Once downloaded, replace your existing JAR file with the new one:
cd /u02/app/oracle/product/19.0.0.0/dbhome_1/rdbms/admin
mv autoupgrade.jar autoupgrade.jar.bkp
cp /downloads/autoupgrade.jar .
Step 3: Generate a Sample AutoUpgrade Configuration File
Use the AutoUpgrade tool to create a sample configuration file that defines your source and target database details.
Ensure you are using your source (old) ORACLE_HOME before running this command.
export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1
$ORACLE_BASE/product/19.0.0.0/dbhome_1/jdk/bin/java -jar $ORACLE_BASE/product/19.0.0.0/dbhome_1/rdbms/admin/autoupgrade.jar -create_sample_file config /tmp/config.cfg
This will generate a basic configuration file named /tmp/config.cfg.
Step 4: Edit the Configuration File
Next, open and edit the configuration file to include your specific upgrade parameters.
Here’s an example configuration for upgrading a database named TEST:
upg1.log_dir=/u01/app/oracle/cfgtoollogs/autoupgrade/
upg1.sid=test
upg1.source_home=/u01/app/oracle/product/11.2.0.4/dbhome_1
upg1.target_home=/u02/app/oracle/product/19.0.0.0/dbhome_1
upg1.start_time=NOW
upg1.upgrade_node=localhost
upg1.run_utlrp=yes
upg1.timezone_upg=yes
upg1.target_version=19
This tells the AutoUpgrade tool where to find your databases, where to log the output, and when to start the process.

Step 5: Run AutoUpgrade in Analyze Mode
Before performing the actual upgrade, it’s crucial to analyze your environment for any potential issues.
Run the following command:
$ORACLE_BASE/product/19.0.0.0/dbhome_1/jdk/bin/java -jar $ORACLE_BASE/product/19.0.0.0/dbhome_1/rdbms/admin/autoupgrade.jar -config /tmp/config.cfg -mode analyze
[oracle@prod ~]$ /u01/app/oracle/product/19.0.0/jdk/bin/java -jar /u01/app/oracle/product/19.0.0/rdbms/admin/autoupgrade.jar -config /tmp/config.cfg -mode analyze
AutoUpgrade 25.6.251016 launched with default internal options
Processing config file ...
+--------------------------------+
| Starting AutoUpgrade execution |
+--------------------------------+
1 Non-CDB(s) will be analyzed
Type 'help' to list console commands
upg> Job 100 completed
------------------- Final Summary --------------------
Number of databases [ 1 ]
Jobs finished [1]
Jobs failed [0]
Please check the summary report at:
/u01/app/oracle/cfgtoollogs/autoupgrade/cfgtoollogs/upgrade/auto/status/status.html
/u01/app/oracle/cfgtoollogs/autoupgrade/cfgtoollogs/upgrade/auto/status/status.log
The analyze mode validates your configuration and highlights any manual pre-upgrade actions required.
You’ll receive a detailed summary report and logs in the following directory:
/u01/app/oracle/cfgtoollogs/autoupgrade/cfgtoollogs/upgrade/auto/status/
Check status.html or status.log for analysis results.
Step 6: Run AutoUpgrade in Deploy Mode
Once all prechecks are cleared, you can start the actual upgrade in deploy mode.
⚠️ Important: Make sure there are no invalid database objects or components before starting the upgrade.
Execute:
$ORACLE_BASE/product/19.0.0.0/dbhome_1/jdk/bin/java -jar $ORACLE_BASE/product/19.0.0.0/dbhome_1/rdbms/admin/autoupgrade.jar -config /tmp/config.cfg -mode deploy
/u01/app/oracle/product/19.0.0/jdk/bin/java -jar /u01/app/oracle/product/19.0.0/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 Non-CDB(s) will be processed
Type 'help' to list console commands
You can monitor progress in real-time using the AutoUpgrade console commands:
upg> lsj
+----+-------+---------+---------+-------+----------+-------+----------------+
|Job#|DB_NAME| STAGE|OPERATION| STATUS|START_TIME|UPDATED| MESSAGE|
+----+-------+---------+---------+-------+----------+-------+----------------+
| 101| testdb|PREFIXUPS|EXECUTING|RUNNING| 12:22:36| 6s ago|Executing fixups|
+----+-------+---------+---------+-------+----------+-------+----------------+
Total jobs 1
upg>
upg> status -job 101
Details
Job No 101
Oracle SID testdb
Start Time 25/10/29 12:22:36
Elapsed (min): 0
End time: N/A
Logfiles
Logs Base: /u01/app/oracle/cfgtoollogs/autoupgrade/testdb
Job logs: /u01/app/oracle/cfgtoollogs/autoupgrade/testdb/101
Stage logs: /u01/app/oracle/cfgtoollogs/autoupgrade/testdb/101/prefixups
TimeZone: /u01/app/oracle/cfgtoollogs/autoupgrade/testdb/temp
Remote Dirs:
Stages
SETUP <1 min
GRP <1 min
PREUPGRADE <1 min
PRECHECKS <1 min
PREFIXUPS ~0 min (RUNNING)
DRAIN
DBUPGRADE
POSTCHECKS
POSTFIXUPS
POSTUPGRADE
SYSUPDATES
Stage-Progress Per Container
+--------+---------+
|Database|PREFIXUPS|
+--------+---------+
| testdb| 8 % |
+--------+---------+
upg>
This displays the current stage, elapsed time, and log directories for your upgrade.

Step 7: Verify the Upgrade Completion
After the upgrade completes successfully, you’ll see a message like:
upg> Job 101 completed
------------------- Final Summary --------------------
Number of databases [ 1 ]
Jobs finished [1]
Jobs failed [0]
Jobs restored [0]
Jobs pending [0]
Please check the summary report at:
/u01/app/oracle/cfgtoollogs/autoupgrade/cfgtoollogs/upgrade/auto/status/status.html
/u01/app/oracle/cfgtoollogs/autoupgrade/cfgtoollogs/upgrade/auto/status/status.log
To confirm, review the summary report and logs in:
/u01/app/oracle/cfgtoollogs/autoupgrade/testdb/101/dbupgrade/upg_summary.log
If everything looks good, it’s time to verify the upgrade inside SQL*Plus:
export ORACLE_HOME=/u02/app/oracle/product/19.0.0.0/dbhome_1
sqlplus / as sysdba
Check the database version:
SQL> SQL> select name,version,status from v$database, v$instance;
NAME VERSION STATUS
--------- ----------------- ------------
TESTDB 19.0.0.0.0 OPEN
Congratulations! 🎉 Your Oracle Database has been successfully upgraded to Oracle 19c.
Post-Upgrade Tasks
After completing the upgrade:
- Recompile any invalid objects using:
@?/rdbms/admin/utlrp.sql
- Verify timezone updates and statistics gathering.
- Backup your 19c database.
- Review logs under
/u01/app/oracle/cfgtoollogs/autoupgrade/for any warnings.
Pro Tips for a Smooth Oracle Database Upgrade
- Always test your upgrade in a staging environment first.
- Use the AutoUpgrade analyze mode multiple times until all prechecks are clear.
- Ensure adequate disk space and memory resources before starting.
- Apply the latest RU patch to your 19c target home before beginning the process.
- Take a full RMAN backup before performing the upgrade.
Related Guides for Database Upgrade
If you prefer a manual approach or want to explore the DBUA method, check out these related step-by-step tutorials from our site:
- Oracle 19c Database Upgrade from 11.2.0.4 to 19c using DBUA
- Oracle 19c Database Upgrade from 11.2.0.4 to 19c using Manual Method
These internal links help you compare different upgrade paths and choose what best fits your environment.
Final Thoughts
Upgrading from Oracle 11gR2, 12cR2, or 18c to 19c might seem challenging, but with Oracle’s AutoUpgrade tool, the process is highly automated, reliable, and repeatable.
By following these steps carefully, you ensure a minimal downtime, faster execution, and reduced risk of human error during the upgrade.
Oracle Database 19c is the most stable and supported release — offering long-term support through 2030. So, if you haven’t upgraded yet, now is the perfect time to future-proof your database infrastructure.
As you prepare for your upgrade, consider how the AutoUpgrade tool can enhance your database management strategy.




