It’s time for a new version of AutoUpgrade. The 25.1 version of AutoUpgrade is available for download. And you should refresh your existing versions quickly since we added plenty of new and long awaited features but we of course fixed also known bugs.

Photo by John Rodenn Castillo on Unsplash
How to download AutoUpgrade 25.1
Not only can you download the newest AutoUpgrade and its previous versions from MOS Note:2485457.1 β Download AutoUpgrade. But for many of you it may be easier to just fetch it with wget or curl directly from:
You have the choice π
This is what AutoUpgrade should tell you:
java -jar autoupgrade.jar -version build.version 25.1.250212 build.date 2025/02/12 18:51:30 +0000 build.hash 24fd3b4f8 build.hash_date 2025/02/07 21:18:23 +0000 build.supported_target_versions 12.2,18,19,21,23 build.type production build.label (HEAD, tag: v25.1, origin/stable_devel, stable_devel) build.MOS_NOTE 2485457.1 build.MOS_LINK https://support.oracle.com/epmos/faces/DocumentDisplay?id=2485457.1 44 bugs fixed since v24.8 release. Tag: v25.1 Description: This is the release for 25.1 on MOS 19.27 and 23.8 (APR2025RU)
The above is from the version from MOS while the version on oracle.com still gives 24.8 until the mirroring to the external page has been completed. Please allow us 1-2 days until it has been mirrored.
Whatβs new?
At first, the most important features make the patching part even more complete. We are so excited to hear and see how quickly people adopt it. And we know, there are still some tiny little pieces which may be difficult – but trust us, we hear you, we listen – and we do our best to meet all your expectations.
So, with AutoUpgrade 25.1 you can expect support for patching other Unix platforms, support for MRPs (Monthly Recommended Patches), add support for building the home on OL9, get more control on refreshable clones and add finally the complete AU support for RAC on Windows. And much more – see below for more details.
Yeah!!
Always refer to the change.log at the bottom of the MOS Note:2485457.1 β Download AutoUpgrade.
New Features
- AUPG-4089
AutoUpgrade Patching: Add support for other UNIX platforms - AUPG-4184
AutoUpgrade Patching: Add support for Oracle Linux 9 - AUPG-2879
For refreshable clones give the user control when the upgrade command can start. See console command -proceed for more information - BUG-36459916
Add support for RAC on Windows
Enhancements
- AUPG-4016
Add validation for defer log shipping and stop redo apply - AUPG-4041
AutoUpgrade Patching – Message to run the root.sh script - AUPG-4091
AutoUpgrade Patching – Support MRPs - AUPG-4140
AutoUpgrade Patching – Be more flexible with the patch parameter on “-mode download“ - AUPG-4155
Add runtime check AutoUpgrade runs “as administrator” on start-up - AUPG-4162
Add parameter to keep Windows credential file after the job completes - AUPG-4168
Autoupgrade Patching – Failed to read Windows registry when Java 1.8 is used - AUPG-4169
Missing dsi.ora when copying/merging network files - AUPG-4176
AutoUpgrade Patching – create_home should allow a new Oracle home on same or previous RU as the source_home - AUPG-4183
AutoUpgrade Patching – Match Read-Only OH options with source_home - AUPG-4188
AutoUpgrade Patching – Add MRP Option to patch =”parameter” - AUPG-4197
AutoUpgrade Patching – Better error message when specified proxy is not usable - AUPG-4267
AutoUpgrade Patching – Allow proxy with authentication to be used by the downloader - BUG-37202847
Create a file containing directory pointers to all the jobs configuration files
Change in behavior
- AUPG-3365
Use sid on command line for load_win_credential.
NOTE: Console command line help is wrong. It still refers to <prefix> and it should be <sid>. For example: java -jar autoupgrade.jar -config config.cfg -load_win_credential sid - AUPG-4146
AutoUpgrade Patching – No longer deletes the Oracle home on restoration - AUPG-4161
Don’t purge DBA_RECYCLEBIN when patching - AUPG-4200
Add “-on_agent” to emcli modify database call - AUPG-4238
Time Zone log files location has moved to the jobs directory under the postfixups/timezone directory - AUPG-4289
Global config parameter autoupg_log_dir is deprecated. global_log_dir is replacing autoupg_log_dir.
Added Checks
None
Issues Fixed
- AUPG-3994
Remove LD_LIBRARY_PATH duplicate code - AUPG-4027
Allow global config parameter autoupg_log_dir and global_log_dir to be compatible - AUPG-4121
AutoUpgrade Patching – Created target_home does not match binary options with the source_home - AUPG-4131
When PROACTIVE_FIXUPS=TRUE log directory information was missing from status.log and status.html during the PDBSUPG stage - AUPG-4137
Improve recompile performance by changing the algorithm for many PDB’s being recompiled at the same time. - AUPG-4148
AutoUpgrade Patching – Fixed NullPointerException when writing status files - AUPG-4154
Corrected misspelling in CREATE_WINDOWS_SERVICE message - AUPG-4193
Fix SPFILE is not present after restoration or upgrade - AUPG-4195
AutoUpgrade Patching – now supports “rman_catalog_connect_string” - AUPG-4210
Summary report missing directory for the unplug/plug case - AUPG-4222
Include help section for proceed console command and improve format - AUPG-4225
Fix java.lang.IllegalStateException due to uppercase of hostname - AUPG-4228
Windows Noncdb2pdb runs correctly, but displays invalid message about deleting the Windows credential file - AUPG-4242
Relocate fails on trace file query during startup - BUG-37220410
Compile invalid objects in target home before patching - BUG-37285552
Analyze is unsuccessful for check DISK_SPACE_FOR_RECOVERY_AREA when upgrading to Oracle 23ai and templates are used. - BUG-37294567
Database fixup fails for check CONSTRAINT_PRECHECK_UNMARKED when realm violations occur. Action message has been updated advising DBA of the required action. - BUG-37346244
After upgrade or downgrade spfile is not properly replicated in all RAC nodes - BUG-37378882
AutoUpgrade failed with ora-12899: value too large for column “sys”.”upd$_osstat”.”comments” (actual: 91, maximum: 64) when running sys.utlupd_pkg.create_snapshot(‘root_start’) - BUG-37509225
Workaround a Java JDK 8 problem where file attributes are not handled correctly on a file copy
Awesome job by the Oracle Database Upgrade Development team!!
Further Links and Information
- MOS Note:2485457.1 β Download AutoUpgrade
- Download AutoUpgrade directly from oracle.com
- www.oracle.com/goto/upgrade
- AutoUpgrade Patching β The Feature you waited for
- Virtual Classroom Seminar 21: One-Button Patching
–Mike
Hi Mike,
thnx a lot for the update.
i do have 2 questions:
We are on Windows….
– Using the new create-home feature i ask myself, why do i have to specify source_home. From my point of view the target_home would be enough or am i missing something?
– folder must be al local directory? when using UNC “\Files\\company_srcerver\cpa.DataCenter\DB\CPUs\AutoUpgrade_Patching” we are getting an error. even if we using “net use H: \Files\\company_srcerver\cpa.DataCenter\DB\CPUs\AutoUpgrade_Patching” with folder=H:\.
Beside those 2 issues it is working well on windwows as far as i can see.
thnx marco
Hi Marco,
the need for source_home and target_home is a thing AU requires. If you don’t have one, you would fill it with a patch such as C:\TEMP for instance.
And yes, the folder “always” must be a local folder on Windows. I think using mounted directory will always give you trouble.
Cheers,
Mike
Hi Mike,
thanks for the information.
after testing new ora-home creation and AU-Patching some more time we ran into 2 issues (AU-Version 25.1):
– upper/lower -case-missmatch in AU-Config and inventory.xml (source_home=C:\Oracle19\19_22 vs. LOC=”c:\Oracle19\19_22″) – “Bug” still existing in new AU-Version 25.1.
– “Basic”-RegKeys after ‘AU-Patching implemented, BUT still missing RegKeys to StartUp, ShutDown, TimeOut and “Default”-SID.
Cheers, Marco
Marco,
I will forward this to the developer.
Cheers,
Mike
Hi Mike,
great new version of AU. I’ve also 2 questions for the create_home mode:
– The target home will now be created as ReadyOnly-Home, when the source home is also Read-Only. Let’s say my source read-only ORACLE_HOME ist /oracle/product/19.25 and my ORACLE_BASE_HOME is /oracle/homes/OraDB1925 (i used runinstaller with the parameter -silent “ORACLE_HOME_NAME=OraDB1925”). AU will create the target Base-Home as OraDB19Home1 and I like to have the name OraDB1926. Is there a way to define the ORACLE_HOME_NAME with AU?
– How can i run an after-action-script with the create_home mode? Looks like the local and also the global after_action will not be executed in create_home mode. Or I’m doing something wrong…
Regards
Rainer
Hi Rainer,
name changing option will be in AutoUpgrade 25.2 in a few weeks. Fix is already in the code.
The after_action option is something the team looks into already.
Thanks,
Mike
Hi Mike,
thanks for the great work and the good news about AU 25.2. And to be honest – at least the global after_action works in create_home mode – i did some mistakes on the script to be called.
Thank you
Rainer
Thanks Rainer!!
Cheers,
Mike
Hi Mike!
Is there a possibility to avoid running root.sh automatically while creating a new home?
I ask because we’ve got an error while applying a merge patch (one-off), because “oradism” executable permissions have been changed by root.sh and patch couldn’t be applied.
Status log shows that root.sh script was executed after base 19c version was installed:
[Stage Name] INSTALL
[Status] SUCCESS
[Start Time] 2025-02-26 12:28:28
[Duration] 0:02:44
[Log Directory] /u01/app/oracle/backup/patches/logs/create_home_1/100/install
——————————————
[Stage Name] ROOTSH
[Status] SUCCESS
[Start Time] 2025-02-26 12:31:13
[Duration] 0:00:00
[Log Directory] /u01/app/oracle/backup/patches/logs/create_home_1/100/rootsh
We would prefer running it manually after autoupgrade finish its work.
Thank you,
Vladimir
Hi Vladimir,
I wanted to get back to you earlier but got distracted.
No, and as far as the developers told me, there is no plan to implement such a mechanism. What we’d rather recommend is that you apply the one off as part of AU, and I guess I know which one-off you are referring to. We try to get the owner of the fix to the point that they adjust the readme. At the moment, it reads as if you first install, then run root.sh, then install the one-off, and then run root.sh again. But in our opinion, there is no legit reason to NOT do it in one pass when you patch out-of-place.
Thanks,
Mike
Hi Mike,
we want to patch our Dataguard systems with doing all the necessary steps for a standby-first patch apply. Is it possible to do the patching with the new version of AutoUpgrade 25.1 ?
We have actually Oracle DB Version DBRU 19.24 and want to go for DB version DBRU 19.26 .
Can we use Autoupgrade 25.1 for patching our DG systems ?
THX and BR, Karlheinz
Hi Karlheinz,
you can – but not in a fully automated way (yet).
Cheers,
Mike
Hi Mike,
thanks for your answer !
Is there any documentation, desciption or BLOG available of how to achive the “not fully automated way” patching DG standby-first patch apply ?
Thanks in advance and best regards, Karlheinz
Hi Karlheinz,
Daniel is willing strongly to document it and blog about it.
Technically, AU will recognize when you execute it on the standby site.
But we haven’t documented it yet.
Please be patient – should be ready in a week on dohdatabase.com
Cheers,
Mike
Hi Mike,
Thanks a lot for your quick answer and support !
We will check dohdatabase.com !
THX a lot !
Cheers and have a nice weekend, Karlheinz
Hi Karlheinz,
Daniel started already blogging about it – he spent a good amount of his time last week testing it end-to-end and filing 5 JIRAs for enhancements we would need.
https://dohdatabase.com/2025/03/10/how-to-patch-oracle-data-guard-using-autoupgrade-and-standby-first-patch-apply-with-restart/
https://dohdatabase.com/2025/03/12/how-to-patch-oracle-data-guard-using-autoupgrade-for-non-standby-first-installable-patches/
Cheers,
Mike
Hi Mike,
Thank you for your hard work in this tool. This new release seemed to have solved the installation problems we faced on RH9.
The SR we had open at support can now be closed as the installation now completes successfully
Thank you!
Cheers,
Mike
Hi,
We opened this SR 3-39859057321 about the last feature of 25.1
“Support for database patching in normal mode open
Patching in normal mode enables the database to stay open
in normal mode throughout the process. In most cases we
can move from the source home to the target home with only
one required restart. This feature allows your applications
to come online before the patching process completes.”
We noticed in drain phase a sequence of event like stop -> modify database -> start -> stop -> start that lasts several minutes, we don’t understand the last 2 events cause for our point of view nothing changed on database, could you explain us?
We have to reach just 1 reboot like wrote into the documentation to optimize downtime window
Cheers,
Nicola
Hi Nicola,
could you please upload the logs:
java -jar autoupgrade.jar -config yourconfig.cfg -zip
I see that the SR has only the alert.log attached right now. I informed the team as well but we need the logs, please. And thanks for your diag work already – this is SUPER helpful!
THanks,
Mike
Ok we’ll try with this setting, and what about the 2 stop and start in drain? We already attached in sr config file, command executed and in the alert.log are clear the 2 reboots
Ciao Nicola,
I don’t see the zip file attached to the SR: 3-39859057321.
Can you please upload it:
java -jar autoupgrade.jar -config YourConfig.cfg -zip
Without this, there won’t be progress on the SR.
Cheers,
Mike
Just attached zip with all logs and cfg.
As wrote we noticed a sequence of this actions stop -> modify database -> start -> stop -> start but for the last 2 we don’t understand why, no modifications but only minutes lost, maybe you could help us to understand why is needed the last reboot and if is not needed if is possible to remove it to not have any other downtime
Cheers,
Nicola
Hi Nicola,
I pinged the engineer to see where this stands right now.
Sorry for the delay.
Cheers,
Mike
I attached to the sr, I also opened another SR (3-40198073541) also related to 25.1, we had problem with new tnsnames.ora on new OH, details into sr
Hi Nicola,
I see the SR – and Development is looking into it.
I requested a response since there seemed to be no activity for the past days (sorry for that).
Cheers,
Mike
Hi Nicola,
you are hitting most likely:
Bug# 37137441 – DB UPGRADE FROM 19C TO 23AI USING AUTO-UPGRADE ANALYZE FAILING WITH ORA-12850
which isn’t an AutoUpgrade or upgrade issue but instead a duplicate of:
Bug 35016572 – NLS LENGTH SEMANTICS MISMATCH (BYTE VS CHAR) IN QC AND ITS SLAVES
which is fixed either by a one-off or will be delivered with the April RU 19.27.0
Since the workaround:
may not help at all here, could you try alteringer your NLS environment?
ALTER SESSION SET
Since you used an google email address I don’t know where you are based at but it would be worth a try to set:
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
and potentially also try to change the LOCALE.
Cheers,
Mike
Or use this in your config file:
prefix.tune_setting=QUERY_HINT_PARALLEL=NO_HINT
This will eliminate the hint, and all should work fine then.
Hi Mike,
When will autoupgrade support RAC rolling patching?
Thanks!
Hi Zoli,
the team is working on this with high priority assuming that you mean “no restart of the database anymore”.
Cheers,
Mike
I’m assuming there is not a way to provide the ORACLE_HOME_NAME when using -mode create_home ? If not can that be added as an option? What is the best way to ask for new options for autoupdate? Create an SR?
Hi Lance,
in fact, yes – open an SR, have support file an ER (Enhancement Request – this is a bug entry which gets set to status 15). And we’ll pick it up.
Nevertheless, I send your request to the team as well.
Cheers,
Mike
Hi Lance,
quick correction: It is implemented already, and coming with 25.2 in a few weeks.
I am positively shocked how quickly the team is rolling out these features … OMG.
Hence, no need to do anything on your side (except for a bit of patience, please).
Cheers,
Mike
Fantastic! Thank you guys so much for the new patching feature and the subsequent fixes and updates! Great work!
Hi Mike,
I’m wondering a bit that autoupgrade patching is not able to patch multiple databases. I’m using analyze and it tells me
*Validating Unique source/target Oracle Home values
The specified target home /oracle/product/19c/dbd2 directory is already defined for job with sid=SID01. Each target home must be unique to avoid conflicts. Please provide a distinct directory not used for any other jobs.
*Validating Unique source/target Oracle Home values
The specified target home /oracle/product/19c/dbd2 directory is already defined for job with sid=SID02. Each target home must be unique to avoid conflicts. Please provide a distinct directory not used for any other jobs.
I think as -upgrade- is possible in parallel for all Databases when source and target HOME is the same for all instances (we upgraded recently about 7 RAC databases on a cluster all in parallel using the same source and target home) it must be possible to have one source ORACLE_HOME running multiple databases to be patched by creating just one target ORACLE_HOME and moving all instances to the new home in parallel.
Yes – I can run multiple autoupgrade tools each having one config with only one SID, but I guess then I first need to manually deploy the target home so that not all processes try to create the new one.
Thanks
JΓΆrg
Hi Joerg,
you may need to have individual log dirs in the config file.
You can use AU patching for multiple databases at the same time.
Other option:
Start AU with separate config files for each individual database – this should work for sure as well.
Thanks,
Mike
Hi, Mike! When i patch database from 19.23 to 19.25, autoupgrade.jar 25.1 does “alter pluggable Database “**” open Services=all”. Why “all”? How can i remove “services=all”?
AutoUpgrade recompiles invalid database objects from $ORACLE_HOME/rdbms/admin/utlprpom.sql (only invalid objects in Oracle supported schemas). How can i replace utlprpom.sql with utlprp.sql?
Hi Alex,
you can only replace the recompilation using the more efficient and faster utlrpom.sql with utlrp.sql by skipping the recompilation with
prefix.run_utlrp=no
and then recompile manually.
The services=all it has by default – I don’t think that we can remove this since it will cause problems in RAC envs potentially.
Cheers,
Mike
Hi Mike, we are testing AutoUpgrade as a way to migrate our standalone databases to PDBs. It works fine when the standalone and the CDB are at the same patch version, but it fails when they are not.
The reason for the failure is that the NONCDBTOPDB stage comes before the DBUPGRADE stage. The NONCDBTOPDB stage fails – understandably – because of the difference in patch levels.
So would it not be a good idea to run the DBUPGRADE stage first?
Thanks
Manfred
Hi Manfred,
it should definitely NOT fail, regardless of the patch level.
And it should work in either direction.
Can you open an SR, upload the zip:
java -jar autoupgrade.jar -config yourconf.cfg -zip
please?
Cheers,
Mike
Hi, Mike! why is status.html located in the directory 5 levels below (au_logs/cfgtoollogs/upgrade/auto/status)? who came up with this idea???))
Puh … I can’t tell you except that it wasn’t me π
Cheers,
Mike
Hi Mike
We are looking to use AutoUpgrade to convert our standalone databases to PDB. We have many hundreds of database instances and we will be creating an automation to achieve this.
It would be helpful to use the command line option rather than have to generate a new CFG file for each database, but there is a problem whereby TARGET_PDB_COPY_OPTION=FILE_NAME_CONVERT= does not work when you pass in a SOURCE path and a TARGET path.
AutoUpgrade ignores the TARGET_PDB_COPY_OPTION=
The conversion works but the database files end up in the wrong place.
Should I raise a SR for this?
Thanks
Manfred
Hi Manfred,
please do so and share the SR number with me.
Make sure you upload the logs as well, please.
Cheers,
Mike
Hi Mike
SR created, all logs uploaded
SR 3-40610275621
Thanks
Manfred
Hi Manfred,
thank you so much for your patience. I see the SR, and I see where you are struggling with. I sent an email to the support engineer asking him to save you from another round of testing and zoom but instead open a bug and assign it to us. Could you please upload the zip from your run with the 25.3 version of AutoUpgrade?
I guess that there is a parsing issue with the ” and ‘ characters on Windows. But we will be able to fix this, no worries.
Cheers, and THANKS AGAIN for your ultimate patience!!
Mike
Hi Mike
Thanks so much for looking into this.
The support engineer continues to ask the same questions, and no mention of a bug yet.
I have responded to his last question, and I have uploaded the config zip to the SR as you have requested.
If you’d like me to send the logs anywhere else please just let me know.
Many thanks
Manfred
Hi Manfred,
I did ask the engineer again to refuse from additional questions but instead collect the logs and file a bug and tell me the bug number.
And thanks for uploading the zip already.
Thanks,
Mike
Hi again Mike, the engineer has been in contact to say that he is raising the bug as requested. Many thanks
Have it already, Manfred:
Bug 37977458 β AutoUpgrade Ignores TARGET_PDB_COPY_OPTION in Command-Line Mode.
I will follow up with the dev team internally.
Cheers,
Mike
Thanks Mike will do
Hi Mike,
I’m trying to run autoupgrade 25.3 using the create_home parameter.
I’ve downloaded the 19.27 patches and placed them in a folder together with WINDOWS.X64_193000_db_home.zip
There is no exosting Oracle home on my host.
When i run autoupgrade I get the error:
D:\SW\RDBMS\jdk1.8.0_451\bin>java -jar D:\SW\RDBMS\2025Q2_1927\autoupgrade.jar -config D:\SW\RDBMS\patch.cfg -patch -mode create_home
AutoUpgrade Patching 25.3.250509 launched with default internal options
Processing config file …
Unable to determine the Windows registry key being used by N/A
Γan you help me to determine what I’m missing here?
Kind regards
Erwin
Hi Erwin,
please collect the logs with
java -jar autoupgrade.jar -config yourconf.cfg -zip
and create an SR.
Send me the SR number, and I will have our Windows expert check it. I don’t have a win system here, as otherwise I would try it right away. My first guess is privileges of the user account you are using. Win is so tricky with all the varieties of how you can setup an admin user.
As a quick test, you could try the install manually by yourself and see whether this works.
Cheers,
Mike