Fresh Oracle 19c Home Install on OL8.10 with AutoUpgrade
Oracle AutoUpgrade has traditionally been associated with database upgrades, but its capabilities have expanded significantly.
One of the newer capabilities is the ability to use AutoUpgrade Patching to create a completely new Oracle Database Home on a fresh server.
I tested this functionality on Oracle Linux 8.10 (OL8.10) and successfully created a new Oracle Database 19c Home at Release Update 19.32, including:
- Oracle Database
19.32Gold Image - Latest OPatch
- OJVM Release Update
19.32 - Oracle Home installation and patching
- AutoUpgrade job monitoring
- Root script execution
- Final installation validation
What makes this approach interesting is that I did not first install Oracle Database 19.3 and then manually patch the Oracle Home to 19.32.
Instead, AutoUpgrade downloaded the required Gold Image and patches and created the target Oracle Home directly at the required patch level
π Detailed Installation Commands & Output
This article focuses on the deployment approach, important configuration steps, troubleshooting and validation.
For readers who want to review the complete installation commands and actual command execution output, I have published the detailed command/output log separately on GitHub:
π Complete Oracle 19c Fresh Install Using AutoUpgrade Installation Commands & Output Log
Quick Navigation
- Environment and Prerequisites
- Prepare Storage and Swap
- Download AutoUpgrade and Prepare Directories
- Configure Patch Downloads
- Configure the AutoUpgrade Keystore
- Download Oracle 19.32 Gold Image and Patches
- Configure Oracle Home Creation
- Create and Monitor the Oracle Home
- Review Installation and Patching Stages
- Complete the Installation
- Traditional vs AutoUpgrade Approach
- Key Observations and Conclusion
1. Environment and Prerequisites
For this installation, I used:
The AutoUpgrade version used during my test was:
AutoUpgrade Patching 26.5.260807
First, install the Oracle Database prerequisites and Java as root user:
yum -y install oracle-database-preinstall-19c
yum -y install java-1.8.0-openjdk
AutoUpgrade is distributed as a Java archive and is executed using:
java -jar autoupgrade.jar
Note
The oracle-database-preinstall-19c package simplifies much of the operating-system preparation required for Oracle Database.
It installs the required dependent packages and configures several OS-level parameters required by Oracle.
For this lab environment, SELinux was configured as permissive/disabled.
vi /etc/selinux/config
Note
SELinux configuration should always follow your organization’s security standards.
In production environments, security configuration should be reviewed before making any changes.
2. Prepare Storage and Swap
Before starting the Oracle installation, I expanded the available storage and configured sufficient swap space.
Expand the existing partition:
growpart /dev/sda 3
Create a 16 GB logical volume for swap:
lvcreate -L 16G -n lv_swap ocivolume
mkswap /dev/ocivolume/lv_swap
After updating /etc/fstab, enable and validate swap:
swapon -va
swapon -s
free -m
Extend the root logical volume:
lvextend -l +100%FREE /dev/ocivolume/root
Resize the XFS filesystem:
xfs_growfs /
Note
The server showed approximately 16 GB of swap space in my environment.
Storage layout, swap size, filesystem sizing, and software locations should be planned for the target environment rather than copied directly from this lab.
3. Download AutoUpgrade and Prepare Directories
Download the latest AutoUpgrade JAR:
wget https://download.oracle.com/otn-pub/otn_software/autoupgrade.jar
Note
For newer AutoUpgrade functionality, I prefer using the latest available autoupgrade.jar rather than relying on an older version that may exist inside an existing Oracle Home.
Next, I created the directory structure required for Oracle software and AutoUpgrade.
As root:
mkdir /u01
chown oracle:oinstall /u01
As the oracle user:
mkdir -p /u01/app
mkdir -p /u01/app/oracle/software
mkdir -p /u01/app/oraInventory
mkdir -p /u01/app/oracle/software/autoupgrade/logs
mkdir -p /u01/app/oracle/software/autoupgrade/keystore
mkdir -p /u01/app/oracle/software/autoupgrade/patches
These directories were later referenced inside the AutoUpgrade configuration files.
4. Configure Patch Downloads
The next step was to define which Oracle software and patches AutoUpgrade should download.
Create the patch-download configuration:
vi get-patches.cfg
Configuration:
global.global_log_dir=/u01/app/oracle/software/autoupgrade/logs
global.keystore=/u01/app/oracle/software/autoupgrade/keystore
global.folder=/u01/app/oracle/software/autoupgrade/patches
patch1.platform=LINUX.X64
patch1.patch=RU:19.32,OPATCH,OJVM
The key parameter here is:
patch1.patch=RU:19.32,OPATCH,OJVM
This tells AutoUpgrade that I want:
- Oracle Database Release Update
19.32 - Latest OPatch
- OJVM Release Update
Note
Additional compatible patches can also be included depending on the requirements of the target environment.
5. Configure the AutoUpgrade Keystore
AutoUpgrade needs access to My Oracle Support to retrieve the required software and patches.
Instead of storing the MOS username and password in clear text inside the configuration file, AutoUpgrade provides a secure keystore mechanism.
I initialized the keystore using:
java -jar autoupgrade.jar \
-config get-patches.cfg \
-patch \
-load_password
AutoUpgrade prompted for a password to encrypt the keystore.
Once the keystore was created, I added my MOS account:
MOS> add -user <MOS Login Username/Email>
AutoUpgrade then prompted for the MOS password.
After adding the credentials:
MOS> save
I selected:
YES
for Auto-login mode.
Finally:
MOS> exit
AutoUpgrade confirmed that the patching keystore had been successfully created.
Important Note
The password used to encrypt the AutoUpgrade keystore can be different from the actual MOS account password.
This approach also avoids storing MOS credentials directly inside scripts or configuration files.
6. Download Oracle 19.32 Gold Image and Patches
Once the keystore was configured, I initiated the download:
java -jar autoupgrade.jar \
-config get-patches.cfg \
-patch \
-mode download
During my test, AutoUpgrade:
- Loaded the configured keystore
- Connected to the Oracle Update Advisor service
- Requested the Gold Image
- Connected to My Oracle Support
- Located the requested patches
- Downloaded the required files
- Validated the downloaded files
AutoUpgrade also displayed:
AutoUpgrade Patching adds the MRP and OCW options to the PATCH configuration parameter because the generated Gold Image always includes those fixes.
The following components were successfully downloaded:
OPatch 12.2.0.1.53 for DB 19.0.0.0.0
OJVM RELEASE UPDATE 19.32.0.0.0
Gold Image - 19.32
Downloaded files included:
p6880880_190000_Linux-x86-64.zip
p39222882_190000_Linux-x86-64.zip
db_goldimage_19_32_20260924191155.zip
patches_info.json
The Oracle Database 19.32 Gold Image was approximately 4.7 GB in my test environment.
Instead of manually locating and downloading every component separately, AutoUpgrade coordinated the download based on the configuration file.
7. Configure Oracle Home Creation
After downloading the required software, I created another AutoUpgrade configuration file for the actual Oracle Home installation.
vi install-home.cfg
Configuration:
global.global_log_dir=/u01/app/oracle/software/autoupgrade/logs
install1.patch=RU:19.32,OPATCH,OJVM
install1.folder=/u01/app/oracle/software
install1.target_home=/u01/app/19.32.0/db
install1.home_settings.oracle_base=/u01/app/oracle
install1.home_settings.edition=EE
install1.home_settings.inventory_location=/u01/app/oraInventory
install1.download=no
The key settings are:
install1.patch=RU:19.32,OPATCH,OJVM
install1.target_home=/u01/app/19.32.0/db
install1.home_settings.oracle_base=/u01/app/oracle
install1.home_settings.edition=EE
install1.home_settings.inventory_location=/u01/app/oraInventory
install1.download=no
This defines the software and patch components required for the new Oracle Home.
I used:
install1.download=no
because all required software had already been downloaded during the previous step.
8. Create and Monitor the Oracle Home
Start Oracle Home creation:
java -jar autoupgrade.jar \
-config install-home.cfg \
-patch \
-mode create_home
AutoUpgrade started in:
CREATE_HOME
mode and opened its interactive console:
patch>
Useful monitoring commands include:
status
lsj
tasks
logs
help
Check Overall Status
patch> status
displayed information such as:
- Configuration file
- General log location
- AutoUpgrade mode
- Number of jobs
- Current progress
During the initial stage, my job showed approximately:
20 %
Check Job Status
patch> lsj
showed:
STAGE : EXTRACT
STATUS : RUNNING
MESSAGE : Extracting Gold Image
This provided a very clear indication of exactly what AutoUpgrade was doing.
9. Review Installation and Patching Stages
After the Gold Image extraction, the job progressed to:
STAGE : INSTALL
OPERATION : EXECUTING
STATUS : RUNNING
with the message:
Installing ORACLE_HOME
At this point, progress was approximately:
40 %
The next stage I observed was:
OH_PATCHING
AutoUpgrade then processed the Oracle Home patches, including:
OJVM RELEASE UPDATE: 19.32.0.0...
Progress had reached approximately:
50 %
The workflow I observed was broadly:
Gold Image Download
β
Gold Image Extraction
β
Oracle Home Installation
β
Oracle Home Patching
β
Finalization
β
Root Scripts
Additional console commands:
During the installation, I used several console commands.
Display overall status
patch> status
patch> lsj
patch> tasks
patch> logs
In my environment, the logs were available under:
/u01/app/oracle/software/autoupgrade/logs/cfgtoollogs/patch/auto
and:
/u01/app/oracle/software/autoupgrade/logs/create_home_1
10. Complete the Installation
When Oracle Home creation completed, AutoUpgrade displayed:
Job 100 completed
Final summary:
------------------- Final Summary --------------------
Number of databases [1]
Jobs finished [1]
Jobs failed [0]
Jobs restored [0]
Jobs pending [0]
The important result was:
Jobs finished : 1
Jobs failed : 0
AutoUpgrade also identified the required root scripts:
/u01/app/19.32.0/db/root.sh
/u01/app/oraInventory/orainstRoot.sh
Because the Oracle user was not configured for sudo in my test environment, I executed them separately as root:
/u01/app/19.32.0/db/root.sh
/u01/app/oraInventory/orainstRoot.sh
The Oracle Inventory script completed successfully and configured the appropriate permissions for the oinstall group.
What I Found Interesting About This Feature
Until recently, many of us primarily associated AutoUpgrade with upgrading an existing Oracle Database.
For example:
Existing Database
β
AutoUpgrade
β
Database Upgrade
β
New Database Release
But this exercise demonstrated another useful workflow:
Fresh Server
β
AutoUpgrade
β
Gold Image and Patch Discovery
β
Software Download
β
Oracle Home Creation
β
Oracle Home Patching
β
Ready Oracle Home
This expands the role of AutoUpgrade beyond just database upgrades.
It can now become part of a broader Oracle Database software deployment and lifecycle-management process.
11. Traditional vs AutoUpgrade Approach
Traditionally, when preparing a new Oracle Database 19c Home, we might follow a workflow similar to:
Download Oracle 19.3 Software
β
Extract Oracle Software
β
Install Oracle Home
β
Download Latest OPatch
β
Upgrade OPatch
β
Download Release Update
β
Apply Release Update
β
Download OJVM
β
Apply OJVM
β
Validate Oracle Home
With AutoUpgrade, the workflow can be simplified into something closer to:
Download AutoUpgrade
β
Define Required Patch Level
β
Download Gold Image + OPatch + OJVM
β
Create Oracle Home
β
Apply Required Patches
β
Run Root Scripts
β
Validate Installation
The underlying Oracle components and patching mechanisms are still there, but AutoUpgrade coordinates much more of the workflow.
12. Key Observations and Conclusion
A few things stood out during this exercise.
Configuration files drive the workflow
Parameters such as:
install1.patch=RU:19.32,OPATCH,OJVM
install1.target_home=/u01/app/19.32.0/db
make the desired state easy to document and reproduce.
MOS credentials stay out of plain-text files
The AutoUpgrade keystore provides a better approach than placing MOS credentials directly inside configuration files or shell scripts.
Monitoring is built in
Commands such as:
status
lsj
tasks
logs
provide visibility into the current AutoUpgrade operation and make troubleshooting easier.
AutoUpgrade retrieved the required Gold Image
By specifying:
RU:19.32,OPATCH,OJVM
AutoUpgrade downloaded the Oracle Database 19.32 Gold Image together with OPatch and the OJVM Release Update required for my configuration.
No separate 19.3 β 19.32 build-and-patch cycle
For this fresh Oracle Home deployment, I did not first build a 19.3 Oracle Home and then separately patch it to 19.32.
The Gold Image-based workflow created the target Oracle Home at the intended patch level.
Important Clarification
This exercise focuses specifically on:
Installing a new Oracle Database 19c software home using AutoUpgrade.
It does not create an Oracle Database. Next I would be creating Oracle Database.
The result of this exercise is a prepared Oracle Database Home:
/u01/app/19.32.0/db
Database creation using DBCA, migration of an existing database, or upgrading a database into this Oracle Home would be separate activities.
Acknowledgment
A special thanks to Daniel Overby Hansen for his article:
βAutoUpgrade New Features: Install Oracle Home on Brand-New, Empty Serverβ
Daniel’s article introduced and demonstrated this AutoUpgrade capability and was extremely helpful in understanding how create_home can be used to install an Oracle Home on a new server.
His article gave me the starting point and guidance to test the functionality myself and extend the exercise in my own Oracle Linux 8.10 / Oracle Database 19c environment.
In my Oracle Linux 8.10 environment, I extended the exercise to include:
- OS preparation
- AutoUpgrade keystore configuration
- Oracle Database 19.32 Gold Image download
- Downloading the latest OPatch
- OJVM 19.32 download
- Oracle Home creation
- AutoUpgrade stage monitoring
- Running the required root scripts
- Validating the successful installation
Thank you, Daniel, for sharing this feature with the Oracle community and providing the guidance that helped me perform this test successfully.
Conclusion
Using AutoUpgrade on Oracle Linux 8.10, I successfully created a fresh Oracle Database 19c Home at the required 19.32 patch level.
The overall workflow was:
Prepare Oracle Linux 8.10
β
Install AutoUpgrade Prerequisites
β
Configure AutoUpgrade
β
Create Secure MOS Keystore
β
Download Oracle 19.32 Gold Image
β
Download Latest OPatch
β
Download OJVM 19.32
β
Create New Oracle Database Home
β
Patch Oracle Home
β
Run Root Scripts
β
Validate Installation
The execution completed successfully with:
Jobs finished : 1
Jobs failed : 0
The biggest takeaway for me from this exercise is that AutoUpgrade should no longer be viewed only as a database upgrade utility.
Its expanding functionality means it can also participate in Oracle Home creation, patch discovery, software download and software lifecycle management.
For DBAs responsible for repeatedly building standardized and patched Oracle Homes, this is definitely a capability worth exploring.
All the commands and outputs documented here are from my own tested Oracle Linux 8.10 lab environment.
π Detailed Installation Commands & Execution Output
The complete installation command sequence and actual execution output from the deployment are available on GitHub.
π Oracle 19c Fresh Install Using AutoUpgrade Installation Commands & Execution Output
This article documents my own hands-on installation and troubleshooting experience. Always verify the Oracle support matrix, certification information, RU requirements, and platform-specific prerequisites for your target environment before implementing the procedure in production.