| Lesson 5 | Upgrade to Oracle 23c / 23ai |
| Objective | Plan and execute a modern upgrade from Oracle 19c to Oracle 23c/23ai using AutoUpgrade, multitenant best practices, and cloud-aware methods. |
java -jar autoupgrade.jar -config config.properties -mode analyze
for a pre-upgrade check, followed by `-mode upgrade` for the actual migration. AutoUpgrade then analyzes the source, applies data dictionary fixups, performs the upgrade, converts non-CDBs to PDBs if needed, and runs post-upgrade validations. For CDBs with multiple PDBs, upgrade the entire container at once or use an "unplug-plug" method: unplug PDBs from the 19c CDB, plug them into a new 23c CDB, and upgrade individually. This tool is fully restartable and logs activities comprehensively for monitoring via its console.
Prepare an AutoUpgrade configuration file and perform an analyze/execute cycle.
# Example: AutoUpgrade config snippet (paths are illustrative)
global.autoupg_log_dir=/u01/app/autoupgrade/logs
upg1.sid=ORCL19
upg1.source_home=/u01/app/oracle/product/19.0.0/dbhome_1
upg1.target_home=/u01/app/oracle/product/23.0.0/dbhome_1
upg1.target_version=23
upg1.method=upgrade
upg1.timezone_upg=yes
upg1.upgrade_node=localhost
upg1.run_utlrp=yes
# Analyze first
java -jar /u01/app/autoupgrade/autoupgrade.jar -config /tmp/autoupgrade.cfg -mode analyze
# Execute upgrade
java -jar /u01/app/autoupgrade/autoupgrade.jar -config /tmp/autoupgrade.cfg -mode deploy
For rare estates still on 11gR2, plan for additional steps: ensure supported patch level, consider Data Pump with character set checks for cross-platform moves, or use an intermediate staging environment if direct upgrade constraints apply. Validate application compatibility and test performance baselines - expect more remediation effort than a 19c source.
Next lesson: Fleet automation and image-based rollouts with FPP - standardizing 23c/23ai across environments.