Before the upgrade fun can begin, we need a new Oracle home. But that’s so easy using AutoUpgrade.
Download Software and Patches
In Oracle AI Database 26ai, Oracle delivers updated gold images, so there’s no need to manually download the base release.
- I create a new AutoUpgrade config file:
global.global_log_dir=/home/oracle/autoupgrade/log global.keystore=/home/oracle/autoupgrade/keystore global.folder=/home/oracle/patch-repo download1.target_version=23 download1.patch=RECOMMENDED,JDK,37393792 download1.platform=LINUX.X64- The
patchparameter instructs AutoUpgrade to downloadRECOMMENDEDgives me the newest gold image, including an updated OPatch and OCW component. Further, it brings in the matching Data Pump bundle patch. The OJVM component is now fully embedded in the Release Update.JDKadds a one-off patch that updates the JDK installation in the Oracle home to the very latest version.- I can add additional one-off patches by specifying the patch number.
- In a later version of AutoUpgrade, you can set
target_versionto 26 as well. But until then, use 23.
- The
- I’ve already stored my MOS credentials in the AutoUpgrade keystore.
- Now, I can download the patches:
java -jar autoupgrade.jar -patch -config download-software.cfg -mode download
Install Oracle Home
Now that we have the software and patches, let’s install an Oracle home. You can use AutoUpgrade for that as well – even for Oracle RAC databases.
- I create a new config file:
global.global_log_dir=/home/oracle/autoupgrade/log global.keystore=/home/oracle/autoupgrade/keystore global.folder=/home/oracle/patch-repo install1.target_version=23 install1.patch=RECOMMENDED,JDK,37393792 install1.target_home=/u01/app/oracle/product/dbhome_26 install1.home_settings.oracle_base=/u01/app/oracle install1.home_settings.edition=EE install1.home_settings.inventory_location=/u01/app/oraInventory install1.download=no- I specify the location of my Oracle home using
target_home. - The above-mentioned
home_settingsare mandatory. I can customize the Oracle home using additional parameters. Check the documentation for further details.
- I specify the location of my Oracle home using
- Now, I can install the new Oracle home:
java -jar autoupgrade.jar -patch -config install-oh.cfg -mode create_home - If my oracle user has sudo privileges, AutoUpgrade runs the root scripts for me. Otherwise, it will print a message in the console.
# Run the root.sh script as root for the following jobs: For create_home_1 -> /u01/app/oracle/product/dbhome_26/root.sh - I now have a fully up-to-date Oracle home:
$ OPatch/opatch lspatches 37393792;ORA-12850 REPORTED AFTER APPLYING DBRU ON FIRST NODE 38378853;JDK BUNDLE PATCH 23.26.0.0.0 38504058;DATAPUMP BUNDLE PATCH 23.26.0.0.0 38405123;OCW RELEASE UPDATE 23.26.0.0.0 (38405123) Gold Image 38404116;Database Release Update : 23.26.0.0.0 (38404116) Gold Image OPatch succeeded. - Consider creating a gold image to use on another server. In a future release, AutoUpgrade will be able to do that too.
Happy upgrading!
Can I download the exact same 26ai EE binaries from Oracle using a normal account? as i searched and let it go
The target for me is to configure a Data guard by upgrading the existing 19c environment to 26 AI.
But i can’t find the binaries for the 26AI EE and can i use the 26 AI free for the DG configuration – do it support that ?
LikeLike
Which system are you using? We only support Engineered systems and cloud at the moment. Later this month, we’ll release 26ai for Linux on-prem as well.
Regards,
Daniel
LikeLike
Hello Daniel!
I am trying to install 23.26 with autoupgrade 25.6.251016.
When using the parameter install1.home_settings.home_name=dbhome_CDBTC05_2600 I get a “The home_settings.home_name parameter for prefix install1 includes a value that is not supported or is not in the required format”.
When removing the parameter, the installation is working.
When removing all underscores, the installation is working fine.
I am using underscores in home names for centuries, never had any problems.
Even the documentation Patch Parameters for the AutoUpgrade Configuration File shows an example with underscore (tried this value, too).
-> upg1.home_settings.home_name=inv_west
Failing.
Could you check, if there is a reason, why underscores are considered harmful?
Regrads
Andreas
LikeLike
Hi Andreas,
That’s a bug. I’ll get that fixed for you.
Do you need a test version of AutoUpgrade, so you can use it to install the new Oracle homes with an underscore in the name or are you satisified waiting for the next release (it won’t be part of the next release that comes out here in January).
Regards,
Daniel
LikeLike
Hi Daniel,
We are planning to upgrade our production database from 19c to 26ai on Oracle Linux 9 (on-premises). Could you please confirm whether 26ai is generally available for on-prem deployments and whether this is the right time to proceed with a production upgrade? Or would you recommend waiting a few more months?
Best regards,
Firdous
LikeLike
Hi Firdous,
Oracle AI Database 26ai has replaced Oracle Database 23ai and as such it has been around for a while. It’s not a brand-new release in the usual term.
When it becomes available on-prem (here in January), I would start testing my database and application. As soon as your fit to upgrade, I don’t see a problem doing that.
Regards,
Daniel
LikeLike
Hi Daniel,
Thank you. I have one more question .
We have some Non-CDB and non-asm databases 19c. We need to convert them into CDB(pdb) and also migrate to ASM file system. Does autoupgrade handle both tasks together?. eg: something like this
upgrade.cfg
global.autoupg_log_dir=/home/oracle/autoupgrade/logs
upg1.sid=DLP
upg1.source_home=/u01/app/oracle/product/19.0.0/dbhome_1
upg1.target_home=/u01/app/oracle/product/19.0.0/dbhome_1
— CDB & PDB Specifications
upg1.target_cdb=CDBD
upg1.target_pdb_name=DLP
–ASM Movement via OMF This copies files from filesystem to the ASM disk group set in CDB
upg1.target_pdb_copy_option=file_name_convert=none
–Post-Conversion
upg1.run_utlrp=yes
If there is better way to handle it please do share your valuable information.
Regards
Firdous
LikeLike
Hi,
Yes, AutoUpgrade would be able to handle that with refreshable clone PDBs. Be sure to set DB_CREATE_FILE_DEST to the ASM disk group in your target CDB, and then use the above config file. The FILE_NAME_CONVERT=NONE will cause the database to use OMF for the files in the target CDB, and since that’s on ASM it should work smooth.
Regards,
Daniel
LikeLike
Hi Danial,
Thank you very much.
I should have lighted in earlier reply that this procedure also include moving from one server to other. here is updated one:
AutoUpgrade Configuration for Remote Refreshable Clone + Upgrade
global.autoupg_log_dir=/home/oracle/autoupgrade/logs
global.remove_underscore_parameters=yes Source Database (CentOS 7)
upg1.dbname=DLP
upg1.source_home=/u01/app/oracle/product/19.0.0/dbhome_1
upg1.source_dblink=DLP_LINK Target Database (OL9.7)
upg1.target_home=/u01/app/oracle/product/19.28.0/dbhome_1
upg1.target_cdb=CDB19C
upg1.target_pdb_name=DLP_PDB Migration & Upgrade Method (Refreshable Clone)
upg1.pdb_refresh_mode=manual # Creates a refreshable clone for minimal downtime
upg1.convert_to_pdb=yes # Converts non-CDB architecture to PDB
upg1.target_pdb_copy_option=file_name_convert=none # Creates OMF files in ASM (+DATA) Best Practices & Performance
upg1.export_rman_backup_for_noncdb_to_pdb=yes # Exports RMAN metadata for easier rollback
upg1.parallel=4
upg1.run_utlrp=yes
upg1.timezone_upg=yes
upg1.fixups_continue=yes
i tried to use your 2 blogs to kind of merge the steps:
https://dohdatabase.com/2026/01/08/upgrade-oracle-database-19c-non-cdb-to-26ai-and-convert-to-pdb-using-refreshable-clone-pdb/
and
https://dohdatabase.com/2026/01/05/upgrade-oracle-database-19c-non-cdb-to-26ai-and-convert-to-pdb/
regarding the upg1.target_home. … can it be same patch version or it has to be higher than the source version or different?
Regards
Firdous
LikeLike
Hi,
The config file looks weird. Several of the parameters don’t exist. I suggest that you take a look at this blog post. It’s about a non-CDB to PDB but else similar to your example. I don’t have a blog post (yet) about PDB to PDB. But the differences are tiny.
Let me know how it turns out.
Daniel
LikeLike