You can use AutoUpgrade to install an Oracle home on a brand-new, empty server.
Previously, AutoUpgrade used an existing Oracle home to determine how to create a new Oracle home. Now, you can use config file parameters to instruct AutoUpgrade on installing the new Oracle home.
This allows you to use AutoUpgrade to prepare a new server for use with Oracle Database.
How To
Preparations
I start with a brand new Oracle Linux 8 system.
- This is a test system, so I disable SELinux:
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config reboot- Alternatively, follow the guidelines for SELinux in your organization.
- Install the preinstall package and Java (required by AutoUpgrade):
yum -y install oracle-database-preinstall-19c yum -y install java-1.8.0-openjdk - Additional configurations like mount points and swapfile.
Install Oracle Home
-
Download AutoUpgrade:
wget https://download.oracle.com/otn-pub/otn_software/autoupgrade.jar -
Create an AutoUpgrade config file called
install-home.cfg:global.global_log_dir=/home/oracle/autoupgrade/logs install1.patch=RU:19.27,OPATCH,OJVM,DPBP install1.folder=/u01/app/oracle/software install1.target_home=/u01/app/oracle/product/dbhome_1927 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 have already downloaded the base release and required patches using AutoUpgrade download mode. The files are in an NFS file share which I specify with the
folderparameter. - I use the
home_settingsparameters to specify how I want to install the Oracle home. There are many other settings that I can use.
- I have already downloaded the base release and required patches using AutoUpgrade download mode. The files are in an NFS file share which I specify with the
-
I start AutoUpgrade:
java -jar autoupgrade.jar -config install-home.cfg -mode create_home -
On this system, the oracle user is not allowed to sudo, so I must manually execute the root scripts:
/u01/app/oracle/product/dbhome_1927/root.sh /u01/app/oraInventory/orainstRoot.sh- AutoUpgrade prints the scripts to the console.
- It also writes the scripts into
<global_log_dir>/create_home_1/<job-no>/rootsh/rootsh.log.
-
That’s it! I’ve now installed a new Oracle home and can move on with the creation of a listener, database, and so forth
Appendix
Installing on Microsoft Windows
You can use the same functionality on Windows.
- You must use
home_settings.account_typeto specify the user that runs the Windows service. If you specify a user, then it must exist already. Although runInstaller can create the user for you, AutoUpgrade doesn’t support it. - You should not use
home_settings.inventory_locationon Windows. On Windows, the Oracle Inventory is always placed in%SYSTEM_DRIVE%\Program Files\Oracle\Inventory.
Installing Java
AutoUpgrade requires Java 8 or Java 11. It doesn’t support newer versions because the tool must be backward compatible. The latest version of AutoUpgrade still supports upgrades from Oracle Database 11g.
I recommend using Oracle Java. This is what we test and develop with, however, other Java packs should be fine as well. I tested the commands in this blog post with OpenJDK.
If you have a license for Oracle Database, you can read about using Oracle JDK/JRE in the License Guide or Oracle Java SE licensing FAQ.
Thanks for the shared knowledege! I’m struggling won windows while specifying the oracle home user, which is a domain user. I couldn’t find the correct syntax for the parameter home_settings.account_type. Do you have any additonal clues on this?
LikeLike
Hi,
Are you able to share some more details? Do you get any specific error? You can mail me the details on daniel.overby.hansen (a) oracle.com.
Regards,
Daniel
LikeLike
Hi,
I have the same issue using a local account on windows:
install1.home_settings.account_type=user
Error: “The home_settings.account_type parameter for prefix install1 includes a value that is not supported or is not in the required format”
according to documentation it should be
[VIRTUAL|BUILT_IN|USER]virtual and build_in workst fine, user doesn’t resulting in above error.
Regards Erwin
LikeLike
Hi Erwin,
For a local account on Windows, you must use:
install1.home_settings.account_type=USER:localuser
Regards,
Daniel
LikeLike
Thank you, I’ve tested it and it works!
install1.home_settings.account_type=user:svc_oracle
However this is not clear from the documentation.
home_settings.account_type
LikeLike
Is there a limit to the length of the account, of special characters you may not use?
When using install1.home_settings.account_type=user:svcoracle_mns-p-0049 the same error returns:
Error: “The home_settings.account_type parameter for prefix install1 includes a value that is not supported or is not in the required format”
LikeLike
Apparently accounts cannot contain a minus sign.
account_type=user:svcoracle_mns-p-0049 fails
Even account_type=”user:svcoracle_mns-p-0049″ fails with the above error
account_type=user:svcoracle_mns_p_0049 succeeds
Is there a way to be able to use a minus sign in the account, or can you confirm this is not allowed?
LikeLike
Hi Erwin,
Is this for a local or domain account? We might have a solution for you. Please reach out to me on e-mail: daniel.overby.hansen (a) oracle.com.
Thanks,
Daniel
LikeLike
Hi Daniel, is there a special syntax needed if you specify the home_settings.account_type? My customer was using install1.home_settings.account_type=domainora_home
Error message:
The home_settings.account_type parameter for prefix install1 includes a value that is not supported or is not in the required format
LikeLike
Hi Johannes,
For a user, you need to use:
install1.home_settings.account_type=USER:domainora_home
However, for a domain user there might be a problem. We might have a test version of AutoUpgrade soon. If you’re interested in trying that out, you can mail me at daniel.overby.hansen (a) oracle.com.
Regards,
Daniel
LikeLike
I write domain user without domain name, which is probably not correct. But I still got a different error on Windows.
LikeLike
Yeah, I don’t think that makes a difference.
LikeLiked by 1 person
autoupgrade.jar in windows to create new home? may-be next time….
Errors in database [create_home_1]
Stage [INSTALL]
Operation [STOPPED]
Status [ERROR]
Info [Exception: PATCH109
Err message: AutoUpgradePatchingException [AutoUpgrade Patching failed to install the new ORACLE_HOME C:/app/19.28.0/oracle. For full details, view the log file located at C:autoupgradelogscreate_home_1100install. The C:app19.28.0oraclesetup.exe output is included below:
ERROR: The installer has detected that the Oracle home location provided in the command line is not correct. The Oracle home is the location from where setup script is executed.
It is not required to specify ORACLE_HOME in the command line for the installation.
]
oracle.patch.utils.errors.PATCH109:
at oracle.patch.dispatcher.actions.SetupExeInstaller.runSetup(SetupExeInstaller.java:149)
at oracle.patch.dispatcher.actions.SetupExeInstaller.executePatchStage(SetupExeInstaller.java:73)
at oracle.patch.dispatcher.def.PatchJobAction.executeStage(PatchJobAction.java:71)
at oracle.commons.dispatcher.JobStage.executeStage(JobStage.java:80)
at oracle.patch.dispatcher.def.PatchJobStage.executeStage(PatchJobStage.java:69)
at oracle.commons.dispatcher.RunJobDefinition.runJob(RunJobDefinition.java:144)
at oracle.patch.dispatcher.def.RunAutoPatchJob.runJob(RunAutoPatchJob.java:61)
at oracle.patch.dispatcher.AutoPatchJobThread.run_(AutoPatchJobThread.java:119)
at oracle.patch.dispatcher.AutoPatchJobThread.run(AutoPatchJobThread.java:108)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
] Logs: [C:autoupgradelogscreate_home_1100autoupgrade_patching_20251029_user.log]
2025-10-29 17:28:52.765 INFO [28] [F21DB2] EndOracle Home=C:/app/19.28.0/oracle Oracle Sid=create_home_1 Run command =[C:app19.28.0oraclesetup.exe, ORACLE_HOME=C:/app/19.28.0/oracle, ORACLE_BASE=C:/app/OracleServiceTest, oracle.install.option=INSTALL_DB_SWONLY, oracle.install.db.InstallEdition=SE, oracle.install.IsBuiltInAccount=false, oracle.install.IsVirtualAccount=false, oracle.install.OracleHomeUserName=OracleServiceTest, -silent] Command=None Filename=C:autoupgradelogscreate_home_1100installsetup.log – ExecuteProcess.doCmds#932
2025-10-29 17:28:52.766 WARNING [28] [F21DB2] The process ended with an exit value 1 and the following output
ERROR: The installer has detected that the Oracle home location provided in the command line is not correct. The Oracle home is the location from where setup script is executed.
It is not required to specify ORACLE_HOME in the command line for the installation.
My config file:
global.global_log_dir=C:/autoupgrade/logs global.keystore=C:/autoupgrade/keystore
patch1.folder=C:/autoupgrade/patches
patch1.patch=RU:19.28,DPBP,OPATCH,OJVM
patch1.download=no
patch1.target_home=C:/app/19.28.0/oracle
patch1.home_settings.edition=SE
patch1.home_settings.account_type=USER:OracleServiceTest
patch1.home_settings.oracle_base=C:/app/OracleServiceTest
LikeLike
Hi,
Bummer that it fails on you. From the error message and stack trace, I’m not able to determine the cause. I’ve just worked with two other customers that did more or less the same on Windows without problems.
It seems like you need to open an SR and have support look at that. Feel free to e-mail me the SR number and I can keep an eye on it (daniel.overby.hansen (a) oracle.com).
Be sure to include all the log files:
Regards,
Daniel
LikeLike
Hi Daniel,
I hope you’re doing well.
I’m getting error and I’m wondering what’s wrong in my configuration?
here is version of the autoupgrade tool:
java -jar $AUTOUPGRADETOOL -version
build.version 25.6.251016
build.date 2025/10/16 00:04:36 +0000
build.hash 54a1e2442
build.hash_date 2025/10/15 21:11:40 +0000
build.supported_target_versions 12.2,18,19,21,23
build.type production
build.label (HEAD, tag: v25.6, origin/stable_devel, stable_devel)
build.MOS_NOTE 2485457.1
build.MOS_LINK https://support.oracle.com/epmos/faces/DocumentDisplay?id=2485457.1
here is the config file:
cat /home/oracle/autoupgrade-patching/create_home.cfg
global.global_log_dir=/home/oracle/autoupgrade-patching/log
install1.patch=RU,OJVM,OPATCH,DPBP,JDK,OCW
install1.folder=/mnt/software/stage
install1.target_home=/u01/app/oracle/product/19.29/dbhome_2
install1.home_settings.oracle_base=/u01/app/oracle
install1.home_settings.edition=EE
install1.home_settings.inventory_location=/u01/app/oraInventory
install1.target_version=19
install1.download=NO
and here is the error:
java -jar $AUTOUPGRADETOOL -config /home/oracle/autoupgrade-patching/create_home.cfg -mode create_home
AutoUpgrade 25.6.251016 launched with default internal options
Processing config file …
No sid was specified in the user configuration file /home/oracle/autoupgrade-patching/create_home.cfg, stopping execution
Have I missed something? Can you spot anything I might have done incorrectly?
LikeLike
Hi,
That looks odd. Can you try to add “-patch” to your AutoUpgrade command line?
Daniel
LikeLike
Hi Daniel,
thanks for your response.
I’m getting a new error now, saying cannot find the OCW patches! 👇
java -jar $AUTOUPGRADETOOL -config /home/oracle/autoupgrade-patching/create_home.cfg -patch -mode create_home
AutoUpgrade Patching 25.6.251016 launched with default internal options
Processing config file …
There were conditions found preventing AutoUpgrade Patching from successfully running
*Validating Oracle Patch files
An Oracle Clusterware (OCW) patch file is not found in /mnt/software/stage for 19.29 RU for the job with prefix install1.
Download the corresponding Grid Infrastructure (GI) patch according to the Release Update (RU) patch and place it in the /mnt/software/stage folder.
I’m sure the patches have already been downloaded.
here is the config file I use for download. 👇
cat download_latest19c.cfg
# Database entry global.
global.global_log_dir=/home/oracle/autoupgrade-patching/log
global.keystore=/home/oracle/autoupgrade-patching/keystore
global.folder=/mnt/software/stage
# Database entry patch1.
patch1.patch=RU,OJVM,OPATCH,DPBP,JDK,OCW
patch1.target_version=19
patch1.platform=AIX.x64
As shown below all the patches been downloaded already:
java -jar $AUTOUPGRADETOOL -config download_latest19c.cfg -patch -mode download
AutoUpgrade Patching 25.6.251016 launched with default internal options
Processing config file …
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore is loaded
Connected to MOS – Searching for specified patches
—————————————————–
Downloading files to /mnt/software/stage
—————————————————–
DATABASE RELEASE UPDATE 19.29.0.0.0
File: p38291812_190000_AIX64-5L.zip – LOCATED
DATAPUMP BUNDLE PATCH 19.29.0.0.0
File: p38535360_1929000DBRU_Generic.zip – LOCATED
JDK BUNDLE PATCH 19.0.0.0.251021
File: p38245243_190000_AIX64-5L.zip – LOCATED
GI RELEASE UPDATE 19.29.0.0.0
File: p38298204_190000_AIX64-5L.zip – LOCATED
OJVM RELEASE UPDATE 19.29.0.0.0
File: p38194382_190000_AIX64-5L.zip – LOCATED
OPatch 12.2.0.1.48 for DB 19.0.0.0.0 (Nov 2025)
File: p6880880_190000_AIX64-5L.zip – LOCATED
—————————————————–
Many thanks.
LikeLike
This sounds a little weird. If you open an SR, I can have a developer look at the problem.
Be sure to include all the log files:
https://dohdatabase.com/auzip
Regards,
Daniel
LikeLike