Introduction

Patching an Oracle Database Appliance is divided in 4 main steps with 4 odacli commands in this order:

  • odacli update-dcs[admin|components|agent]: the easiest part dedicated to update the ODA tooling, including odacli itself
  • odacli update-server: the most complex part. It updates the OS, BIOS and ILOM, GI stack, system disk firmware, and some other components. On latest versions, there is something like 50 subtasks listed in the update job once completed.
  • odacli update-storage: dedicated to update data disk firmwares and eventually disk controlers for HA ODAs
  • odacli update-dbhome: dedicated to deploy new DB home versions and to patch associated databases. You should run this update for each DB home that hosts 1 or more databases

It’s always recommended to update all the components, but it’s possible to stop after storage update if you want to keep older versions of the DB homes.

Normally, the update-server wouldn’t need looking into DB homes, but it requires your DB homes to be correctly configured, even if no pre-check operation inside those DB homes if done by the system pre-checks (during the prepatch).

Discovering the problem

Doing the pre-checks is highly recommended when patching an ODA. You would take big risks not validating that everything is fine prior patching.

The ODA I’m working on is a X8-2M running 19.14 and my plan is to bring it to 19.18 which is possible without any intermediate patch.

The DCS components update went fine as in most cases, and the pre-checks for the system patch was also fine after some small adjustments. I was then quite confident that applying the patch would be done without any specific problem, but I was wrong:

odacli create-prepatchreport -s -v 19.18.0.0.0
...

odacli describe-prepatchreport -i 72b09221-f798-4bfb-92ea-77d136a6193d

Patch pre-check report                                           
------------------------------------------------------------------------
                 Job ID:  72b09221-f798-4bfb-92ea-77d136a6193d
            Description:  Patch pre-checks for [OS, ILOM, GI, ORACHKSERVER, SERVER]
                 Status:  SUCCESS
                Created:  May 30, 2023 10:06:49 AM CEST
                 Result:  All pre-checks succeeded

Node Name       
---------------
srvora06v 

Pre-Check                      Status   Comments                              
------------------------------ -------- -------------------------------------- 
__OS__ 
Validate supported versions     Success   Validated minimum supported versions. 
Validate patching tag           Success   Validated patching tag: 19.18.0.0.0.  
Is patch location available     Success   Patch location is available.          
Verify OS patch                 Success   Verified OS patch                     
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.18.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           

__GI__ 
Validate GI metadata            Success   Successfully validated GI metadata    
Validate supported GI versions  Success   Successfully validated minimum version
Validate available space        Success   Validated free space under /u01       
Is clusterware running          Success   Clusterware is running                
Validate patching tag           Success   Validated patching tag: 19.18.0.0.0.  
Is system provisioned           Success   Verified system is provisioned        
Validate ASM in online          Success   ASM is online                         
Validate kernel log level       Success   Successfully validated the OS log     
                                          level                                 
Validate minimum agent version  Success   GI patching enabled in current        
                                          DCSAGENT version                      
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                                                                          
Evaluate GI patching            Success   Successfully validated GI patching    
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 command execution      Success   Validated command execution  


odacli update-server -v 19.18.0.0.0
...

odacli describe-job -i cdc1f7b8-333b-46bc-b0a2-75918dca8135
Job details                                                      
----------------------------------------------------------------
                     ID:  cdc1f7b8-333b-46bc-b0a2-75918dca8135
            Description:  Server Patching
                 Status:  Failure
                Created:  May 30, 2023 10:18:33 AM CEST
                Message:  DCS-10001:Internal error encountered: Failed to run the opatch command : bash: /u01/app/oracle/product/12.1.0.2/dbhome_1/OPatch/opatch: No such file or directory.

Task Name                                Start Time                          End Time                            Status    
---------------------------------------- ----------------------------------- ----------------------------------- ----------
Server patching                          May 30, 2023 10:18:53 AM CEST       May 30, 2023 11:09:31 AM CEST       Failure   
Validating GI user metadata              May 30, 2023 10:18:53 AM CEST       May 30, 2023 10:18:53 AM CEST       Success   
Validate ILOM server reachable           May 30, 2023 10:18:53 AM CEST       May 30, 2023 10:18:54 AM CEST       Success   
Validate DCS Admin mTLS setup            May 30, 2023 10:18:54 AM CEST       May 30, 2023 10:18:54 AM CEST       Success   
Server patching                          May 30, 2023 10:18:55 AM CEST       May 30, 2023 11:09:31 AM CEST       Failure   
Configure export clones resource         May 30, 2023 10:18:56 AM CEST       May 30, 2023 10:18:56 AM CEST       Success   
Creating repositories using yum          May 30, 2023 10:18:56 AM CEST       May 30, 2023 10:19:01 AM CEST       Success   
Updating YumPluginVersionLock rpm        May 30, 2023 10:19:01 AM CEST       May 30, 2023 10:19:01 AM CEST       Success   
Applying OS Patches                      May 30, 2023 10:19:01 AM CEST       May 30, 2023 10:30:07 AM CEST       Success   
Creating repositories using yum          May 30, 2023 10:30:07 AM CEST       May 30, 2023 10:30:07 AM CEST       Success   
Applying HMP Patches                     May 30, 2023 10:30:07 AM CEST       May 30, 2023 10:30:23 AM CEST       Success   
Patch location validation                May 30, 2023 10:30:24 AM CEST       May 30, 2023 10:30:24 AM CEST       Success   
Oda-hw-mgmt upgrade                      May 30, 2023 10:30:25 AM CEST       May 30, 2023 10:30:56 AM CEST       Success   
OSS Patching                             May 30, 2023 10:30:56 AM CEST       May 30, 2023 10:30:56 AM CEST       Success   
Applying Firmware Disk Patches           May 30, 2023 10:30:57 AM CEST       May 30, 2023 10:30:59 AM CEST       Success   
Applying Firmware Controller Patches     May 30, 2023 10:30:59 AM CEST       May 30, 2023 10:32:51 AM CEST       Success   
Checking Ilom patch Version              May 30, 2023 10:32:51 AM CEST       May 30, 2023 10:32:52 AM CEST       Success   
Patch location validation                May 30, 2023 10:32:52 AM CEST       May 30, 2023 10:32:52 AM CEST       Success   
Save password in Wallet                  May 30, 2023 10:32:52 AM CEST       May 30, 2023 10:32:52 AM CEST       Success   
Disabling IPMI v2                        May 30, 2023 10:32:52 AM CEST       May 30, 2023 10:32:53 AM CEST       Success   
Apply Ilom patch                         May 30, 2023 10:32:53 AM CEST       May 30, 2023 10:36:35 AM CEST       Success   
Copying Flash Bios to Temp location      May 30, 2023 10:36:35 AM CEST       May 30, 2023 10:36:35 AM CEST       Success   
Patch location validation                May 30, 2023 10:36:35 AM CEST       May 30, 2023 10:36:35 AM CEST       Success   
ASR Manager RPM update                   May 30, 2023 10:36:35 AM CEST       May 30, 2023 10:41:29 AM CEST       Success   
Modify JavaExec Path                     May 30, 2023 10:41:29 AM CEST       May 30, 2023 10:41:29 AM CEST       Success   
Remove AsrConfBackup File                May 30, 2023 10:41:29 AM CEST       May 30, 2023 10:41:29 AM CEST       Success   
Server patching                          May 30, 2023 10:41:29 AM CEST       May 30, 2023 11:09:31 AM CEST       Failure   
Starting the clusterware                 May 30, 2023 10:41:29 AM CEST       May 30, 2023 10:45:13 AM CEST       Success   
Registering image                        May 30, 2023 10:45:15 AM CEST       May 30, 2023 10:45:18 AM CEST       Success   
Registering working copy                 May 30, 2023 10:45:19 AM CEST       May 30, 2023 10:45:31 AM CEST       Success   
Registering image                        May 30, 2023 10:45:32 AM CEST       May 30, 2023 10:45:37 AM CEST       Success   
Creating GI home directories             May 30, 2023 10:45:38 AM CEST       May 30, 2023 10:45:38 AM CEST       Success   
Extract GI clone                         May 30, 2023 10:45:38 AM CEST       May 30, 2023 10:45:39 AM CEST       Success   
Provisioning Software Only GI with RHP   May 30, 2023 10:45:39 AM CEST       May 30, 2023 10:45:39 AM CEST       Success   
Patch GI with RHP                        May 30, 2023 10:45:39 AM CEST       May 30, 2023 11:09:25 AM CEST       Success   
Updating GIHome version                  May 30, 2023 11:09:25 AM CEST       May 30, 2023 11:09:31 AM CEST       Success   
Server patching                          May 30, 2023 11:09:31 AM CEST       May 30, 2023 11:09:31 AM CEST       Failure   
Updating All DBHome version              May 30, 2023 11:09:31 AM CEST       May 30, 2023 11:09:31 AM CEST       Failure   

OK, you will first notice that I’m still using an old DB release (12.1) which is no more supported on ODA, and that this home still resides on local disks, where it’s not supposed to be anymore. But my customer still uses older releases. This very DB home was created after provisioning the ODA some years ago. This is not the ideal configuration, but I need to apply the server patch on the system side.

The classic DCS-10001 error is a generic one, but the error message is quite clear, the opatch binary is not where it’s supposed to be.

As troubleshooting may take hours, I decided to restore the LVM snapshots with ODABR. Yes it’s absolutely needed doing LVM snapshots with ODABR tool prior patching to be able to go back in time regarding the system.

/opt/odabr/odabr infosnap

│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
 odabr - ODA node Backup Restore - Version: 2.0.1-71
 Copyright 2013, 2022, Oracle and/or its affiliates.
 --------------------------------------------------------
 Author: Ruggero Citton <[email protected]>
 RAC Pack, Cloud Innovation and Solution Engineering Team
│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│


LVM snap name         Status                COW Size              Data%               
-------------         ----------            ----------            ------              
root_snap             active                20.00 GiB             51.37%              
opt_snap              active                50.00 GiB             27.07%              
u01_snap              active                50.00 GiB             54.11%              


/opt/odabr/odabr restore -snap
INFO: 2023-05-30 11:50:52: Please check the logfile '/opt/odabr/out/log/odabr_76017.log' for more details 

│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
 odabr - ODA node Backup Restore - Version: 2.0.1-71
 Copyright 2013, 2022, Oracle and/or its affiliates.
 --------------------------------------------------------
 Author: Ruggero Citton <[email protected]>
 RAC Pack, Cloud Innovation and Solution Engineering Team
│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│

 
INFO: 2023-05-30 11:50:52: Checking superuser
INFO: 2023-05-30 11:50:52: Checking Bare Metal
INFO: 2023-05-30 11:50:52: Restoring '/boot' partition
INFO: 2023-05-30 11:50:52: Getting boot device
INFO: 2023-05-30 11:50:52: ...restoring boot device image
SUCCESS: 2023-05-30 11:51:11: Boot image restored successfully
INFO: 2023-05-30 11:51:11: Getting EFI device
INFO: 2023-05-30 11:51:11: ...restoring EFI device image
SUCCESS: 2023-05-30 11:51:13: EFI iamge restored successfully
INFO: 2023-05-30 11:51:13: Checking LVM snapshots status
INFO: 2023-05-30 11:51:13: Restoring LVM snapshots
INFO: 2023-05-30 11:51:13: ...restoring LVM snapshot for 'opt'
SUCCESS: 2023-05-30 11:51:13: ...snapshot restore for 'opt' done successfully
INFO: 2023-05-30 11:51:13: ...restoring LVM snapshot for 'u01'
SUCCESS: 2023-05-30 11:51:13: ...snapshot restore for 'u01' done successfully
INFO: 2023-05-30 11:51:13: ...restoring LVM snapshot for 'root'
SUCCESS: 2023-05-30 11:51:13: ...snapshot restore for 'root' done successfully
SUCCESS: 2023-05-30 11:51:13: LVM snapshots restore done successfully
INFO: 2023-05-30 11:51:13: Please reboot the host to activate the changes

sleep 60 ; reboot

You should be careful because the snapshot restore continues after reboot and can take something like 30 minutes.

Troubleshooting

When trying to call opatch from this DB home, I found out that no more files were there:

odacli list-dbhomes
ID                                       Name                 DB Version                               Home Location                                 Status    
---------------------------------------- -------------------- ---------------------------------------- --------------------------------------------- ----------
01cb7d70-c094-43d4-b082-ba67df62e2f2     OraDB12102_home1     12.1.0.2.201020                          /u01/app/oracle/product/12.1.0.2/dbhome_1     CONFIGURED
fc250e93-3ebf-4e5e-b594-b94542ac13b0     OraDB11204_home1     11.2.0.4.201020                          /u01/app/oracle/product/11.2.0.4/dbhome_1     CONFIGURED
04df8a1e-2069-449b-a122-4f0ed6c11663     OraDB12201_home1     12.2.0.1.201020                          /u01/app/oracle/product/12.2.0.1/dbhome_1     CONFIGURED
51c0f8e1-4763-4675-a0ff-ff9ca97098e5     OraDB19000_home1     19.9.0.0.201020                          /u01/app/oracle/product/19.0.0.0/dbhome_1     CONFIGURED
7a05c552-075b-4d42-b0a6-099c0753e7d7     OraDB19000_home2     19.9.0.0.201020                          /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_2 CONFIGURED
a69e4e7c-c966-4e1b-a283-e0885b349d97     OraDB12102_home3     12.1.0.2.201020                          /u01/app/odaorahome/oracle/product/12.1.0.2/dbhome_3 CONFIGURED

for a in `odacli list-dbhomes | grep dbhome | cut -c 80- | awk '{print $1}'` ; do echo $a ; ls -lrt $a/OPatch/opatch; done
/u01/app/oracle/product/12.1.0.2/dbhome_1
ls: cannot access /u01/app/oracle/product/12.1.0.2/dbhome_1/OPatch/opatch: No such file or directory
/u01/app/oracle/product/11.2.0.4/dbhome_1
-rwx--x--- 1 oracle oinstall 49462 Apr 22  2020 /u01/app/oracle/product/11.2.0.4/dbhome_1/OPatch/opatch
/u01/app/oracle/product/12.2.0.1/dbhome_1
-rwxr-x--- 1 oracle oinstall 49462 Apr 22  2020 /u01/app/oracle/product/12.2.0.1/dbhome_1/OPatch/opatch
/u01/app/oracle/product/19.0.0.0/dbhome_1
-rwxr-x--- 1 oracle oinstall 49462 Apr 22  2020 /u01/app/oracle/product/19.0.0.0/dbhome_1/OPatch/opatch
/u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_2
-rwxr-x--- 1 oracle oinstall 49462 Apr 22  2020 /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_2/OPatch/opatch
/u01/app/odaorahome/oracle/product/12.1.0.2/dbhome_3
-rwx--x--- 1 oracle oinstall 49462 May 30 11:39 /u01/app/odaorahome/oracle/product/12.1.0.2/dbhome_3/OPatch/opatch


du -hs /u01/app/oracle/product/12.1.0.2/dbhome_1
4.0K    /u01/app/oracle/product/12.1.0.2/dbhome_1

The pre-checks should have only check that the DB home exists and is configured in the ODA registry. This DB home was not in use anymore, so I thought about removing it, but as it’s empty, odacli is not able to do that. And there is no force option when deleting a DB home:

odacli delete-dbhome -i 01cb7d70-c094-43d4-b082-ba67df62e2f2
odacli describe-job -i 621719fa-1d94-44f3-ab81-c2eb823ebfbf
Job details                                                      
----------------------------------------------------------------
                     ID:  621719fa-1d94-44f3-ab81-c2eb823ebfbf
            Description:  Database Home OraDB12102_home1 Deletion with id 01cb7d70-c094-43d4-b082-ba67df62e2f2
                 Status:  Failure
                Created:  May 30, 2023 11:15:47 AM CEST
                Message:  DCS-10001:Internal error encountered: PRGH-1010 : Removal of Oracle home /u01/app/oracle/product/12.1.0.2/dbhome_1 failed
PRCZ-4001 : failed to execute command "/u01/app/oracle/product/12.1.0.2/dbhome_1/deinstall/deinstall" using the privileged execution plugin "odaexec" on nodes "srvora06v" within 4,000 seconds
PRCZ-2103 : Failed to execute command "/u01/app/oracle/product/12.1.0.2/dbhome_1/deinstall/deinstall" on node "srvora06v" as user "oracle". Detailed error:
bash: /u01/app/oracle/product/12.1.0.2/dbhome_1/deinstall/deinstall: No such file or directory.

Task Name                                Start Time                          End Time                            Status    
---------------------------------------- ----------------------------------- ----------------------------------- ----------
DbHome service deletion for 01cb7d70-c094-43d4-b082-ba67df62e2f2 May 30, 2023 11:15:47 AM CEST       May 30, 2023 11:15:48 AM CEST       Failure   
DbHome service deletion for 01cb7d70-c094-43d4-b082-ba67df62e2f2 May 30, 2023 11:15:47 AM CEST       May 30, 2023 11:15:48 AM CEST       Failure   
Validate dbhome 01cb7d70-c094-43d4-b082-ba67df62e2f2 for deletion May 30, 2023 11:15:47 AM CEST       May 30, 2023 11:15:47 AM CEST       Success   
Setting up ssh equivalance               May 30, 2023 11:15:47 AM CEST       May 30, 2023 11:15:47 AM CEST       Success   
Setting up ssh equivalance               May 30, 2023 11:15:47 AM CEST       May 30, 2023 11:15:47 AM CEST       Success   
Deleting DbHome by RHP                   May 30, 2023 11:15:47 AM CEST       May 30, 2023 11:15:48 AM CEST       Failure   

One option could be to populate the DB home from another one, as it’s not in use. It’s what I’ve done copying binaries from another ODA in the exact same configuration. I could have deleted this DB home after copying the files and it should have worked, but as I don’t know why this DB home became empty, and as it’s a production system, I prefer not doing that.

Few days later, retrying to apply the patch

Now my DB home has a complete set of files, I suppose the server patch could work. Let’s retry:

odacli update-server -v 19.18.0.0.0
...

odacli describe-job -i b45424f6-66e0-470b-ab75-50b2953d7280
Job details                                                      
----------------------------------------------------------------
                     ID:  b45424f6-66e0-470b-ab75-50b2953d7280
            Description:  Server Patching
                 Status:  Success
                Created:  June 7, 2023 10:08:42 AM CEST
                Message:  Successfully patched GI with RHP

Task Name                                Start Time                          End Time                            Status    
---------------------------------------- ----------------------------------- ----------------------------------- ----------
Validating GI user metadata              June 7, 2023 10:09:07 AM CEST       June 7, 2023 10:09:07 AM CEST       Success   
Validate ILOM server reachable           June 7, 2023 10:09:07 AM CEST       June 7, 2023 10:09:07 AM CEST       Success   
Validate DCS Admin mTLS setup            June 7, 2023 10:09:07 AM CEST       June 7, 2023 10:09:07 AM CEST       Success   
Configure export clones resource         June 7, 2023 10:09:11 AM CEST       June 7, 2023 10:09:11 AM CEST       Success   
Creating repositories using yum          June 7, 2023 10:09:12 AM CEST       June 7, 2023 10:09:17 AM CEST       Success   
Updating YumPluginVersionLock rpm        June 7, 2023 10:09:17 AM CEST       June 7, 2023 10:09:17 AM CEST       Success   
Applying OS Patches                      June 7, 2023 10:09:17 AM CEST       June 7, 2023 10:18:55 AM CEST       Success   
Creating repositories using yum          June 7, 2023 10:18:55 AM CEST       June 7, 2023 10:18:56 AM CEST       Success   
Applying HMP Patches                     June 7, 2023 10:18:56 AM CEST       June 7, 2023 10:19:12 AM CEST       Success   
Patch location validation                June 7, 2023 10:19:13 AM CEST       June 7, 2023 10:19:13 AM CEST       Success   
Oda-hw-mgmt upgrade                      June 7, 2023 10:19:14 AM CEST       June 7, 2023 10:19:44 AM CEST       Success   
OSS Patching                             June 7, 2023 10:19:44 AM CEST       June 7, 2023 10:19:44 AM CEST       Success   
Applying Firmware Disk Patches           June 7, 2023 10:19:45 AM CEST       June 7, 2023 10:19:48 AM CEST       Success   
Applying Firmware Controller Patches     June 7, 2023 10:19:49 AM CEST       June 7, 2023 10:19:52 AM CEST       Success   
Checking Ilom patch Version              June 7, 2023 10:19:52 AM CEST       June 7, 2023 10:19:53 AM CEST       Success   
Patch location validation                June 7, 2023 10:19:53 AM CEST       June 7, 2023 10:19:53 AM CEST       Success   
Save password in Wallet                  June 7, 2023 10:19:53 AM CEST       June 7, 2023 10:19:53 AM CEST       Success   
Disabling IPMI v2                        June 7, 2023 10:19:53 AM CEST       June 7, 2023 10:19:54 AM CEST       Success   
Apply Ilom patch                         June 7, 2023 10:19:54 AM CEST       June 7, 2023 10:23:36 AM CEST       Success   
Copying Flash Bios to Temp location      June 7, 2023 10:23:37 AM CEST       June 7, 2023 10:23:37 AM CEST       Success   
Patch location validation                June 7, 2023 10:23:37 AM CEST       June 7, 2023 10:23:37 AM CEST       Success   
ASR Manager RPM update                   June 7, 2023 10:23:37 AM CEST       June 7, 2023 10:28:31 AM CEST       Success   
Modify JavaExec Path                     June 7, 2023 10:28:31 AM CEST       June 7, 2023 10:28:31 AM CEST       Success   
Remove AsrConfBackup File                June 7, 2023 10:28:31 AM CEST       June 7, 2023 10:28:31 AM CEST       Success   
Starting the clusterware                 June 7, 2023 10:28:31 AM CEST       June 7, 2023 10:31:51 AM CEST       Success   
Registering image                        June 7, 2023 10:31:52 AM CEST       June 7, 2023 10:31:55 AM CEST       Success   
Registering working copy                 June 7, 2023 10:31:55 AM CEST       June 7, 2023 10:31:57 AM CEST       Success   
Registering image                        June 7, 2023 10:31:57 AM CEST       June 7, 2023 10:32:00 AM CEST       Success   
Creating GI home directories             June 7, 2023 10:32:00 AM CEST       June 7, 2023 10:32:01 AM CEST       Success   
Extract GI clone                         June 7, 2023 10:32:03 AM CEST       June 7, 2023 10:32:03 AM CEST       Success   
Provisioning Software Only GI with RHP   June 7, 2023 10:32:03 AM CEST       June 7, 2023 10:32:04 AM CEST       Success   
Patch GI with RHP                        June 7, 2023 10:32:04 AM CEST       June 7, 2023 10:43:50 AM CEST       Success   
Updating GIHome version                  June 7, 2023 10:43:51 AM CEST       June 7, 2023 10:44:00 AM CEST       Success   
Validate GI availability                 June 7, 2023 10:44:22 AM CEST       June 7, 2023 10:44:22 AM CEST       Success   
Patch KVM CRS type                       June 7, 2023 10:44:22 AM CEST       June 7, 2023 10:44:22 AM CEST       Success   
Patch VM vDisks CRS dependencies         June 7, 2023 10:44:22 AM CEST       June 7, 2023 10:44:22 AM CEST       Success   
Patch DB System domain config            June 7, 2023 10:44:22 AM CEST       June 7, 2023 10:44:22 AM CEST       Success   
Update System version                    June 7, 2023 10:44:23 AM CEST       June 7, 2023 10:44:23 AM CEST       Success   
Cleanup JRE Home                         June 7, 2023 10:44:23 AM CEST       June 7, 2023 10:44:23 AM CEST       Success   
Add SYSNAME in Env                       June 7, 2023 10:44:23 AM CEST       June 7, 2023 10:44:23 AM CEST       Success   
Starting the clusterware                 June 7, 2023 10:44:23 AM CEST       June 7, 2023 10:44:23 AM CEST       Success   
Setting ACL for disk groups              June 7, 2023 10:44:23 AM CEST       June 7, 2023 10:44:27 AM CEST       Success   
Enable LKCE                              June 7, 2023 10:46:34 AM CEST       June 7, 2023 10:50:35 AM CEST       Success   
Update lvm.conf file                     June 7, 2023 10:50:36 AM CEST       June 7, 2023 10:50:36 AM CEST       Success   
Update previous workarounds              June 7, 2023 10:50:36 AM CEST       June 7, 2023 10:50:36 AM CEST       Success   
Generating and saving BOM                June 7, 2023 10:50:36 AM CEST       June 7, 2023 10:55:14 AM CEST       Success   
PreRebootNode Actions                    June 7, 2023 10:55:14 AM CEST       June 7, 2023 10:56:11 AM CEST       Success   
Reboot Ilom                              June 7, 2023 10:56:11 AM CEST       June 7, 2023 10:56:11 AM CEST       Success    

That’s it. An empty DB home prevents applying the server patch.

Conclusion

I would recommend checking your DB homes prior applying the system patch. Just check if you can do a lsinventory for each DB home listed in odacli list-dbhomes. In the other recommendations, please also check if databases listed in odacli-listdatabases are currently running and are registered in the clusterware stack (srvctl config database -db DB_NAME). The system patch will need a clean environment and the prepatchreport may not detect some failures.