I had to recently patch several ODAs from 19.28 to 19.30, and one ODA patching failed running the prepatch report which is mandatory and helpful before going to patch the ODA. For each step (server, grid or storage) a prepatch report is needed. I had to troubleshoot and I could solve the problem, and I thought it would be more than interesting to share it, expecting it might be helpful.
Problem description
After dcs-admin update, dcs components update, repository update with grid and rdbms clones, I have run a prepatch report, and decided to run it already for all components : server, grid and storage.
This is why we will see in the output following part : OS, ILOM, ORACHKSERVER, SERVER, STORAGE, RHPGI, GI.
Running the prepatch report:
[root@ODA01 ~]# /opt/oracle/dcs/bin/odacli create-prepatchreport -sc -gi -st -v 19.30.0.0.0
Job details
----------------------------------------------------------------
ID: 6681af21-907a-4ffc-8add-d40af11441ae
Description: Patch pre-checks for [OS, ILOM, ORACHKSERVER, SERVER, STORAGE, RHPGI, GI] to 19.30.0.0.0
Status: Created
Created: March 29, 2026 10:35:01 CEST
Message: Use 'odacli describe-prepatchreport -i 6681af21-907a-4ffc-8add-d40af11441ae' to check details of results
Task Name Start Time End Time Status
---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
[root@ODA01 ~]#
Describing the report, I could see that it failed on the OS rpm verification:
[root@ODA01 ~]# odacli describe-prepatchreport -i 6681af21-907a-4ffc-8add-d40af11441ae
Prepatch Report
------------------------------------------------------------------------
Job ID: 6681af21-907a-4ffc-8add-d40af11441ae
Description: Patch pre-checks for [OS, ILOM, ORACHKSERVER, SERVER, STORAGE, RHPGI, GI] to 19.30.0.0.0
Status: FAILED
Created: March 29, 2026 10:35:01 AM CEST
Result: One or more pre-checks failed for [OS]
Node Name
---------------
ODA01
Pre-Check Status Comments
------------------------------ -------- --------------------------------------
__OS__
Validate supported versions Success Validated minimum supported versions.
Validate patching tag Success Validated patching tag: 19.30.0.0.0.
Is patch location available Success Patch location is available.
Verify All OS patches Failed DCS-10252 - dnf dry-run execution
failed: check
/opt/oracle/dcs/log/jobfiles/
dnfdryrunout_2026-03-29_10-35-
15.0673_536.log file for more details
Validate command execution Success Validated command execution
__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.30.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 Validated command execution
__ORACHK__
Running orachk Success Successfully ran Orachk
Validate command execution Success Validated command execution
__SERVER__
Validate local patching Success Successfully validated server local
patching
Validate all KVM ACFS Success All KVM ACFS resources are running
resources are running
Validate DB System VM states Success All DB System VMs states are expected
Validate command execution Success Validated command execution
__STORAGE__
Validate patching tag Success Validated patching tag: 19.30.0.0.0.
Patch location validation Success Verified patch location
Patch tag validation Success Verified patch tag
Storage patch tag validation Success Verified storage patch location
Verify ASM disks status Success ASM disks are online
Validate command execution Success Validated command execution
__RHPGI__
Validate available space Success Validated free space under /u01
Evaluate GI patching Success Successfully validated GI patching
Validate command execution Success Validated command execution
__GI__
Validate GI metadata Success Successfully validated GI metadata
Validate supported GI versions Success Successfully validated minimum version
Is clusterware running Success Clusterware is running
Validate patching tag Success Validated patching tag: 19.30.0.0.0.
Is system provisioned Success Verified system is provisioned
Validate ASM is online Success ASM is online
Validate kernel log level Success Successfully validated the OS log
level
Validate Central Inventory Success oraInventory validation passed
Validate patching locks Success Validated patching locks
Validate clones location exist Success Validated clones location
Validate DB start dependencies Success DBs START dependency check passed
Validate DB stop dependencies Success DBs STOP dependency check passed
Validate space for clones Success Clones volume is already created
volume
Validate command execution Success Validated command execution
[root@ODA01 ~]#
I checked the appropriate log, and could easily guess that the process complained about missing rhn-client-tools:
[root@ODA01 ~]# view /opt/oracle/dcs/log/jobfiles/dnfdryrunout_2026-03-29_10-35-15.0673_536.log
2026-03-29 10:35:29,977 [DNFHelper] INFO : File path /tmp/dcsfiles/dnfoperation_2026-03-29_10-35-15.0676_536.json exists
2026-03-29 10:35:29,977 [DNFHelper] INFO : File path /tmp/dcsfiles/dnfoperation_2026-03-29_10-35-15.0676_536.json is a regular file
2026-03-29 10:35:29,979 [dnf ] DEBUG : User-Agent: constructed: 'libdnf (Oracle Linux Server 8.10; server; Linux.x86_64)'
2026-03-29 10:35:29,991 [dnf ] DEBUG : User-Agent: constructed: 'libdnf (Oracle Linux Server 8.10; server; Linux.x86_64)'
2026-03-29 10:35:30,139 [dnf ] DEBUG : repo: using cache for: PrecheckOSPatchRepo
2026-03-29 10:35:30,147 [dnf ] DEBUG : PrecheckOSPatchRepo: using metadata from Sun 29 Mar 2026 10:35:12 AM CEST.
2026-03-29 10:35:30,148 [dnf ] INFO : Last metadata expiration check: 0:00:18 ago on Sun 29 Mar 2026 10:35:12 AM CEST.
2026-03-29 10:35:31,907 [DNFHelper] DEBUG : === DNF Plugin Status ===
2026-03-29 10:35:31,907 [DNFHelper] DEBUG : DNF plugins are enabled
2026-03-29 10:35:31,910 [DNFHelper] DEBUG : === Debug Info ===
2026-03-29 10:35:31,910 [DNFHelper] DEBUG : Operation RPM Metadata: {"install": ["hmpipmitool.x86_64", "rhn-setup.x86_64", "uptrack-updates-5.15.0-316.196.4.1.el8uek.x86_64.noarch", "ksplice-offline.x86_64", "ksplice.x86_64"], "exclude": ["linux-firmware-core.noarch"], "remove": ["uptrack-updates-5.15.0-310.184.5.2.el8uek.x86_64.noarch"]}
2026-03-29 10:35:31,910 [DNFHelper] DEBUG : Installed packages: ['MegaCli-8.07.07-1.noarch', 'NetworkManager-1:1.40.16-19.0.1.el8_10.x86_64', 'NetworkManager-config-server-1:1.40.16-19.0.1.el8_10.noarch', 'NetworkManager-libnm-1:1.40.16-19.0.1.el8_10.x86_64', 'NetworkManager-team-1:1.40.16-19.0.1.el8_10.x86_64', 'NetworkManager-tui-1:1.40.16-19.0.1.el8_10.x86_64', 'VRTSnbcfg-10.2.0.1-1686143553.x86_64', 'VRTSnbclibs-10.2.0.1-1686143611.x86_64', 'VRTSnbclt-10.2.0.1-1686143729.x86_64', 'VRTSnbpck-10.2.0.1-1686143786.x86_64', 'VRTSpbx-1.17.62.5-5.x86_64', 'VRTSpddea-18.0.1.0-0023.x86_64', 'abattis-cantarell-fonts-0.0.25-6.el8.noarch', 'acl-2.2.53-3.el8.x86_64', 'adcli-0.9.2-1.el8.x86_64', 'adwaita-cursor-theme-3.28.0-3.el8.noarch', 'adwaita-icon-theme-3.28.0-3.el8.noarch', 'aide-0.16-14.el8_5.1.x86_64', 'alsa-lib-1.2.10-2.el8.x86_64', 'annobin-11.13-2.0.6.el8.x86_64', 'at-3.1.20-12.el8.x86_64', 'at-spi2-atk-2.26.2-1.el8.x86_64', 'at-spi2-core-2.28.0-1.el8.x86_64', 'atk-2.28.1-1.el8.x86_64', 'attr-2.4.48-3.el8.x86_64', 'audit-3.1.2-1.0.1.el8.x86_64', 'audit-libs-3.1.2-1.0.1.el8.x
...
...
...
2026-03-29 10:35:32,505 [DNFHelper] ERROR : Dependency solving failed
2026-03-29 10:35:32,505 [DNFHelper] ERROR : Error occured:
Traceback (most recent call last):
File "/opt/oracle/oak/pkgrepos/scripts/19.30.0.0.0/dnfhelper.py", line 315, in main
metadata_file=metadata_file
File "/opt/oracle/oak/pkgrepos/scripts/19.30.0.0.0/dnfhelper.py", line 226, in run_combined_dnf_txn
base.resolve()
File "/usr/lib/python3.6/site-packages/dnf/base.py", line 906, in resolve
raise exc
dnf.exceptions.DepsolveError:
Problem: conflicting requests
- nothing provides rhn-client-tools = 2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe needed by rhn-setup-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 from PrecheckOSPatchRepo
Analysing problem and root cause
I first checked if the package is really missing:
[root@ODA01 ~]# rpm -qa | grep -i rhn-client-tools [root@ODA01 ~]#
And it was definitively missing, when on other ODA it was existing:
[root@ODA02 ~]# rpm -qa | grep -i rhn-client-tools python3-rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 [root@ODA02 ~]#
I checked in the history of the package management if one transaction could have affected this.
[root@ODA01 ~]# dnf history | grep -i rhn-client-tools
2 | remove -y rhn-client-tools | 2024-03-12 17:27 | Removed | 16 <
[root@ODA01 ~]#
And it was the case! Someone manually removed the package 2 years ago. And also we can see that 16 dependencies rpm have been removed as well. What a mess!
I take the opportunity here to remind that an ODA IS AN APPLIANCE, and not a normal linux server. Any yum or dnf changes will have huge impact on the ODA patching, knowing that each version is coming with its bundle patch version, and the ODA will lock the repository. If a package is needed (for example, veeam agent plugin) it is always better to prioritise an installation with a tar file which will be totally transparent for the ODA patching. Otherwise it is better to install each rpm individually, avoiding if possible yum or dnf. The worst of course is removing a package with several dependencies. dnf remove including dependencies is of course something that I would never recommend to run on an ODA.
The second question we can raise, is why now? We have been running several version from 2024 to 2026 and it seems only the 19.30 version is complaining about it.
Let’s list all the dependant packages that have been removed during this dnf transaction…
[root@ODA01 ~]# dnf history info 2
Transaction ID : 2
Begin time : Tue 12 Mar 2024 05:27:35 PM CET
Begin rpmdb : 1162:21b3b42bf2d4360e1ace842a41737674018ff3da
End time : Tue 12 Mar 2024 05:27:36 PM CET (1 seconds)
End rpmdb : 1146:a140a149ea28fdac865a8abdbe954771f896a078
User : root
Return-Code : Success
Releasever : 8
Command Line : remove -y rhn-client-tools
Comment :
Packages Altered:
Removed dnf-plugin-spacewalk-2.8.5-11.0.3.module+el8.3.0+20070+f5719e00.noarch @@System
Removed python3-dmidecode-3.12.3-2.el8.x86_64 @@System
Removed python3-dnf-plugin-spacewalk-2.8.5-11.0.3.module+el8.3.0+20070+f5719e00.noarch @@System
Removed python3-dnf-plugin-ulninfo-0.3-2.module+el8.4.0+20142+f119a2fa.noarch @@System
Removed python3-hwdata-2.3.6-3.el8.noarch @@System
Removed python3-librepo-1.14.2-4.el8.x86_64 @@System
Removed python3-netifaces-0.10.6-4.el8.x86_64 @@System
Removed python3-newt-0.52.20-11.el8.x86_64 @@System
Removed python3-rhn-check-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 @@System
Removed python3-rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 @@System
Removed python3-rhn-setup-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 @@System
Removed rhn-check-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 @@System
Removed rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 @@System
Removed rhn-setup-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 @@System
Removed rhnsd-5.0.35-3.0.1.module+el8+5192+3173336a.x86_64 @@System
Removed usermode-1.113-2.el8.x86_64 @@System
[root@ODA01 yum.repos.d]#
Of course, I do not need to mention that such action has not been performed on the other ODA from the customer field, and this is why the patching did not raise this issue on the other ODAs.
[root@ODA02 ~]# dnf history | grep -i rhn-client-tools [root@ODA02 ~]#
Resolution
The ODA had no internet access. That was a pity as I could have easily installed the needed packages that were removed from the official oracle linux distribution package manager, using dnf. So the only way of resolution for me was to download and install each package manually. In any case it was not worth to try otherwise the patching activity could have been stopped here. Stuff work as I had to download and install about 16 RPMs.
At the beginning, I tried to find the needed rpm from the Oracle linux distribution (yum.oracle.com) directly, but I need to say that it was not that so easy to find all the rpm. Also the maintenance windows was running on, and I had to find quickly a solution. I then get used of pkgs.org project which is a kind of search engine linking to the appropriate distribution mirror to download the package. We can see the home page of each project. It was much helpful because you can easily find the package, and in the download part it refers you to the exact rpm package you need from the official documentation. I found it so helpful knowing the time constraints.
For example for rhn-setup package, we can easily find it from pkgs.org:
In the download part you will find the exact distribution link for the source and the binary, as well as the mirror, as displayed in next table:
| Type | URL |
| Binary Package | https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/rhn-setup-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64.rpm |
| Source Package | https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackageSource/rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.src.rpm |
| Mirror | yum.oracle.com |
So the package comes from the official distribution, and you can confirm for each of your downloads.
I could install the first package which are needed for rhn-client-tools:
[root@ODA01 19.30]# rpm -ivh python3-newt-0.52.20-11.el8.x86_64.rpm warning: python3-newt-0.52.20-11.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ad986da3: NOKEY Verifying... ################################# [100%] Preparing... ################################# [100%] Updating / installing... 1:python3-newt-0.52.20-11.el8 ################################# [100%] [root@ODA01 19.30]# rpm -ivh python3-netifaces-0.10.6-4.el8.x86_64.rpm warning: python3-netifaces-0.10.6-4.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ad986da3: NOKEY Verifying... ################################# [100%] Preparing... ################################# [100%] Updating / installing... 1:python3-netifaces-0.10.6-4.el8 ################################# [100%] [root@ODA01 19.30]# rpm -ivh python3-hwdata-2.3.6-3.el8.noarch.rpm warning: python3-hwdata-2.3.6-3.el8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID ad986da3: NOKEY Verifying... ################################# [100%] Preparing... ################################# [100%] Updating / installing... 1:python3-hwdata-2.3.6-3.el8 ################################# [100%] [root@ODA01 19.30]# rpm -ivh python3-dmidecode-3.12.2-15.el8.x86_64.rpm warning: python3-dmidecode-3.12.2-15.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ad986da3: NOKEY Verifying... ################################# [100%] Preparing... ################################# [100%] Updating / installing... 1:python3-dmidecode-3.12.2-15.el8 ################################# [100%]
I then tried to install rhn-client-tools and python3-rhn-client-tools:
[root@ODA01 19.30]# rpm -ivh python3-rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64.rpm
warning: python3-rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ad986da3: NOKEY
error: Failed dependencies:
rhn-client-tools = 2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe is needed by python3-rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64
[root@ODA01 19.30]# rpm -ivh rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64.rpm
warning: rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ad986da3: NOKEY
error: Failed dependencies:
python3-rhn-client-tools = 2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe is needed by rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64
[root@ODA01 19.30]#
But it was like each one needs the other, so it was not possible to install it with rpm binary. I then used dnf to install them.
[root@ODA01 19.30]# mkdir local_repo_issue_rhn [root@ODA01 19.30]# mv rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64.rpm ./local_repo_issue_rhn/ [root@ODA01 19.30]# mv python3-rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64.rpm ./local_repo_issue_rhn/ [root@ODA01 19.30]# cd local_repo_issue_rhn/ [root@ODA01 local_repo_issue_rhn]# dnf install *.rpm BKB_Common 95 kB/s | 1.5 kB 00:00 Dependencies resolved. ===================================================================================================================================================================================================================================================================== Package Architecture Version Repository Size ===================================================================================================================================================================================================================================================================== Installing: python3-rhn-client-tools x86_64 2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe @commandline 110 k rhn-client-tools x86_64 2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe @commandline 394 k Transaction Summary ===================================================================================================================================================================================================================================================================== Install 2 Packages Total size: 503 k Installed size: 2.4 M Is this ok [y/N]: y Downloading Packages: Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 1/2 Running scriptlet: rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 1/2 Installing : python3-rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 2/2 Running scriptlet: python3-rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 2/2 Verifying : python3-rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 1/2 Verifying : rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 2/2 Installed: python3-rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 Complete! [root@ODA01 local_repo_issue_rhn]#
Working, I had now the rhn-client-tools installed:
[root@ODA01 local_repo_issue_rhn]# rpm -qa | grep -i rhn-client rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 python3-rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 [root@ODA01 local_repo_issue_rhn]#
I tried a new prepatch report:
[root@ODA01 local_repo_issue_rhn]# cd
[root@ODA01 ~]# /opt/oracle/dcs/bin/odacli create-prepatchreport -sc -gi -st -v 19.30.0.0.0
Job details
----------------------------------------------------------------
ID: 0af9bc46-2bfe-42a1-a6dc-bb89b9c0abb8
Description: Patch pre-checks for [OS, ILOM, ORACHKSERVER, SERVER, STORAGE, RHPGI, GI] to 19.30.0.0.0
Status: Created
Created: March 29, 2026 12:57:10 CEST
Message: Use 'odacli describe-prepatchreport -i 0af9bc46-2bfe-42a1-a6dc-bb89b9c0abb8' to check details of results
Task Name Start Time End Time Status
---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
[root@ODA01 ~]#
Which failed again on the same OS patches verification step:
[root@ODA01 ~]# odacli describe-prepatchreport -i 0af9bc46-2bfe-42a1-a6dc-bb89b9c0abb8
Prepatch Report
------------------------------------------------------------------------
Job ID: 0af9bc46-2bfe-42a1-a6dc-bb89b9c0abb8
Description: Patch pre-checks for [OS, ILOM, ORACHKSERVER, SERVER, STORAGE, RHPGI, GI] to 19.30.0.0.0
Status: FAILED
Created: March 29, 2026 12:57:10 PM CEST
Result: One or more pre-checks failed for [OS]
Node Name
---------------
ODA01
Pre-Check Status Comments
------------------------------ -------- --------------------------------------
__OS__
Validate supported versions Success Validated minimum supported versions.
Validate patching tag Success Validated patching tag: 19.30.0.0.0.
Is patch location available Success Patch location is available.
Verify All OS patches Failed DCS-10252 - dnf dry-run execution
failed: check
/opt/oracle/dcs/log/jobfiles/
dnfdryrunout_2026-03-29_12-57-
23.0066_1614.log file for more details
...
...
...
And the log showed other missing packages that was part of the dependencies removed by the manual dnf remove command.
[root@ODA01 ~]# view /opt/oracle/dcs/log/jobfiles/dnfdryrunout_2026-03-29_12-57-23.0066_1614.log ... ... ... dnf.exceptions.DepsolveError: Problem: package rhn-setup-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 from PrecheckOSPatchRepo requires rhnsd, but none of the providers can be installed - package rhnsd-5.0.35-3.0.2.module+el8.10.0+90373+b70ceaf0.x86_64 from PrecheckOSPatchRepo requires rhn-check >= 0.0.8, but none of the providers can be installed - conflicting requests - nothing provides dnf-plugin-spacewalk >= 2.4.0 needed by rhn-check-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 from PrecheckOSPatchRepo
So I installed all other dependencies rpm.
I installed usermode rpm:
[root@ODA01 19.30]# rpm -ivh usermode-1.113-2.el8.x86_64.rpm warning: usermode-1.113-2.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ad986da3: NOKEY Verifying... ################################# [100%] Preparing... ################################# [100%] Updating / installing..a 1:usermode-1.113-2.el8 ################################# [100%] [root@ODA01 19.30]#
And finally all others with dnf:
[root@ODA01 local_repo_issue_rhn]# ls -ltrh total 568K -rw-r--r--. 1 root root 33K Mar 29 13:24 rhn-setup-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64.rpm -rw-r--r--. 1 root root 26K Mar 29 13:31 rhn-check-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64.rpm -rw-r--r--. 1 root root 72K Mar 29 13:31 python3-rhn-setup-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64.rpm -rw-r--r--. 1 root root 52K Mar 29 13:41 rhnsd-5.0.35-3.0.1.module+el8+5192+3173336a.x86_64.rpm -rw-r--r--. 1 root root 31K Mar 29 13:53 python3-dnf-plugin-spacewalk-2.8.5-11.0.3.module+el8.3.0+20070+f5719e00.noarch.rpm -rw-r--r--. 1 root root 54K Mar 29 14:08 python3-librepo-1.14.2-4.el8.x86_64.rpm -rw-r--r--. 1 root root 24K Mar 29 14:08 dnf-plugin-spacewalk-2.8.5-11.0.3.module+el8.3.0+20070+f5719e00.noarch.rpm -rw-r--r--. 1 root root 12K Mar 29 14:31 python3-dnf-plugin-ulninfo-0.3-3.module+el8.10.0+90380+96a02ce9.noarch.rpm -rw-r--r--. 1 root root 93K Mar 29 14:31 librepo-1.14.2-4.el8.x86_64.rpm -rw-r--r--. 1 root root 40K Mar 29 14:43 python3-rhn-check-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64.rpm [root@ODA01 local_repo_issue_rhn]# dnf install *.rpm BKB_Common 37 kB/s | 1.5 kB 00:00 Dependencies resolved. ===================================================================================================================================================================================================================================================================== Package Architecture Version Repository Size ===================================================================================================================================================================================================================================================================== Installing: dnf-plugin-spacewalk noarch 2.8.5-11.0.3.module+el8.3.0+20070+f5719e00 @commandline 24 k python3-dnf-plugin-spacewalk noarch 2.8.5-11.0.3.module+el8.3.0+20070+f5719e00 @commandline 31 k python3-dnf-plugin-ulninfo noarch 0.3-3.module+el8.10.0+90380+96a02ce9 @commandline 11 k python3-librepo x86_64 1.14.2-4.el8 @commandline 54 k python3-rhn-check x86_64 2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe @commandline 39 k python3-rhn-setup x86_64 2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe @commandline 71 k rhn-check x86_64 2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe @commandline 26 k rhn-setup x86_64 2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe @commandline 32 k rhnsd x86_64 5.0.35-3.0.1.module+el8+5192+3173336a @commandline 51 k Downgrading: librepo x86_64 1.14.2-4.el8 @commandline 93 k Transaction Summary ===================================================================================================================================================================================================================================================================== Install 9 Packages Downgrade 1 Package Total size: 432 k Is this ok [y/N]: y Downloading Packages: Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Downgrading : librepo-1.14.2-4.el8.x86_64 1/11 Installing : python3-librepo-1.14.2-4.el8.x86_64 2/11 Running scriptlet: dnf-plugin-spacewalk-2.8.5-11.0.3.module+el8.3.0+20070+f5719e00.noarch 3/11 Installing : dnf-plugin-spacewalk-2.8.5-11.0.3.module+el8.3.0+20070+f5719e00.noarch 3/11 Running scriptlet: dnf-plugin-spacewalk-2.8.5-11.0.3.module+el8.3.0+20070+f5719e00.noarch 3/11 Installing : python3-dnf-plugin-ulninfo-0.3-3.module+el8.10.0+90380+96a02ce9.noarch 4/11 Installing : python3-dnf-plugin-spacewalk-2.8.5-11.0.3.module+el8.3.0+20070+f5719e00.noarch 5/11 Installing : python3-rhn-check-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 6/11 Installing : rhn-check-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 7/11 Installing : rhnsd-5.0.35-3.0.1.module+el8+5192+3173336a.x86_64 8/11 Running scriptlet: rhnsd-5.0.35-3.0.1.module+el8+5192+3173336a.x86_64 8/11 Installing : python3-rhn-setup-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 9/11 Installing : rhn-setup-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 10/11 Cleanup : librepo-1.14.2-5.el8.x86_64 11/11 Running scriptlet: librepo-1.14.2-5.el8.x86_64 11/11 Verifying : librepo-1.14.2-4.el8.x86_64 1/11 Verifying : librepo-1.14.2-5.el8.x86_64 2/11 Verifying : dnf-plugin-spacewalk-2.8.5-11.0.3.module+el8.3.0+20070+f5719e00.noarch 3/11 Verifying : python3-dnf-plugin-spacewalk-2.8.5-11.0.3.module+el8.3.0+20070+f5719e00.noarch 4/11 Verifying : python3-dnf-plugin-ulninfo-0.3-3.module+el8.10.0+90380+96a02ce9.noarch 5/11 Verifying : python3-librepo-1.14.2-4.el8.x86_64 6/11 Verifying : python3-rhn-check-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 7/11 Verifying : python3-rhn-setup-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 8/11 Verifying : rhn-check-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 9/11 Verifying : rhnsd-5.0.35-3.0.1.module+el8+5192+3173336a.x86_64 10/11 Verifying : rhn-setup-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 11/11 Downgraded: librepo-1.14.2-4.el8.x86_64 Installed: dnf-plugin-spacewalk-2.8.5-11.0.3.module+el8.3.0+20070+f5719e00.noarch python3-dnf-plugin-spacewalk-2.8.5-11.0.3.module+el8.3.0+20070+f5719e00.noarch python3-dnf-plugin-ulninfo-0.3-3.module+el8.10.0+90380+96a02ce9.noarch python3-librepo-1.14.2-4.el8.x86_64 python3-rhn-check-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 python3-rhn-setup-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 rhn-check-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 rhn-setup-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 rhnsd-5.0.35-3.0.1.module+el8+5192+3173336a.x86_64 Complete! [root@ODA01 local_repo_issue_rhn]#
I checked the packages were there:
[root@ODA01 local_repo_issue_rhn]# rpm -qa | grep -i rhn python3-rhnlib-2.8.6-8.0.2.module+el8.7.0+21027+f0093b7a.noarch rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 python3-rhn-check-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 python3-rhn-setup-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 rhnsd-5.0.35-3.0.1.module+el8+5192+3173336a.x86_64 python3-rhn-client-tools-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 rhn-check-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 rhn-setup-2.8.16-13.0.6.module+el8.7.0+21032+057d0dfe.x86_64 rhnlib-2.8.6-8.0.2.module+el8.7.0+21027+f0093b7a.noarch [root@ODA01 local_repo_issue_rhn]#
And rerun a precheck report:
[root@ODA01 ~]# /opt/oracle/dcs/bin/odacli create-prepatchreport -sc -gi -st -v 19.30.0.0.0
Job details
----------------------------------------------------------------
ID: 3d5f5d96-f566-40c7-ad84-38c436fa3bba
Description: Patch pre-checks for [OS, ILOM, ORACHKSERVER, SERVER, STORAGE, RHPGI, GI] to 19.30.0.0.0
Status: Created
Created: March 29, 2026 14:46:06 CEST
Message: Use 'odacli describe-prepatchreport -i 3d5f5d96-f566-40c7-ad84-38c436fa3bba' to check details of results
Task Name Start Time End Time Status
---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
[root@ODA01 ~]#
Which was that time successful:
[root@ODA01 ~]# odacli describe-prepatchreport -i 3d5f5d96-f566-40c7-ad84-38c436fa3bba
Prepatch Report
------------------------------------------------------------------------
Job ID: 3d5f5d96-f566-40c7-ad84-38c436fa3bba
Description: Patch pre-checks for [OS, ILOM, ORACHKSERVER, SERVER, STORAGE, RHPGI, GI] to 19.30.0.0.0
Status: SUCCESS
Created: March 29, 2026 2:46:06 PM CEST
Result: All pre-checks succeeded
Node Name
---------------
ODA01
Pre-Check Status Comments
------------------------------ -------- --------------------------------------
__OS__
Validate supported versions Success Validated minimum supported versions.
Validate patching tag Success Validated patching tag: 19.30.0.0.0.
Is patch location available Success Patch location is available.
Verify All OS patches Success No dependencies found for RPMs being
removed, updated and installed. Check
/opt/oracle/dcs/log/jobfiles/
dnfdryrunout_2026-03-29_14-46-
18.0970_2312.log file for more details
Validate command execution Success Validated command execution
__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.30.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 Validated command execution
__ORACHK__
Running orachk Success Successfully ran Orachk
Validate command execution Success Validated command execution
__SERVER__
Validate local patching Success Successfully validated server local
patching
Validate all KVM ACFS Success All KVM ACFS resources are running
resources are running
Validate DB System VM states Success All DB System VMs states are expected
Validate command execution Success Validated command execution
__STORAGE__
Validate patching tag Success Validated patching tag: 19.30.0.0.0.
Patch location validation Success Verified patch location
Patch tag validation Success Verified patch tag
Storage patch tag validation Success Verified storage patch location
Verify ASM disks status Success ASM disks are online
Validate command execution Success Validated command execution
__RHPGI__
Validate available space Success Validated free space under /u01
Evaluate GI patching Success Successfully validated GI patching
Validate command execution Success Validated command execution
__GI__
Validate GI metadata Success Successfully validated GI metadata
Validate supported GI versions Success Successfully validated minimum version
Is clusterware running Success Clusterware is running
Validate patching tag Success Validated patching tag: 19.30.0.0.0.
Is system provisioned Success Verified system is provisioned
Validate ASM is online Success ASM is online
Validate kernel log level Success Successfully validated the OS log
level
Validate Central Inventory Success oraInventory validation passed
Validate patching locks Success Validated patching locks
Validate clones location exist Success Validated clones location
Validate DB start dependencies Success DBs START dependency check passed
Validate DB stop dependencies Success DBs STOP dependency check passed
Validate space for clones Success Clones volume is already created
volume
Validate command execution Success Validated command execution
[root@ODA01 ~]#
I could then successfully patch the server components part:
[root@ODA01 ~]# /opt/oracle/dcs/bin/odacli update-servercomponents -v 19.30.0.0.0
{
"jobId" : "fd6ed1d5-1982-46da-8c8c-dfa862f6427a",
"status" : "Created",
"message" : "A server update job has been initiated. If a reboot is required, it will be performed as part of the update process. The final status will be provided once the update operation has been completed on all nodes.",
"reports" : [ ],
"createTimestamp" : "March 29, 2026 15:00:09 CEST",
"resourceList" : [ ],
"description" : "Server Patching to 19.30.0.0.0",
"updatedTime" : "March 29, 2026 15:00:09 CEST",
"jobType" : null,
"cpsMetadata" : null,
"ecJobId" : null
}
[root@ODA01 ~]#
[root@ODA01 ~]# odacli describe-job -i fd6ed1d5-1982-46da-8c8c-dfa862f6427a
Job details
----------------------------------------------------------------
ID: fd6ed1d5-1982-46da-8c8c-dfa862f6427a
Description: Server Patching to 19.30.0.0.0
Status: Success
Created: March 29, 2026 15:00:09 CEST
Message:
Task Name Start Time End Time Status
---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
Modify BM udev rules March 29, 2026 15:00:14 CEST March 29, 2026 15:00:26 CEST Success
Validate ILOM server reachable March 29, 2026 15:00:14 CEST March 29, 2026 15:00:14 CEST Success
Validating GI user metadata March 29, 2026 15:00:14 CEST March 29, 2026 15:00:14 CEST Success
Stop oakd March 29, 2026 15:00:26 CEST March 29, 2026 15:00:30 CEST Success
Creating local repository March 29, 2026 15:00:30 CEST March 29, 2026 15:00:31 CEST Success
OSPatchBaseRepo
Updating versionlock plugin March 29, 2026 15:00:31 CEST March 29, 2026 15:00:34 CEST Success
Applying OS Patches March 29, 2026 15:00:34 CEST March 29, 2026 15:07:16 CEST Success
Applying HMP Patches March 29, 2026 15:07:16 CEST March 29, 2026 15:07:19 CEST Success
Creating local repository HMPPatchRepo March 29, 2026 15:07:16 CEST March 29, 2026 15:07:16 CEST Success
Patch location validation March 29, 2026 15:07:19 CEST March 29, 2026 15:07:19 CEST Success
Setting SELinux mode March 29, 2026 15:07:19 CEST March 29, 2026 15:07:19 CEST Success
Oda-hw-mgmt upgrade March 29, 2026 15:07:20 CEST March 29, 2026 15:07:53 CEST Success
Installing SQLcl software March 29, 2026 15:07:53 CEST March 29, 2026 15:07:57 CEST Success
OSS Patching March 29, 2026 15:07:53 CEST March 29, 2026 15:07:53 CEST Success
Applying Firmware local Disk Patches March 29, 2026 15:07:57 CEST March 29, 2026 15:07:59 CEST Success
Applying Firmware local Controller Patch March 29, 2026 15:07:59 CEST March 29, 2026 15:11:23 CEST Success
Applying Firmware shared Controller March 29, 2026 15:11:23 CEST March 29, 2026 15:11:42 CEST Success
Patch
Checking Ilom patch Version March 29, 2026 15:11:43 CEST March 29, 2026 15:11:43 CEST Success
Disabling IPMI v2 March 29, 2026 15:11:43 CEST March 29, 2026 15:11:44 CEST Success
Patch location validation March 29, 2026 15:11:43 CEST March 29, 2026 15:11:43 CEST Success
Save password in Wallet March 29, 2026 15:11:43 CEST March 29, 2026 15:11:43 CEST Success
Apply Ilom patch March 29, 2026 15:11:44 CEST March 29, 2026 15:22:19 CEST Success
Copying Flash Bios to Temp location March 29, 2026 15:22:19 CEST March 29, 2026 15:22:19 CEST Success
Start oakd March 29, 2026 15:22:20 CEST March 29, 2026 15:22:36 CEST Success
Add SYSNAME in Env March 29, 2026 15:22:37 CEST March 29, 2026 15:22:37 CEST Success
Cleanup JRE Home March 29, 2026 15:22:37 CEST March 29, 2026 15:22:37 CEST Success
Starting the clusterware March 29, 2026 15:22:37 CEST March 29, 2026 15:23:29 CEST Success
Update lvm.conf file March 29, 2026 15:23:30 CEST March 29, 2026 15:23:30 CEST Success
Generating and saving BOM March 29, 2026 15:23:31 CEST March 29, 2026 15:25:37 CEST Success
Update System full patch version March 29, 2026 15:23:31 CEST March 29, 2026 15:23:31 CEST Success
Update System rebootless patch version March 29, 2026 15:23:31 CEST March 29, 2026 15:23:31 CEST Success
PreRebootNode Actions March 29, 2026 15:25:37 CEST March 29, 2026 15:26:16 CEST Success
Reboot Node March 29, 2026 15:26:16 CEST March 29, 2026 15:39:48 CEST Success
[root@ODA01 ~]#
To wrap up…
ODA is an appliance. Any bad behaviour with the rpm and dependencies will bring life more difficult to the consultant coming to patch your ODA. So thanks for sparing a thought for the consultant who will have to patch your ODA before you start playing with yum or dnf on your ODA. 😉