Problem
statement:Lets assume
you are planning to upgrade ODA clusters from 19.18 to 19.26 version. As we can see from below support matrix that from version
19.21(19.20.0.1 is only supported for hardware X10,X11) OS image has been
changed from OEL 7 to OEL 8.As a result we can not follow standard ODA patching
path (19.18->19.22->19.26).We have to reimage with 19.26 ODA image which
will erase root file system and all asm disks header and contents.
After reimaging
we have to create all oracle database homes with new versions and create every
database which was running before reimaging. Then we need to restore and
recover from the last backup taken before reimaging.

Impact:Lets assume number of databases
running in each clusters and their aggregated space utilization is more than 30
TB.To restore and recover from backup will be a very time-consuming effort
which will lead to very bigger
outage window.
Proposed solution:Oracle has introduced a solution to
this problem using a technique called Data preserving and reprovisioning aka
DPR. Data Preserving Reprovisioning enables reprovisioning of an
already deployed Oracle Database Appliance system without modifying the storage and the databases on
the appliance. This is achieved by saving the information of the source system,
capturing them as server data archive files. Then, the appliance is reimaged to
Oracle Database Appliance release 19.22 and the saved metadata is
used to directly reprovision the system and bring back all the resources such
as databases, DB systems, Oracle ASR, and others.
Only catch
here is we can not jump from 19.18 to 19.26 directly using DPR.We need to
upgrade from 19.18 to
19.22 using DPR and then upgrade from 19.22 to 19.26.
Please refer
below faq document
https://docs.oracle.com/en/engineered-systems/oracle-database-appliance/19.22/cmtrx/general-faqs-data-preserving-reprovisioning.html
Pre-requisite: The databases must be at the following minimum versions at
the minimum to upgrade to Oracle Linux 8:
- 19.18.0.0.230117 or
later: Databases can be restarted in Oracle Linux 8 environment.
- 21.8.0.0.221018 (DB system
only): DB systems with 21c databases can be restarted on Oracle Linux
8 bare metal Oracle Linux 7. DB systems with 21c databases can be upgraded
to Oracle Linux 8 DB systems and retain 21c databases.
Below is a
step by step method where POC has been done in below ODA bare metal
infrastructure
Hardware model: ODA X7-2 HA hardware
Disk count:27
GI version: 19.18.0.0.230117
DB version: 19.18.0.0.230117
Ø Download server patch 36269277
Search server
patch 36269277 for 19.22 from MOS site and copy in shared path /mnt.


This has been
downloaded as /mnt/p36269277_1922000_Linux-x86-64.zip.unzip it and we can see
the server patch as below
ls -ltr /mnt/oda-sm-19.22.0.0.0-240306-server.zip
-r--r--r-- 1
root root 4420437140 Mar 6 2024 /mnt/oda-sm-19.22.0.0.0-240306-server.zip
Ø Update patch repository
Use below
command to update patch repository with server patch
odacli
update-repository -f /mnt/oda-sm-19.22.0.0.0-240306-server.zip
This will
create a job-id and check the status using that job -id like below
odacli describe-job -i
"2791753a-1d2d-4012-9082-9d78a42c48fb"
Job details
----------------------------------------------------------------
ID: 2791753a-1d2d-4012-9082-9d78a42c48fb
Description: Repository Update
Status: Success
Created: January 14, 2026 11:15:49 AM MST
Message: /mnt/oda-sm-19.26.0.0.0-250214-server.zip
Task Name
Node Name Start
Time End Time Status
---------------------------------------- -------------------------
----------------------------------- -----------------------------------
----------
Check AvailableSpace
testoda01b January
14, 2026 11:16:03 AM MST January 14,
2026 11:16:03 AM MST Success
Setting up ssh equivalance
testoda01a January
14, 2026 11:16:03 AM MST January 14,
2026 11:16:05 AM MST Success
Copy BundleFile
testoda01a January
14, 2026 11:16:06 AM MST January 14,
2026 11:16:20 AM MST Success
Validating CopiedFile
testoda01b January
14, 2026 11:16:20 AM MST January 14,
2026 11:16:30 AM MST Success
Unzip bundle
testoda01a January
14, 2026 11:16:30 AM MST January 14,
2026 11:17:09 AM MST Success
Unzip bundle
testoda01b January
14, 2026 11:17:09 AM MST January 14,
2026 11:17:48 AM MST Success
Delete PatchBundles
testoda01b January
14, 2026 11:17:48 AM MST January 14,
2026 11:17:49 AM MST Success
Ø Update dcsadmin,components and agents
odacli
update-dcsadmin -v 19.22.0.0.0
{
"jobId" : "cc4922d1-049e-461e-9bcc-dae056771e74",
"status" : "Created",
"message" : null,
"reports" : [ ],
"createTimestamp" : "January 14, 2026 14:44:22 PM
MST",
"resourceList" : [ ],
"description" : "DcsAdmin patching",
"updatedTime" : "January 14, 2026 14:44:22 PM MST",
"jobType" : null
}
odacli describe-job -i
"cc4922d1-049e-461e-9bcc-dae056771e74"
Job details
----------------------------------------------------------------
ID: cc4922d1-049e-461e-9bcc-dae056771e74
Description: DcsAdmin patching
Status: Success
Created: January 14, 2026 2:44:22 PM MST
Message:
Task Name Node Name Start Time End Time Status
----------------------------------------
------------------------- -----------------------------------
----------------------------------- ----------
Patch location validation testoda01a January 14, 2026 2:44:22 PM
MST January 14, 2026 2:44:22 PM
MST Success
Patch location validation testoda01b January 14, 2026 2:44:22 PM
MST January 14, 2026 2:44:22 PM
MST Success
Dcs-admin upgrade testoda01a January 14, 2026 2:44:22 PM
MST January 14, 2026 2:44:29 PM
MST Success
Dcs-admin upgrade testoda01b January 14, 2026 2:44:29 PM
MST January 14, 2026 2:44:35 PM
MST Success
odacli
update-dcscomponents -v 19.22.0.0.0
{
"jobId" : "7d8c6f20-30ed-407f-8f99-beef8491e833",
"status" : "Success",
"message" : " DCS-Agent shutdown is successful. Skipping
MySQL upgrade on OL7 Metadata schema update is done. dcsagent RPM upgrade is
successful. dcscli RPM upgrade is successful. dcscontreset the Keystore
password. HAMI is not enabled Skipped removing old Libs. Successfully ran
setupAgentAuth.sh ",
"reports" : null,
"createTimestamp" : "January 14, 2026 14:47:48 PM
MST",
"description" : "Update-dcscomponents job completed and
is not part of Agent job list",
"updatedTime" : "January 14, 2026 14:50:13 PM MST"
}
odacli update-dcsagent
-v 19.22.0.0.0
{
"jobId" : "3f1c0f5d-2c15-4d1e-a00d-22e8a826fb67",
"status" : "Created",
"message" : "DCS agent will be restarted after the
update. Please wait for 2-3 mins before executing the other commands",
"reports" : [ ],
"createTimestamp" : "January 14, 2026 14:54:47 PM
MST",
"resourceList" : [ ],
"description" : "DcsAgent patching",
"updatedTime" : "January 14, 2026 14:54:48 PM MST",
"jobType" : null
}
Ø Create pre-upgrade report
Use below
command to run pre-upgrade report
odacli
create-preupgradereport -bm
Job details
----------------------------------------------------------------
ID: 39ed2140-93b0-4ce0-b456-93e33a01f682
Description: Run pre-upgrade checks for Bare Metal
Status: Created
Created: January 14, 2026 4:05:16 PM MST
Message: Use 'odacli describe-preupgradereport -i
39ed2140-93b0-4ce0-b456-93e33a01f682' to check details of results
odacli
describe-preupgradereport -i 39ed2140-93b0-4ce0-b456-93e33a01f682
Upgrade pre-check report
------------------------------------------------------------------------
Job ID: 39ed2140-93b0-4ce0-b456-93e33a01f682
Description: Run pre-upgrade checks for Bare Metal
Status: FAILED
Created: January 14, 2026 4:05:16 PM MST
Result: One or more pre-checks failed for [DB]
Node Name
---------------
testoda01a
Check Status Message Action
------------------------------
-------- --------------------------------------
--------------------------------------
__GI__
Check presence of databases Success
No additional database found
None
not managed by ODA registered in CRS
Check custom filesystems Success
All file systems are owned and used
None
by OS
users provisioned by ODA
Check presence of HAVIP Success
No HAVIP resources found registered
None
resources not managed by ODA in CRS
Check presence of export Success
No EXPORT resources found registered
None
resources not managed by ODA in CRS
__OS__
Check Required OS files Success
All the required files are present
None
Check Additional OS RPMs Success
No RPMs outside of base ISO were
None
found
on the system
__STORAGE__
Check Required Storage files Success
All the required files are present
None
Validate OAK Disks Success All OAK disks are in valid state None
Validate ASM Disk Groups Success
All ASM disk groups are in valid state None
Validate ASM Disks Success All ASM disks are in valid state None
Check Database Home Storage Success
The volume(s) None
volumes
orahome_sh,odabase_n0,odabase_n1
state
is CONFIGURED.
Check space under /opt Success Free space on /opt: 6843.88 MB is None
more
than required space: 1024 MB
Check space in ASM disk Success
Space required for creating local
None
group(s) homes is
present in ACFS database
home
storage. Required: 0 GB
Available: 68 GB
__SYS__
Validate Hardware Type Success Current hardware is supported None
Validate ILOM interconnect Success
ILOM interconnect is not enabled
None
Validate System Version Success
System version 19.22.0.0.0 is
None
supported
Verify System Timezone Success Succesfully verified the time zone None
file
Verify Grid User Success Grid user is verified None
Verify Grid Version Success Oracle Grid Infrastructure is running None
on the
'19.18.0.0.230117' version on
all
nodes
Check Audit Files Success Local Audit files not found None
__DB__
Validate Database Status Success
Database 'orcl' is running and is in
None
'CONFIGURED' state
Validate Database Version Success
Version '19.18.0.0.230117' for
None
database 'ccbx' is supported
Validate Database Datapatch
Failed Datapatch is not
completely applied Make sure datapatch
is completely
Application Status
to Database 'orcl': The following
applied to database using either
patches need to be applied :
'odacli update-database -dp' command
[34765931]. The following patches
or Opatch
need to be rolled back: [30484981].
The following patches are release
updates: [34786990].
Validate TDE wallet presence Success
Database 'orcl' is not TDE enabled.
None
Skipping TDE wallet presence check.
Validate Database Home Success Database home location check passed None
location for database orcl
Validate Database Service Success
No services found for Database 'orcl'
None
presence
__CERTIFICATES__
Check using custom Success Using Default key pair None
certificates
Check the agent of the DB Success
All the agents of the DB systems are
None
System accessible accessible
Node Name
---------------
testoda01b
Check Status Message Action
------------------------------
-------- --------------------------------------
--------------------------------------
__GI__
Check presence of databases Success
No additional database found
None
not managed by ODA registered in CRS
Check custom filesystems Success
All file systems are owned and used
None
by OS
users provisioned by ODA
Check presence of HAVIP Success
No HAVIP resources found registered
None
resources not managed by ODA in CRS
Check presence of export Success
No EXPORT resources found registered
None
resources not managed by ODA in CRS
__OS__
Check Required OS files Success
All the required files are present
None
Check Additional OS RPMs Success
No RPMs outside of base ISO were
None
found
on the system
__STORAGE__
Check Required Storage files Success
All the required files are present
None
Validate OAK Disks Success All OAK disks are in valid state None
Validate ASM Disk Groups Success
All ASM disk groups are in valid state None
Validate ASM Disks Success All ASM disks are in valid state None
Check Database Home Storage Success
The volume(s)
None
volumes
orahome_sh,odabase_n0,odabase_n1
state
is CONFIGURED.
Check space under /opt Success Free space on /opt: 6684.38 MB is None
more
than required space: 1024 MB
Check space in ASM disk Success
Space required for creating local
None
group(s) homes is
present in ACFS database
home
storage. Required: 0 GB
Available: 68 GB
__SYS__
Validate Hardware Type Success Current hardware is supported None
Validate ILOM interconnect Success
ILOM interconnect is not enabled
None
Validate System Version Success
System version 19.22.0.0.0 is
None
supported
Verify System Timezone Success Succesfully verified the time zone None
file
Verify Grid User Success Grid user is verified None
Verify Grid Version Success Oracle Grid Infrastructure is running None
on the
'19.18.0.0.230117' version on
all
nodes
Check Audit Files Success Local Audit files not found None
__DB__
Validate Database Status Success
Database 'orcl' is running on
None
'testoda01a'.
This check is skipped.
Validate Database Version Success
Version '19.18.0.0.230117' for
None
database 'orcl' is supported
Validate Database Datapatch Success
The database is SI and is running on
None
Application Status testoda01a. This check is
skipped.
Validate TDE wallet presence Success
Database 'orcl' is not TDE enabled.
None
Skipping TDE wallet presence check.
Validate Database Home Success Database home location check passed None
location for database orcl
Validate Database Service Success
No services found for Database 'orcl'
None
presence
__CERTIFICATES__
Check using custom Success Using Default key pair None
certificates
Check the agent of the DB Success
All the agents of the DB systems are
None
System accessible accessible
Our
pre-upgrade report failed with below error which says our SQL patch registry is
not updated
Validate Database Datapatch
Failed Datapatch is not
completely applied Make sure datapatch
is completely
Application Status
to Database 'orcl': The following
applied to database using either
patches need to be applied :
'odacli update-database -dp' command
[34765931]. The following patches
or Opatch
need to be rolled back: [30484981].
The following patches are release
updates: [34786990].
Update SQL
patch registry manually like below
cd $ORACLE_HOME/OPatch
[oracle@testoda01a OPatch]$ ./datapatch -verbose
SQL Patching tool version 19.18.0.0.0
Production on Wed Jan 14 16:11:52 2026
Copyright (c) 2012, 2023, Oracle. All rights reserved.
Log file for this invocation:
/u01/app/odaorabase/oracle/cfgtoollogs/sqlpatch/sqlpatch_89488_2026_01_14_16_11_52/sqlpatch_invocation.log
Connecting to database...OK
Gathering database info...done
Bootstrapping registry and package to
current versions...done
Determining current state...done
Current state of interim SQL patches:
Interim patch 30484981 (OJVM RELEASE
UPDATE: 19.6.0.0.200114 (30484981)):
Binary registry: Not installed
SQL registry: Applied successfully on 17-AUG-21 09.14.24.468205 AM
Interim patch 34786990 (OJVM RELEASE
UPDATE: 19.18.0.0.230117 (34786990)):
Binary registry: Installed
SQL registry: Not installed
Current state of release update SQL
patches:
Binary registry:
19.18.0.0.0 Release_Update 230127005551: Installed
SQL registry:
Applied 19.6.0.0.0 Release_Update 191217155004 successfully on 17-AUG-21
09.14.24.465550 AM
Adding patches to installation queue
and performing prereq checks...done
Installation queue:
The following interim patches will be rolled back:
30484981 (OJVM RELEASE UPDATE: 19.6.0.0.200114 (30484981))
Patch 34765931 (DATABASE RELEASE UPDATE : 19.18.0.0.230117
(REL-JAN230131) (34765931)):
Apply from 19.6.0.0.0 Release_Update 191217155004 to 19.18.0.0.0
Release_Update 230127005551
The following interim patches will be applied:
34786990 (OJVM RELEASE UPDATE: 19.18.0.0.230117 (34786990))
Installing patches...
Patch installation complete. Total patches installed: 3
Validating logfiles...done
Patch 30484981 rollback: SUCCESS
logfile:
/u01/app/odaorabase/oracle/cfgtoollogs/sqlpatch/30484981/23248235/30484981_rollback_ORCL_2026Jan14_16_12_10.log
(no errors)
Patch 34765931 apply: SUCCESS
logfile:
/u01/app/odaorabase/oracle/cfgtoollogs/sqlpatch/34765931/25098466/34765931_apply_ORCL_2026Jan14_16_12_42.log
(no errors)
Patch 34786990 apply: SUCCESS
logfile:
/u01/app/odaorabase/oracle/cfgtoollogs/sqlpatch/34786990/25032666/34786990_apply_ORCL_2026Jan14_16_12_42.log
(no errors)
SQL Patching tool
complete on Wed Jan 14 16:18:26 2026
Run pre-patch report again
odacli
create-preupgradereport -bm
Now we should see status of success for failed check
Ø Detach resources and software from the
source version of the appliance
This step
saves the metadata about the databases, listeners, networks, DB systems,
application KVMs, CPU pools, Oracle ASR, and other configuration details in
archive files, namely, the server data archive files. Then, the services
running on the system are shutdown and uninstalled to prepare the environment for reimage
in step 2. The data on the storage is kept intact.
The server
data archive files are generated after the successful detach of nodes. We must
save the server data archive files in a location outside the appliance which is
being upgraded, and copy these files back to the appliance to restore the
system.As highlighted below we should take level 0 backup before running this command.
odacli detach-node -all
********************************************************************************
IMPORTANT
********************************************************************************
'odacli detach-node' will bring down
the databases and grid services on the
system. The files that belong to the
databases, which are stored on ASM or ACFS,
are left intact on the storage. The
databases will be started up back after
re-imaging the ODA system using
'odacli restore-node' commands. As a good
precautionary
measure, please backup all the databases on the system before you
start
this process. Do not
store the backup on this ODA machine since the local
file system will be wiped out as part
of the re-image.
********************************************************************************
Do you want to continue (yes/no)[no] :
yes
{
"jobId" : "d8986e7f-eee8-4cca-be22-747b6d0a804a",
"status" : "Created",
"message" : "On successful job completion, the server
archive file will be generated at /opt/oracle/oak/restore/out. Please copy the
server archive file outside of the ODA system before re-image",
"reports" : [ ],
"createTimestamp" : "January 14, 2026 16:27:44 PM
MST",
"resourceList" : [ ],
"description" : "Detach node service creation for
upgrade",
"updatedTime" : "January 14, 2026 16:27:44 PM MST",
"jobType" : null
}
Copy server
archive file outside oda in a shared path like below
[root@testoda01a
oracle_software]# cd /opt/oracle/oak/restore/out
[root@testoda01a
out]# ls -ltr
total 1336
-rw-r--r-- 1
root root 1359974 Jan 14 16:39 serverarchive_testoda01a.zip
-rw-r--r-- 1
root root 65 Jan 14 16:39
serverarchive_testoda01a.zip.sha256
[root@testoda01a
out]# cp serverarchive_testoda01a.zip /mnt
[root@testoda01a
out]# cp serverarchive_testoda01a.zip.sha256 /mnt
Ø Reimage nodes using 19.22 ISO images
Search and download
the iso image patch 30403643 from MOS site and copy in /mnt.Unzip the file and
we can see below file
ls
-ltr /mnt/oda_bm_19.22.0.0.0_240306.iso
-r--r--r-- 1
root root 7596181504 Mar 6 2024 /mnt/oda_bm_19.22.0.0.0_240306.iso


To reimage
login in ILOM console like below and it will ask ILOM root password.If root
password is not working you can reset it as after reimage it will be anyway
reset to changeme
Use the
command below after login as root in host to connect ilom with serial
connection and change password
ipmitool
sunoem cli
Connected.
Use ^D to exit.
->
set /sp/users/root password
Enter
new password: ****************
Enter
new password again: ****************
https://testoda01a-ilo
https://testoda01b-ilo
Follow below
link in the section Reimaging an Oracle Database Appliance Baremetal System
Re-imaging
Oracle Database Appliance
Ø Plumb the network
During reimaging it will boot the server and we can see that
server host name has been changed to oak0 and oak1.At this stage ILOM is the
only way you can connect to the server as except private-ip and ilom-ip nothing
has been configured.So we need to configure public-ip in both the nodes using configure-firstnet
Like below.These information are already saved in
serverarchive zip file under configure-firstnet.rsp
You can see and check the contents of the file like below
# ------------------------------------------------------------
# This file was generated by the ODA detach-node code flow.
# Don't modify this file
#
# Created On: 2026-01-14 16:27:44
# Version: 19.22.0.0.0
# Feature: Data Preserving
# Re-provisioning
#
# To be used for configure-firstnet post
# reimage
# ------------------------------------------------------------
HOSTNAME=testoda01a
INTERFACE_NAME=btbond1
VLAN=NO
IP_ADDR=**.**.**.**
SUBNET_MASK=255.255.254.0
GATEWAY=**.**.**.**
Choose options
as per your network environments.For me It was all default options except below
3
/opt/oracle/dcs/bin/odacli
configure-firstnet
Using bonding public interface
(yes/no) [yes]:
Select the Interface to configure the
network on (btbond1) [btbond1]:
Use LACP bonding on btbond1 (yes/no)
[no]:
Configure DHCP on btbond1 (yes/no)
[no]:
INFO: You have chosen Static
configuration
Use VLAN on btbond1 (yes/no) [no]:
Enter
the IP address to configure : Public ip found in firstnet.rsp
Enter
the Netmask address to configure : Copy same from
firstnet.rsp
Enter the Gateway
address to configure[10.209.12.1] : Copy same from firstnet.rsp
Ø Update repository with server patch
Since nodes have been reimaged so right now our patch
repository residing in /opt has no information about server patches.So we need
to transfer server patch file using scp from any existing ODA node.
scp /mnt/oda-sm-19.22.0.0.0-240306-server.zip <public-ip>:/tmp
It will ask for root password for new reimaged node which is welcome1
odacli update-repository -f /tmp/
oda-sm-19.22.0.0.0-240306-server.zip
Ø Run pre-patch report
Use below command to run pre-patch report before updating
with server patch
odacli create-prepatchreport -s -v 19.22.0.0.0
odacli describe-prepatchreport -i
adb732ac-0f1d-4748-8709-356ba7ee2d74
If status is failure we need to fix that before updating with
server patch
Patch pre-check report
------------------------------------------------------------------------
Job ID: adb732ac-0f1d-4748-8709-356ba7ee2d74
Description: Patch pre-checks for [OS, ILOM, SERVER]
Status: SUCCESS
Created: January 15, 2026 4:33:39 PM UTC
Result: All pre-checks succeeded
Node ID
---------------
node_0
Pre-Check
Status Comments
------------------------------ --------
--------------------------------------
__OS__
Validate supported versions
Success Validated minimum
supported versions.
Validate patching tag
Success Validated patching tag:
19.22.0.0.0.
Is patch location available
Success Patch location is
available.
Verify OS patch
Success There are no packages
available for
an update
Validate command execution
Success Skipped command
execution verfication
- Instance is not provisioned
__ILOM__
Validate ILOM server reachable
Success Successfully connected
with ILOM
server using public IP and USB
interconnect
Validate supported versions
Success Validated minimum
supported versions.
Validate patching tag
Success Validated patching tag:
19.22.0.0.0.
Is patch location available
Success Patch location is
available.
Checking Ilom patch Version
Success Successfully verified
the versions
Patch location validation
Success Successfully validated
location
Validate command execution
Success Skipped command
execution verfication
- Instance is not provisioned
__SERVER__
Validate local patching
Success Successfully validated
server local
patching
Validate command execution
Success Skipped command
execution verfication
- Instance is not provisioned
Node ID
---------------
node_1
Pre-Check
Status Comments
------------------------------ --------
--------------------------------------
__OS__
Validate supported versions
Success Validated minimum
supported versions.
Validate patching tag
Success Validated patching tag:
19.22.0.0.0.
Is patch location available
Success Patch location is
available.
Verify OS patch
Success There are no packages
available for
an update
Validate command execution
Success Skipped command
execution verfication
- Instance is not provisioned
__ILOM__
Validate ILOM server reachable
Success Successfully connected
with ILOM
server using public IP and USB
interconnect
Validate supported versions
Success Validated minimum
supported versions.
Validate patching tag
Success Validated patching tag:
19.22.0.0.0.
Is patch location available
Success Patch location is
available.
Checking Ilom patch Version
Success Successfully verified
the versions
Patch location validation
Success Successfully validated
location
Validate command execution
Success Skipped command
execution verfication
- Instance is not provisioned
__SERVER__
Validate local patching
Success Successfully validated
server local
patching
Validate command execution
Success Skipped command
execution verfication
- Instance is not provisioned
Ø Update using server patch
In this step firmware,BIOS and ILOM
will be upgraded. Use below command to update it
odacli update-server -v
19.22.0.0.0

odacli
describe-job -i 0f613b7a-dd2f-450d-8d42-ac5cb423727f

Ø Update storage components
Use below commands to update storage components
odacli create-prepatchreport -st -v 19.22.0.0.0
odacli update-storage -v 19.22.0.0.0

Ø Update repository with GI Clone
Download GI clone patch 30403673 and push it to server using public ip
and extract
https://updates.oracle.com/Orion/Services/download/p30403673_1922000_Linux-x86-64.zip?aru=25597787&patch_file=p30403673_1922000_Linux-x86-64.zip
scp /mnt/p30403673_1922000_Linux-x86-64.zip 10.128.9.203:/tmp
odacli update-repository -f
/tmp/odacli-dcs-19.22.0.0.0-240306-GI-19.22.0.0.zip
{
"jobId" :
"da61ed89-2a75-4391-9d36-09e95f52ea51",
"status" :
"Created",
"message" : "/tmp/odacli-dcs-19.22.0.0.0-240306-GI-19.22.0.0.zip",
"reports" : [ ],
"createTimestamp" :
"January 15, 2026 17:53:59 PM UTC",
"resourceList" : [ ],
"description" :
"Repository Update",
"updatedTime" :
"January 15, 2026 17:53:59 PM UTC",
"jobType" : null
}

Ø Copy server archive file in local node
and update repository
scp /mnt/serverarchive_testoda01a.zip 10.128.9.203:/tmp
odacli update-repository -f /tmp/serverarchive_testoda01a.zip
{
"jobId" :
"34e9d2a4-7e0b-409f-946d-f128ea1ae22e",
"status" :
"Created",
"message" :
"/tmp/serverarchive_testoda01a.zip",
"reports" : [ ],
"createTimestamp" :
"January 15, 2026 17:58:13 PM UTC",
"resourceList" : [ ],
"description" :
"Repository Update",
"updatedTime" :
"January 15, 2026 17:58:13 PM UTC",
"jobType" : null
}

Ø Restore nodes using server archive
file
Basically in this step appliance is being provisioned
(setting hostname,vip,scanip,dns server,user creation and grid infrastructure
installation) using server archive file which we have just copied in previous
step
odacli restore-node -g

So we can see
below that restore-node has failed and we don’t know exactly from below output
the reason behind it

As suggested
use odacli describe-job -I <job-id> --ecr to get detailed error report
It failed to
install AHF due to low disk space in root file system

We see
utilization at this stage in root file system is 94%

Extend root
file system like below in both the nodes
[root@oak0 log]# lvextend -L +20G /dev/mapper/VolGroupSys-LogVolRoot
Size of logical volume
VolGroupSys/LogVolRoot changed from 30.00 GiB (960 extents) to 50.00 GiB (1600
extents).
Logical volume
VolGroupSys/LogVolRoot successfully resized.
[root@oak0 log]# resize2fs /dev/mapper/VolGroupSys-LogVolRoot
resize2fs 1.45.6 (20-Mar-2020)
Filesystem at /dev/mapper/VolGroupSys-LogVolRoot is mounted on /; on-line
resizing required
old_desc_blocks = 4, new_desc_blocks = 7
The filesystem on /dev/mapper/VolGroupSys-LogVolRoot is now 13107200 (4k)
blocks long.
After that reattempt
failed with below error
odacli restore-node -g
Enter New system password:
Retype New system password:
DCS-10045:Validation error encountered: System has already
undergone provisioning with status 'FAILED'.
ODA Upgrade Using Preserving Reprovisioning Method Fails Due to
Incorrectly Defined Network Interface
KB120516
It says to run /opt/oracle/oak/onecmd/cleanup.pl to cleanup and reattempt
provisioning
Run /opt/oracle/oak/onecmd/cleanup.pl in both the nodes

Rerun restore for GI again
odacli restore-node -g and wait for completion
Job details
ID: 00ff0983-3953-4fe5-82c1-9be73ad73b9b
Description: Restore node service - GI
Status: Success
Created: January 16, 2026 2:27:33 AM MST
Message:
Task Name
Node Name Start Time End Time Status
Restore node service creation
testoda01a January 16, 2026
2:27:55 AM MST January 16, 2026 3:40:03
AM MST Success
Setting up Network
testoda01a January 16, 2026
2:28:05 AM MST January 16, 2026 2:28:05
AM MST Success
Setting up vlan
testoda01a January 16, 2026
2:28:33 AM MST January 16, 2026 2:29:07
AM MST Success
Setting up Network
testoda01a January 16, 2026
2:29:13 AM MST January 16, 2026 2:29:46
AM MST Success
Setting up iWlan
testoda01a January 16, 2026
2:29:13 AM MST January 16, 2026 2:29:46
AM MST Success
... (Additional lines truncated )
Ø Restore database
Use command odacli restore-node -d
{
"jobId" :
"4d251737-02f6-491c-b350-9cb5dca74d75",
"status" :
"Created",
"message" : null,
"reports" : [ ],
"createTimestamp" :
"January 15, 2026 13:09:56 PM MST",
"resourceList" : [ ],
"description" :
"Restore node service - DB",
"updatedTime" :
"January 15, 2026 13:09:56 PM MST",
"jobType" : null
}
odacli describe-job -i "4d251737-02f6-491c-b350-9e5bdea74675"
Job details
-----------------------------------------------------------------------
ID: 4d251737-02f6-491c-b350-9e5bdea74675
Description: Restore node service - DB
Status: Success
Created: January 15, 2026 1:09:56 PM MST
Message:
-----------------------------------------------------------------------
Task Name Node
Name Start Time End Time Status
-------------------------------------------------------------------------------------------------------------------------------------------------------
Setting up SSH equivalence for 'oracle' testoda01a January 15, 2026 11:10:00 PM MST January 15, 2026 11:10:04 PM MST Success
Restore EM PEM Pools testoda01a January 15, 2026 11:10:00 PM MST January 15, 2026 11:10:01 PM MST Success
Register DB home: OraDB19000_home1 testoda01a January 15, 2026 11:10:05 PM MST January 15, 2026 11:10:11 PM MST Success
Persist database archive locations testoda01a January 15, 2026 11:10:12 PM MST January 15, 2026 11:10:12 PM MST Success
Save metadata for cdbx testoda01a January 15, 2026 11:10:12 PM MST January 15, 2026 11:10:12 PM MST Skipped
Persist database storage testoda01a January 15, 2026 11:10:12 PM MST January 15, 2026 11:10:12 PM MST Success
Restore database cdbx testoda01a January 15, 2026 11:10:12 PM MST January 15, 2026 11:11:48 PM MST Success
Adding database instance(s) to GI testoda01a January 15, 2026 11:10:19 PM MST January 15, 2026 11:10:25 PM MST Success
Modifying SPFILE for database testoda01a January 15, 2026 11:10:19 PM MST January 15, 2026 11:10:19 PM MST Success
Restore password file for database testoda01a January 15, 2026 11:10:26 PM MST January 15, 2026 11:10:50 PM MST Success
Start instance(s) for database testoda01a January 15, 2026 11:10:26 PM MST January 15, 2026 11:11:00 PM MST Success
Persist database creation data testoda01a January 15, 2026 11:11:01 PM MST January 15, 2026 11:11:08 PM MST Success
Create data directory testoda01a January 15, 2026 11:11:01 PM MST January 15, 2026 11:11:07 PM MST Success
Run SQLPatch testoda01a January 15, 2026 11:11:08 PM MST January 15, 2026 11:11:08 PM MST Success
Restore object stores testoda01a January 15, 2026 11:11:09 PM MST January 15, 2026 11:11:09 PM MST Success
Restore DNS backup testoda01a January 15, 2026 11:11:09 PM MST January 15, 2026 11:11:10 PM MST Success
Restore backupconfigs testoda01a January 15, 2026 11:11:10 PM MST January 15, 2026 11:11:14 PM MST Success
Reattach backupconfigs to DBs testoda01a January 15, 2026 11:11:14 PM MST January 15, 2026 11:11:19 PM MST Success
Restore backup reports testoda01a January 15, 2026 11:11:19 PM MST January 15, 2026 11:11:20 PM MST Success
Ø Download RDBMS clone and update
repository
Download patch
30403662, transfer to NFS share and unzip.
odacli update-repository
-f /tmp/odacli-dcs-19.22.0.0.0-240306-DB-19.22.0.0.zip
{
"jobId" : "30af5a12-8a0d-441b-8d19-784903834523",
"status" : "Created",
"message" :
"/tmp/odacli-dcs-19.22.0.0.0-240306-DB-19.22.0.0.zip",
"reports" : [ ],
"createTimestamp" : "January 20, 2026 07:46:16 AM
MST",
"resourceList" : [ ],
"description" : "Repository Update",
"updatedTime" : "January 20, 2026 07:46:16 AM MST",
"jobType" : null
}
[root@testoda01a tmp]#
odacli describe-job -i "30af5a12-8a0d-441b-8d19-784903834523"
Job details
----------------------------------------------------------------
ID: 30af5a12-8a0d-441b-8d19-784903834523
Description: Repository Update
Status: Success
Created: January 20, 2026 7:46:16 AM MST
Message:
/tmp/odacli-dcs-19.22.0.0.0-240306-DB-19.22.0.0.zip
Task Name Node Name Start Time End Time Status
----------------------------------------
------------------------- ----------------------------------------
---------------------------------------- ----------------
Check AvailableSpace testoda01b January 20, 2026 7:46:26 AM
MST January 20, 2026 7:46:26 AM
MST Success
Setting up SSH equivalence testoda01a January 20, 2026 7:46:26 AM
MST January 20, 2026 7:46:30 AM
MST Success
Copy BundleFile testoda01a January 20, 2026 7:46:30 AM
MST January 20, 2026 7:46:37 AM
MST Success
Validating CopiedFile testoda01b January 20, 2026 7:46:37 AM
MST January 20, 2026 7:46:46 AM
MST Success
Unzip bundle testoda01a January 20, 2026 7:46:46 AM
MST January 20, 2026 7:47:22 AM
MST Success
Unzip bundle testoda01b January 20, 2026 7:47:22 AM
MST January 20, 2026 7:47:58 AM
MST Success
Delete PatchBundles testoda01b January 20, 2026 7:47:58 AM
MST January 20, 2026 7:47:59 AM
MST Success
Ø Create pre-patch report for 19.22 DB
home
odacli list-dbhomes
ID
Name DB
Version DB Edition Home
Location
Status
---------------------------------------- --------------------
-------------------- ----------
-------------------------------------------------------- ----------
1d4b5f7d-b3e2-4ec6-b91e-3893ba2050ef
OraDB19000_home1
19.18.0.0.230117 EE /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1 CONFIGURED
odacli
create-prepatchreport --dbhome --dbhomeid 1d4b5f7d-b3e2-4ec6-b91e-3893ba2050ef -v 19.22.0.0.0
Job details
----------------------------------------------------------------
ID: 13bf7740-2167-408d-afaf-838a31304bdd
Description: Patch pre-checks for [DB, ORACHKDB]: DbHome
is OraDB19000_home1
Status: Created
Created: January 20, 2026 8:03:26 AM MST
Message: Use 'odacli describe-prepatchreport -i
13bf7740-2167-408d-afaf-838a31304bdd' to check details of results
It failed
with below error highlighted
Change this
database parameter as true temporarily and rerun pre-patch report which
completed successfully
alter
system set global_names=TRUE;
odacli
describe-prepatchreport -i 20c68a4f-eb46-4fe1-b670-ebf9ee5a0488
Patch pre-check report
------------------------------------------------------------------------
Job ID: 20c68a4f-eb46-4fe1-b670-ebf9ee5a0488
Description: Patch pre-checks for [DB, ORACHKDB]: DbHome
is OraDB19000_home1
Status: SUCCESS
Created: January 20, 2026 8:26:31 AM MST
Result: All pre-checks succeeded
Ø Update database home with 19.22
odacli
update-dbhome --id 1d4b5f7d-b3e2-4ec6-b91e-3893ba2050ef -v 19.22.0.0.0
{
"jobId" : "fc953306-a334-4c1b-96f1-06843623f3ed",
"status" : "Created",
"message" : null,
"reports" : [ ],
"createTimestamp" : "January 20, 2026 08:59:59 AM
MST",
"resourceList" : [ ],
"description" : "DB Home Patching: Home ID is
1d4b5f7d-b3e2-4ec6-b91e-3893ba2050ef",
"updatedTime" : "January 20, 2026 08:59:59 AM MST",
"jobType" : null
}
odacli describe-job -i
"fc953306-a334-4c1b-96f1-06843623f3ed"
Job details
----------------------------------------------------------------
ID: fc953306-a334-4c1b-96f1-06843623f3ed
Description: DB Home Patching: Home ID is
1d4b5f7d-b3e2-4ec6-b91e-3893ba2050ef
Status: Success
Created: January 20, 2026 8:59:59 AM MST
Message:
Task Name Node Name Start Time End Time Status
----------------------------------------
------------------------- ----------------------------------------
---------------------------------------- ----------------
Creating wallet for DB Client testoda01a January 20, 2026 9:00:52 AM
MST January 20, 2026 9:00:53 AM
MST Success
Patch databases by RHP - [orcl] testoda01a January 20, 2026 9:00:53 AM
MST January 20, 2026 9:06:03 AM
MST Success
Updating database metadata testoda01b January 20, 2026 9:06:03 AM
MST January 20, 2026 9:06:03 AM
MST Success
Set log_archive_dest for Database testoda01b January 20, 2026 9:06:07 AM
MST January 20, 2026 9:06:09 AM
MST Success
Update System version testoda01a January 20, 2026 9:06:09 AM
MST January 20, 2026 9:06:09 AM
MST Success
Update System version testoda01b January 20, 2026 9:06:09 AM
MST January 20, 2026 9:06:09 AM
MST Success
Generating and saving BOM testoda01b January 20, 2026 9:06:09 AM
MST January 20, 2026 9:06:45 AM
MST Success
Generating and saving BOM testoda01a January 20, 2026 9:06:09 AM
MST January 20, 2026 9:06:46 AM
MST Success
TDE parameter update testoda01b January 20, 2026 9:07:55 AM
MST January 20, 2026 9:07:55 AM
MST Success
odacli list-databases
ID DB
Name DB Type DB Version CDB Class
Edition Shape Storage
Status DB Home ID
----------------------------------------
---------- -------- -------------------- ------- -------- -------- --------
-------- ------------ ----------------------------------------
a9217431-fc5a-4cbd-85f8-d35c5e345861 orcl
SI 19.22.0.0.240116 false
OLTP EE odb2
ASM CONFIGURED 2bd93704-62ca-4755-b0da-fdcc120ef1b8
This concludes
successful completion of ODA image upgrade from 19.18 to 19.22.Hope you have
learnt something useful.