Introduction

Patching an Oracle Database Appliance is sometimes quite tough and you often struggle to solve failures at different steps. Regarding ILOM and BIOS patching errors, a simple workaround is possible.

Errors when patching ILOM and/or BIOS

This is something I recently had on an ODA X7-2S when trying to apply patch 19.11. Patching of the test server was OK, but patching the production server on a week-end was not OK. I needed to find a solution quickly:

odacli update-server -v 19.11.0.0.0

Job details
----------------------------------------------------------------
                     ID:  fa8d3178-b12e-4bef-926e-437536e71582
            Description:  Server Patching
                 Status:  Failure
                Created:  August 7, 2021 2:07:18 PM CEST
                Message:  DCS-10001:Internal error encountered: Failed update Ilom using USB.

Task Name                                Start Time                          End Time                            Status
---------------------------------------- ----------------------------------- ----------------------------------- ----------
Server patching                          August 7, 2021 2:07:32 PM CEST      August 7, 2021 2:11:35 PM CEST      Failure
Server patching                          August 7, 2021 2:07:33 PM CEST      August 7, 2021 2:11:35 PM CEST      Failure
Patch location validation                August 7, 2021 2:07:34 PM CEST      August 7, 2021 2:07:34 PM CEST      Success
dcs-controller upgrade                   August 7, 2021 2:07:35 PM CEST      August 7, 2021 2:07:35 PM CEST      Success
Creating repositories using yum          August 7, 2021 2:07:35 PM CEST      August 7, 2021 2:07:39 PM CEST      Success
Updating YumPluginVersionLock rpm        August 7, 2021 2:07:39 PM CEST      August 7, 2021 2:07:39 PM CEST      Success
Applying OS Patches                      August 7, 2021 2:07:39 PM CEST      August 7, 2021 2:07:40 PM CEST      Success
Creating repositories using yum          August 7, 2021 2:07:40 PM CEST      August 7, 2021 2:07:40 PM CEST      Success
Applying HMP Patches                     August 7, 2021 2:07:40 PM CEST      August 7, 2021 2:07:41 PM CEST      Success
Patch location validation                August 7, 2021 2:07:41 PM CEST      August 7, 2021 2:07:41 PM CEST      Success
oda-hw-mgmt upgrade                      August 7, 2021 2:07:42 PM CEST      August 7, 2021 2:07:42 PM CEST      Success
OSS Patching                             August 7, 2021 2:07:42 PM CEST      August 7, 2021 2:07:42 PM CEST      Success
Applying Firmware Disk Patches           August 7, 2021 2:07:42 PM CEST      August 7, 2021 2:07:45 PM CEST      Success
Applying Firmware Controller Patches     August 7, 2021 2:07:46 PM CEST      August 7, 2021 2:07:48 PM CEST      Success
Server patching                          August 7, 2021 2:07:48 PM CEST      August 7, 2021 2:11:35 PM CEST      Failure
Checking Ilom patch Version              August 7, 2021 2:07:49 PM CEST      August 7, 2021 2:07:49 PM CEST      Success
Patch location validation                August 7, 2021 2:07:49 PM CEST      August 7, 2021 2:07:49 PM CEST      Success
Save password in Wallet                  August 7, 2021 2:07:50 PM CEST      August 7, 2021 2:07:50 PM CEST      Success
Server patching                          August 7, 2021 2:07:50 PM CEST      August 7, 2021 2:11:35 PM CEST      Failure
Apply Ilom patch                         August 7, 2021 2:07:50 PM CEST      August 7, 2021 2:11:34 PM CEST      Failure

Actually, patching the ILOM is asking for port 623 to be opened between the node and the ILOM, but you probably won’t open it because it’s not used during normal operation. This was the cause of my problem. On my test server, ILOM and node were on the same network, they were on different networks on production. So how could you do to solve this problem?

Workaround

As you may know, ODA is not more than a classic server from Oracle’s x86 lineup. This means that if you would like to install Windows Server on your ODA, it would be possible without any trick. It also means that manual patching process for microcodes exists for this kind of server. Do the ILOM and BIOS need to be patched with odacli? Yes, but you can also apply the patch separately, odacli has no specific procedure for patching these components. They are not related to GI or DB, so patching manually should be OK.

You will find the procedure for patching ILOM and BIOS in the documentation of these servers’ lineup. Actually, this is a very simple operation, because you just need to upload the ILOM and BIOS package to the ILOM web interface, and patch from there. The package will be easy to find because as you planned to patch your ODA, the patch is already available in the repository. This example comes from a X8-2M ODA:

ls -lrt /opt/oracle/oak/pkgrepos/ilom/x8-2l/5.0.1.21.a.r138015/
total 38092
-rwxrwxr-x 1 root root      347 May 31 03:50 componentmetadata.xml
-rwxrwxr-x 1 root root 38999414 May 31 03:50 ILOM-5_0_1_21_a_r138015-ORACLE_SERVER_X8-2L-rom.pkg

The .pkg file is a package for BIOS and ILOM.

My X8-2M ODA is up to date for most components but not for ILOM:

[root@dbi-oda-x8 dbi]# odacli describe-component
System Version
---------------
19.11.0.0.0

System node Name
---------------
dbi-oda-x8

Local System Version
---------------
19.11.0.0.0

Component                                Installed Version    Available Version
---------------------------------------- -------------------- --------------------
OAK                                       19.11.0.0.0           up-to-date
GI                                        19.11.0.0.210420      up-to-date
DB {
[ OraDB19000_home1 ]                      19.11.0.0.210420      up-to-date
[ OraDB18000_home1 ]                      18.14.0.0.210420      up-to-date
}
DCSAGENT                                  19.11.0.0.0           up-to-date
OS                                        7.9                   up-to-date
ILOM                                      5.0.1.21.r136383      5.0.1.21.a.r138015
BIOS                                      52030400              up-to-date
FIRMWARECONTROLLER                        VDV1RL04              up-to-date
FIRMWAREDISK                              1132                  up-to-date
HMP                                       2.4.8.0.600           up-to-date

Let’s apply the ILOM patch from the ILOM itself.

In the ILOM Administration menu, click on Maintenance. Then Enter Update Mode (don’t be afraid of the warning):


Upload the .pkg file here:



Upload is in progress:

This compares what’s on your server and what’s in the package. For sure, you want to preserve ILOM and/or BIOS settings. Then click on Start Update:

This is obvious, but don’t unplug your ODA during this patching!

Patch is applying:



This is now finished, it only took a few minutes.

After this update, ILOM will restart.


Doing another describe-component now shows that ILOM has been updated:

odacli describe-component
System Version
---------------
19.11.0.0.0

System node Name
---------------
dbi-oda-x8

Local System Version
---------------
19.11.0.0.0

Component                                Installed Version    Available Version
---------------------------------------- -------------------- --------------------
OAK                                       19.11.0.0.0           up-to-date
GI                                        19.11.0.0.210420      up-to-date
DB {
[ OraDB19000_home1 ]                      19.11.0.0.210420      up-to-date
[ OraDB18000_home1 ]                      18.14.0.0.210420      up-to-date
}
DCSAGENT                                  19.11.0.0.0           up-to-date
OS                                        7.9                   up-to-date
ILOM                                      5.0.1.21.a.r138015    up-to-date
BIOS                                      52030400              up-to-date
FIRMWARECONTROLLER                        VDV1RL04              up-to-date
FIRMWAREDISK                              1132                  up-to-date
HMP                                       2.4.8.0.600           up-to-date

If needed, BIOS will be updated too as it’s part of the package, but it will trigger a node reboot, so be careful. You can postpone the BIOS update after your next reboot of the node if you prefer.

If your ODA is an HA model, you’ll need to apply this package on both nodes.

Conclusion

Don’t waste your time on this kind of problem. ILOM and BIOS patching are basic operations you can manually do when odacli doesn’t succeed. But patch only from your existing ODA repository, packages coming from other sources could be hazardous.