{"id":48216,"date":"2026-10-30T10:28:27","date_gmt":"2026-10-30T09:28:27","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=48216"},"modified":"2026-10-30T10:28:29","modified_gmt":"2026-10-30T09:28:29","slug":"manual-local-controller-firmware-update-during-oda-patching","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/manual-local-controller-firmware-update-during-oda-patching\/","title":{"rendered":"Manual local controller firmware update during ODA Patching"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">I was recently patching several Oracle Database Appliance (ODA) X11-2-HA at customer from 19.26 to 19.30 and then finally to 19.32.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">During one patching hop I faced an issue where \/root became full. One of the consequences was that I had to manually patch local controller firmware. Through this blog I would like to share with you my experience about this problem and the solution I applied.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h3>Problem description<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I was at the step to run the update-servercomponents patching:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@node0 ~]# \/opt\/oracle\/dcs\/bin\/odacli update-servercomponents -v 19.30.0.0.0\n{\n  \"jobId\" : \"03c81877-9d76-426d-b6c8-a7da09ffca66\",\n  \"status\" : \"Created\",\n  \"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.\",\n  \"reports\" : [ ],\n  \"createTimestamp\" : \"September 24, 2026 10:11:14 CEST\",\n  \"resourceList\" : [ ],\n  \"description\" : \"Server Patching to 19.30.0.0.0\",\n  \"updatedTime\" : \"September 24, 2026 10:11:14 CEST\",\n  \"jobType\" : null,\n  \"cpsMetadata\" : null,\n  \"ecJobId\" : null\n}\n<\/pre>\n<br>\n\n\n\n<p class=\"wp-block-paragraph\">The job patching activity was on-going correctly:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@node0 ~]# odacli describe-job -i 03c81877-9d76-426d-b6c8-a7da09ffca66\n\nJob details\n----------------------------------------------------------------\n                     ID:  03c81877-9d76-426d-b6c8-a7da09ffca66\n            Description:  Server Patching to 19.30.0.0.0\n                 Status:  Running\n                Created:  September 24, 2026 10:11:14 CEST\n                Message:\n\nTask Name                                Node Name                 Start Time                               End Time                                 Status\n---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------\nValidate ILOM server reachable           node0                 September 24, 2026 10:11:24 CEST         September 24, 2026 10:11:24 CEST         Success\nValidate ILOM server reachable           node1                 September 24, 2026 10:11:24 CEST         September 24, 2026 10:11:24 CEST         Success\nValidating GI user metadata              node0                 September 24, 2026 10:11:24 CEST         September 24, 2026 10:11:24 CEST         Success\nValidating GI user metadata              node1                 September 24, 2026 10:11:24 CEST         September 24, 2026 10:11:24 CEST         Success\nModify BM udev rules                     node0                 September 24, 2026 10:11:25 CEST         September 24, 2026 10:11:36 CEST         Success\nModify BM udev rules                     node1                 September 24, 2026 10:11:25 CEST         September 24, 2026 10:11:36 CEST         Success\nStop oakd                                node1                 September 24, 2026 10:11:40 CEST         September 24, 2026 10:11:43 CEST         Success\nCreating local repository                node0                 September 24, 2026 10:11:43 CEST         September 24, 2026 10:11:45 CEST         Success\nOSPatchBaseRepo\nCreating local repository                node1                 September 24, 2026 10:11:43 CEST         September 24, 2026 10:11:45 CEST         Success\nOSPatchBaseRepo\nUpdating versionlock plugin              node0                 September 24, 2026 10:11:45 CEST         September 24, 2026 10:11:48 CEST         Success\nUpdating versionlock plugin              node1                 September 24, 2026 10:11:45 CEST         September 24, 2026 10:11:48 CEST         Success\nApplying OS Patches                      node0                 September 24, 2026 10:11:48 CEST                                                  Running\nApplying OS Patches                      node1                 September 24, 2026 10:11:48 CEST                                                  Running\n\n[root@node0 ~]#\n<\/pre>\n<br>\n\n\n\n<p class=\"wp-block-paragraph\">I&#8217;m used to let a tail -f running on the DCS alert log agent, just to watch all things are on-going:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tail -f \/opt\/oracle\/dcs\/log\/dcs-agent.log<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">And I could see, the following error:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [17]\">\n2026-09-24 10:34:50,775 ERROR [DcsJobScheduler-Worker] [] c.o.d.c.e.ExceptionFactory: Failed to write to file: \/tmp\/dcsfiles\/asm\/asm_2026-09-24_10-34-50.0766_303.sql\nDcsException{errorHttpCode=InternalError, msg=failed to write to file \/tmp\/dcsfiles\/asm\/asm_2026-09-24_10-34-50.0766_303.sql: No space left on device, msgId=12022, causedBy=java.io.IOException: No space left on device}\n     at com.oracle.dcs.commons.exception.DcsException$Builder.build(DcsException.java:143)\n     at com.oracle.dcs.commons.exception.ExceptionFactory.failWriteFile(ExceptionFactory.java:477)\n     at com.oracle.dcs.commons.exception.ExceptionFactory.lambda$failWriteFileSupplier$18(ExceptionFactory.java:493)\n     at com.oracle.dcs.commons.exception.ExceptionFactory.throwFailWriteFile(ExceptionFactory.java:832)\n     at com.oracle.dcs.commons.utils.CommonsUtils.writeToSqlFile(CommonsUtils.java:2006)\n     at com.oracle.dcs.agent.utils.db.SqlPlusHelper.runASMStatements(SqlPlusHelper.java:996)\n     at com.oracle.dcs.agent.schedule.jobs.RebalanceMonitoringHelper.getRebalanceInfo(RebalanceMonitoringHelper.java:169)\n     at com.oracle.dcs.agent.schedule.jobs.RebalanceMonitoringHelper.monitorRebalance(RebalanceMonitoringHelper.java:293)\n     at com.oracle.dcs.agent.schedule.jobs.RebalanceMonitorJob.executeJob(RebalanceMonitorJob.java:100)\n     at com.oracle.dcs.agent.schedule.jobs.RebalanceMonitorJob.run(RebalanceMonitorJob.java:62)\n     at com.oracle.dcs.agent.schedule.DcsJobScheduler$DcsExecutionTask.run(DcsJobScheduler.java:572)\n     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n     at java.lang.Thread.run(Thread.java:750)\nCaused by: java.io.IOException: No space left on device\n     at java.io.FileOutputStream.writeBytes(Native Method)\n     at java.io.FileOutputStream.write(FileOutputStream.java:326)\n     at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)\n     at sun.nio.cs.StreamEncoder.implClose(StreamEncoder.java:316)\n     at sun.nio.cs.StreamEncoder.close(StreamEncoder.java:149)\n     at java.io.OutputStreamWriter.close(OutputStreamWriter.java:233)\n     at com.oracle.dcs.commons.utils.CommonsUtils.writeToSqlFile(CommonsUtils.java:2004)\n     ... 9 more\n2026-09-24 10:34:50,776 DEBUG [DcsJobScheduler-Worker] [] c.o.d.a.s.DcsJobScheduler: afterExecute() : Begin\n<\/pre>\n<br>\n\n\n\n<h3>Resolution<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I immediately checked Root File System:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@node0 tmp]# df -h \/tmp\nFilesystem                          Size  Used Avail Use% Mounted on\n\/dev\/mapper\/VolGroupSys-LogVolRoot   30G   30G     0 100% \/\n<\/pre>\n<br>\n\n\n\n<p class=\"wp-block-paragraph\">And root file system was full! No space left of device!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">How is it possible, knowing one of my pre-patching steps is to check \/, \/u01, \/opt, and \/boot file systems occupancies, to ensure that for \/, \/u01 and \/opt I have at least 20 GB available space, running:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>df -h \/ \/u01 \/opt \/boot \/opt\/oracle\/oak\/pkgrepos\/orapkgs\/clones<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Checking what could have taken all this space, I could see that a folder named oraapp was taking 23GB space in local root file system:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,16]\">[root@node0 \/]# du -sh *\n0    bin\n257M boot\n3.7M core.oclumon.bin.89762\n20M  dev\n35M  etc\n4.0M home\n0    lib\n0    lib64\n16K  lost+found\n4.0K media\n92G  mnt\n0    null\n25G  opt\n4.0K oracle-ahf-2511100.zip\n23G  oraapp\n0    proc\n575M root\n4.1G run\n0    sbin\n4.0K srv\n0    sys\n341M tmp\n32G  u01\n20K  u02\n12K  u03\n20K  u04\n56K  u99\n2.3G usr\n1.5G var\n[root@node0 \/]#\n<\/pre>\n<br>\n\n\n\n<p class=\"wp-block-paragraph\">This folder with the name of the application was certainly not generated by the ODA patching. Contacting the customer we could realise that he has been writing some hourly synchronization script to sync application data between primary and standby, which is more than ok. And the data were copied on an ACFS File System that was created for this purpose. Which is totally ok. The problem is that the synchronization job was still running during the patching, and the patching will close all ASM resources. Bingo, the synchronization job created then of course locally a directory in root file system. With customer agreement I immediately deleted that directory.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lesson learned, we updated the patching MOP to have the new synchronization job stopped before patching.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At the end the patching could anyhow run successfully.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,7]\">\n[root@node0 ~]# odacli describe-job -i 03c81877-9d76-426d-b6c8-a7da09ffca66\n\nJob details\n----------------------------------------------------------------\n                     ID:  03c81877-9d76-426d-b6c8-a7da09ffca66\n            Description:  Server Patching to 19.30.0.0.0\n                 Status:  Success\n                Created:  September 24, 2026 10:11:14 CEST\n                Message:\n\nTask Name                                Node Name                 Start Time                               End Time                                 Status\n---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------\nValidate ILOM server reachable           node0                 September 24, 2026 10:11:24 CEST         September 24, 2026 10:11:24 CEST         Success\nValidate ILOM server reachable           node1                 September 24, 2026 10:11:24 CEST         September 24, 2026 10:11:24 CEST         Success\nValidating GI user metadata              node0                 September 24, 2026 10:11:24 CEST         September 24, 2026 10:11:24 CEST         Success\nValidating GI user metadata              node1                 September 24, 2026 10:11:24 CEST         September 24, 2026 10:11:24 CEST         Success\nModify BM udev rules                     node0                 September 24, 2026 10:11:25 CEST         September 24, 2026 10:11:36 CEST         Success\nModify BM udev rules                     node1                 September 24, 2026 10:11:25 CEST         September 24, 2026 10:11:36 CEST         Success\nStop oakd                                node1                 September 24, 2026 10:11:40 CEST         September 24, 2026 10:11:43 CEST         Success\nCreating local repository                node0                 September 24, 2026 10:11:43 CEST         September 24, 2026 10:11:45 CEST         Success\nOSPatchBaseRepo\nCreating local repository                node1                 September 24, 2026 10:11:43 CEST         September 24, 2026 10:11:45 CEST         Success\nOSPatchBaseRepo\nUpdating versionlock plugin              node0                 September 24, 2026 10:11:45 CEST         September 24, 2026 10:11:48 CEST         Success\nUpdating versionlock plugin              node1                 September 24, 2026 10:11:45 CEST         September 24, 2026 10:11:48 CEST         Success\nApplying OS Patches                      node0                 September 24, 2026 10:11:48 CEST         September 24, 2026 10:19:41 CEST         Success\nApplying OS Patches                      node1                 September 24, 2026 10:11:48 CEST         September 24, 2026 10:19:24 CEST         Success\nCreating local repository HMPPatchRepo   node0                 September 24, 2026 10:19:41 CEST         September 24, 2026 10:19:42 CEST         Success\nCreating local repository HMPPatchRepo   node1                 September 24, 2026 10:19:41 CEST         September 24, 2026 10:19:42 CEST         Success\nApplying HMP Patches                     node0                 September 24, 2026 10:19:42 CEST         September 24, 2026 10:19:45 CEST         Success\nApplying HMP Patches                     node1                 September 24, 2026 10:19:42 CEST         September 24, 2026 10:19:44 CEST         Success\nSetting SELinux mode                     node0                 September 24, 2026 10:19:45 CEST         September 24, 2026 10:19:45 CEST         Success\nSetting SELinux mode                     node1                 September 24, 2026 10:19:45 CEST         September 24, 2026 10:19:45 CEST         Success\nStarting the clusterware                 node1                 September 24, 2026 10:21:16 CEST         September 24, 2026 10:22:34 CEST         Success\nDeconfigure AFD                          node1                 September 24, 2026 10:24:12 CEST         September 24, 2026 10:25:52 CEST         Success\nOda-hw-mgmt upgrade                      node0                 September 24, 2026 10:25:53 CEST         September 24, 2026 10:27:50 CEST         Success\nPatch location validation                node0                 September 24, 2026 10:25:53 CEST         September 24, 2026 10:25:53 CEST         Success\nPatch location validation                node1                 September 24, 2026 10:25:53 CEST         September 24, 2026 10:25:53 CEST         Success\nOda-hw-mgmt upgrade                      node1                 September 24, 2026 10:27:50 CEST         September 24, 2026 10:29:47 CEST         Success\nPost Deconfigure AFD                     node1                 September 24, 2026 10:31:22 CEST         September 24, 2026 10:32:43 CEST         Success\nOSS Patching                             node0                 September 24, 2026 10:32:43 CEST         September 24, 2026 10:32:44 CEST         Success\nOSS Patching                             node1                 September 24, 2026 10:32:43 CEST         September 24, 2026 10:32:44 CEST         Success\nInstalling SQLcl software                node1                 September 24, 2026 10:32:44 CEST         September 24, 2026 10:32:47 CEST         Success\nApplying Firmware local Disk Patches     node0                 September 24, 2026 10:32:47 CEST         September 24, 2026 10:32:51 CEST         Success\nApplying Firmware local Disk Patches     node1                 September 24, 2026 10:32:51 CEST         September 24, 2026 10:32:55 CEST         Success\nApplying Firmware local Controller Patch node0                 September 24, 2026 10:32:58 CEST         September 24, 2026 10:33:01 CEST         Success\nApplying Firmware local Controller Patch node1                 September 24, 2026 10:33:01 CEST         September 24, 2026 10:40:45 CEST         Success\nChecking Ilom patch Version              node0                 September 24, 2026 10:40:46 CEST         September 24, 2026 10:40:46 CEST         Success\nChecking Ilom patch Version              node1                 September 24, 2026 10:40:46 CEST         September 24, 2026 10:40:46 CEST         Success\nPatch location validation                node0                 September 24, 2026 10:40:46 CEST         September 24, 2026 10:40:46 CEST         Success\nPatch location validation                node1                 September 24, 2026 10:40:46 CEST         September 24, 2026 10:40:46 CEST         Success\nSave password in Wallet                  node1                 September 24, 2026 10:40:47 CEST         September 24, 2026 10:40:49 CEST         Success\nDisabling IPMI v2                        node0                 September 24, 2026 10:40:49 CEST         September 24, 2026 10:40:50 CEST         Success\nDisabling IPMI v2                        node1                 September 24, 2026 10:40:50 CEST         September 24, 2026 10:40:51 CEST         Success\nApply Ilom patch                         node0                 September 24, 2026 10:40:51 CEST         September 24, 2026 10:52:26 CEST         Success\nApply Ilom patch                         node1                 September 24, 2026 10:52:26 CEST         September 24, 2026 11:03:45 CEST         Success\nCopying Flash Bios to Temp location      node0                 September 24, 2026 11:03:45 CEST         September 24, 2026 11:03:45 CEST         Success\nCopying Flash Bios to Temp location      node1                 September 24, 2026 11:03:45 CEST         September 24, 2026 11:03:45 CEST         Success\nStart oakd                               node1                 September 24, 2026 11:04:04 CEST         September 24, 2026 11:04:20 CEST         Success\nAdd SYSNAME in Env                       node1                 September 24, 2026 11:04:21 CEST         September 24, 2026 11:04:21 CEST         Success\nCleanup JRE Home                         node0                 September 24, 2026 11:04:21 CEST         September 24, 2026 11:04:21 CEST         Success\nCleanup JRE Home                         node1                 September 24, 2026 11:04:21 CEST         September 24, 2026 11:04:21 CEST         Success\nStarting the clusterware                 node1                 September 24, 2026 11:05:51 CEST         September 24, 2026 11:07:08 CEST         Success\nUpdate lvm.conf file                     node0                 September 24, 2026 11:07:09 CEST         September 24, 2026 11:07:09 CEST         Success\nUpdate lvm.conf file                     node1                 September 24, 2026 11:07:09 CEST         September 24, 2026 11:07:09 CEST         Success\nGenerating and saving BOM                node0                 September 24, 2026 11:07:10 CEST         September 24, 2026 11:07:39 CEST         Success\nGenerating and saving BOM                node1                 September 24, 2026 11:07:10 CEST         September 24, 2026 11:07:37 CEST         Success\nUpdate System full patch version         node0                 September 24, 2026 11:07:10 CEST         September 24, 2026 11:07:10 CEST         Success\nUpdate System full patch version         node1                 September 24, 2026 11:07:10 CEST         September 24, 2026 11:07:10 CEST         Success\nUpdate System rebootless patch version   node0                 September 24, 2026 11:07:10 CEST         September 24, 2026 11:07:10 CEST         Success\nUpdate System rebootless patch version   node1                 September 24, 2026 11:07:10 CEST         September 24, 2026 11:07:10 CEST         Success\nPreRebootNode Actions                    node0                 September 24, 2026 11:07:39 CEST         September 24, 2026 11:08:53 CEST         Success\nPreRebootNode Actions                    node1                 September 24, 2026 11:08:53 CEST         September 24, 2026 11:10:03 CEST         Success\nReboot Node                              node1                 September 24, 2026 11:10:04 CEST         September 24, 2026 11:29:09 CEST         Success\nValidate DCS Agent is up                 node1                 September 24, 2026 11:29:08 CEST         September 24, 2026 11:29:08 CEST         Success\nReboot Node                              node0                 September 24, 2026 11:29:10 CEST         September 24, 2026 11:48:15 CEST         Success\nValidate DCS Agent is up                 node0                 September 24, 2026 11:48:15 CEST         September 24, 2026 11:48:15 CEST         Success\n\n[root@node0 ~]#\n<\/pre>\n<br>\n\n\n\n<p class=\"wp-block-paragraph\">Checking the system, there was no really impact, expect some difference in old kernel in \/boot between the two nodes (the synchronization script only run on node0), which was having no impact and would be resolved with next hop patching, and local controller firmware not been updated. The patching process had no space to copy the firmware patches locally on the appropriate directory.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The other patching steps, grid and storage went successfully at well. At the end the components versions were as following:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,40]\">\n[root@node0 ~]# odacli describe-component\nSystem Version\n--------------\n19.30.0.0.0\n\nSystem Node Name\n----------------\nnode0\n\nLocal System Version\n--------------------\n19.30.0.0.0\n\nComponent                                Installed Version    Available Version\n---------------------------------------- -------------------- --------------------\nOAK                                      19.30.0.0.0          up-to-date\n\nGI                                       19.30.0.0.260120     up-to-date\n\nDB {\n     OraDB19000_home3                    19.26.0.0.250121     19.30.0.0.260120\n     [cdbx9]\n}\n\nDCSCONTROLLER                            19.30.0.0.0          up-to-date\n\nDCSCLI                                   19.30.0.0.0          up-to-date\n\nDCSAGENT                                 19.30.0.0.0          up-to-date\n\nDCSADMIN                                 19.30.0.0.0          up-to-date\n\nOS                                       8.10                 up-to-date\n\nILOM                                     5.1.5.29.r167569     up-to-date\n\nBIOS                                     62150200             up-to-date\n\nLOCAL CONTROLLER FIRMWARE {\n     [c3, c4]                            16.35.4030           16.35.8002\n}\n\nSHARED CONTROLLER FIRMWARE {\n     [c1, c2]                            16.00.08.00          up-to-date\n}\n\nFIRMWAREEXPANDER {\n     [c1x0, c2x0]                        0310                 up-to-date\n}\n\nLOCAL DISK FIRMWARE {\n     [c0d0, c0d1]                        D3MU001              up-to-date\n}\n\nSHARED DISK FIRMWARE {\n     [c1d0, c1d1, c1d2, c1d3, c1d4,      RXG0                 up-to-date\n     c1d5, c1d6, c1d7, c1d8, c1d9,\n     c1d10, c1d11, c1d12, c1d13,\n     c1d14, c1d15, c1d16, c1d17,\n     c1d18, c1d19, c1d20, c1d21,\n     c1d22, c1d23, c2d0, c2d1, c2d2,\n     c2d3, c2d4, c2d5, c2d6, c2d7,\n     c2d8, c2d9, c2d10, c2d11, c2d12,\n     c2d13, c2d14, c2d15, c2d16,\n     c2d17, c2d18, c2d19, c2d20,\n     c2d21, c2d22, c2d23]\n}\n\nHMP                                      2.4.10.1.600         up-to-date\n\nSystem Node Name\n----------------\nnode1\n\nLocal System Version\n--------------------\n19.30.0.0.0\n\nComponent                                Installed Version    Available Version\n---------------------------------------- -------------------- --------------------\nOAK                                      19.30.0.0.0          up-to-date\n\nGI                                       19.30.0.0.260120     up-to-date\n\nDB {\n     OraDB19000_home3                    19.26.0.0.250121     19.30.0.0.260120\n     [cdbx9]\n}\n\nDCSCONTROLLER                            19.30.0.0.0          up-to-date\n\nDCSCLI                                   19.30.0.0.0          up-to-date\n\nDCSAGENT                                 19.30.0.0.0          up-to-date\n\nDCSADMIN                                 19.30.0.0.0          up-to-date\n\nOS                                       8.10                 up-to-date\n\nILOM                                     5.1.5.29.r167569     up-to-date\n\nBIOS                                     62150200             up-to-date\n\nLOCAL CONTROLLER FIRMWARE {\n     [c3, c4]                            16.35.8002           up-to-date\n}\n\nSHARED CONTROLLER FIRMWARE {\n     [c1, c2]                            16.00.08.00          up-to-date\n}\n\nFIRMWAREEXPANDER {\n     [c1x0, c2x0]                        0310                 up-to-date\n}\n\nLOCAL DISK FIRMWARE {\n     [c0d0, c0d1]                        D3MU001              up-to-date\n}\n\nSHARED DISK FIRMWARE {\n     [c1d0, c1d1, c1d2, c1d3, c1d4,      RXG0                 up-to-date\n     c1d5, c1d6, c1d7, c1d8, c1d9,\n     c1d10, c1d11, c1d12, c1d13,\n     c1d14, c1d15, c1d16, c1d17,\n     c1d18, c1d19, c1d20, c1d21,\n     c1d22, c1d23, c2d0, c2d1, c2d2,\n     c2d3, c2d4, c2d5, c2d6, c2d7,\n     c2d8, c2d9, c2d10, c2d11, c2d12,\n     c2d13, c2d14, c2d15, c2d16,\n     c2d17, c2d18, c2d19, c2d20,\n     c2d21, c2d22, c2d23]\n}\n\nHMP                                      2.4.10.1.600         up-to-date\n\n[root@node0 ~]#\n<\/pre>\n<br>\n\n\n\n<p class=\"wp-block-paragraph\">As we can see the local controller firmware is not up to date on node 0 when updated on node1.<\/p>\n\n\n\n<h3>Manual patching of local controller firmware<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s patch manually the local controller firmware on node0.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Local controller firmware needs to be patched on node0 only:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3,7]\">\n[root@node0 ~]# odacli describe-component | grep 'LOCAL CONTROLLER FIRMWARE' -A2\nLOCAL CONTROLLER FIRMWARE {\n     [c3, c4]                            16.35.4030           16.35.8002\n}\n--\nLOCAL CONTROLLER FIRMWARE {\n     [c3, c4]                            16.35.8002           up-to-date\n}\n[root@node0 ~]#\n<\/pre>\n<br>\n\n\n\n<p class=\"wp-block-paragraph\">Listing the controller, we can see that we need to patch c3 and c4 Mellanox controllers from 16.35.4030 to 16.35.8002 version for the fiber channel network cards:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,16,17]\">\n[root@node0 ~]# fwupdate list controller\n\nWARNING: Due to strict MMIO memory settings in the running kernel some network controllers may not be accessible.\n         See Hardware Management Pack documentation regarding iomem kernel settings required for\n         firmware update of these devices.\n\n\n==================================================\nCONTROLLER\n==================================================\nID    Type   Manufacturer   Model     Product Name               FW Version       BIOS Version   EFI Version    FCODE Version  Package Version  NVDATA Version    XML Support\n-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------\nc0    HDC    Intel          0x2826    0x4873                     -                -              -              -              -                -                 N\/A\nc1    SAS    LSI Logic      0x0097    ORCL-EXT-SAS3              16.00.08.00      08.37.00.00    18.00.00.00    01.00.68.00    -                14.01.00.13       N\/A\nc2    SAS    LSI Logic      0x0097    ORCL-EXT-SAS3              16.00.08.00      08.37.00.00    18.00.00.00    01.00.68.00    -                14.01.00.13       N\/A\nc3    NET    Mellanox       0x1017    Oracle 25GbE Dual-Port SFP 16.35.4030       -              14.29.15       -              -                -                 N\/A\nc4    NET    Mellanox       0x1017    Oracle 25GbE Dual-Port SFP 16.35.4030       -              14.29.15       -              -                -                 N\/A\n[root@node0 ~]#\n<\/pre>\n<br>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s go in the appropriate mellanox firmware controller directory from the repository and check that version 8002 file is available:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3]\">\n[root@node0 ~]# cd \/opt\/oracle\/oak\/pkgrepos\/firmwarecontroller\/mellanox\/0x1017\/16.35.8002\/\n\n[root@node0 16.35.8002]# ll\ntotal 16392\n-rw-r--r--. 1 root root      290 Feb 11  2026 componentmetadata.xml\n-rw-r--r--. 1 root root 16777216 Feb 11  2026 fw-ConnectX5-rel-16_35_8002-8201339_Ax_Bx-UEFI-14.29.15.signed.bin\n-rw-r--r--. 1 root root     2463 Feb 11  2026 metadata.xml\n[root@node0 16.35.8002]#\n<\/pre>\n<br>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s update c3 controller:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@node0 16.35.8002]# fwupdate update controller -n c3 -x metadata.xml\n\nThe following actions will be taken:\n==========================================================\nID        Priority Action      Status      Old Firmware Ver.   Proposed Ver.       New Firmware Ver.   System Reboot\n---------------------------------------------------------------------------------------------------------------------------\nc3        1        Check FW    Success     16.35.4030          16.35.8002          N\/A                 N\/A\nDo you wish to process the above actions? [y\/n]? y\nUpdate of c3 to 16.35.8002.\nUpdating c3: Success\n\nVerifying all priority 1 updates\n\nExecution Summary\n==========================================================\nID        Priority Action      Status      Old Firmware Ver.   Proposed Ver.       New Firmware Ver.   System Reboot\n---------------------------------------------------------------------------------------------------------------------------\nc3        1        Validate    Success     16.35.4030          16.35.8002          16.35.8002          N\/A\n[root@node0 16.35.8002]#\n<\/pre>\n<br>\n\n\n\n<p class=\"wp-block-paragraph\">And c4 controller:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@node0 16.35.8002]# fwupdate update controller -n c4 -x metadata.xml\n\nThe following actions will be taken:\n==========================================================\nID        Priority Action      Status      Old Firmware Ver.   Proposed Ver.       New Firmware Ver.   System Reboot\n---------------------------------------------------------------------------------------------------------------------------\nc4        1        Check FW    Success     16.35.4030          16.35.8002          N\/A                 N\/A\nDo you wish to process the above actions? [y\/n]? y\nUpdate of c4 to 16.35.8002.\nUpdating c4: Success\n\nVerifying all priority 1 updates\n\nExecution Summary\n==========================================================\nID        Priority Action      Status      Old Firmware Ver.   Proposed Ver.       New Firmware Ver.   System Reboot\n---------------------------------------------------------------------------------------------------------------------------\nc4        1        Validate    Success     16.35.4030          16.35.8002          16.35.8002          N\/A\n<\/pre>\n<br>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s check and confirm that all is ok, listing the controllers:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,16,17]\">\n[root@node0 16.35.8002]# fwupdate list controller\n\nWARNING: Due to strict MMIO memory settings in the running kernel some network controllers may not be accessible.\n         See Hardware Management Pack documentation regarding iomem kernel settings required for\n         firmware update of these devices.\n\n\n==================================================\nCONTROLLER\n==================================================\nID    Type   Manufacturer   Model     Product Name               FW Version       BIOS Version   EFI Version    FCODE Version  Package Version  NVDATA Version    XML Support\n-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------\nc0    HDC    Intel          0x2826    0x4873                     -                -              -              -              -                -                 N\/A\nc1    SAS    LSI Logic      0x0097    ORCL-EXT-SAS3              16.00.08.00      08.37.00.00    18.00.00.00    01.00.68.00    -                14.01.00.13       N\/A\nc2    SAS    LSI Logic      0x0097    ORCL-EXT-SAS3              16.00.08.00      08.37.00.00    18.00.00.00    01.00.68.00    -                14.01.00.13       N\/A\nc3    NET    Mellanox       0x1017    Oracle 25GbE Dual-Port SFP 16.35.8002       -              14.29.15       -              -                -                 N\/A\nc4    NET    Mellanox       0x1017    Oracle 25GbE Dual-Port SFP 16.35.8002       -              14.29.15       -              -                -                 N\/A\n[root@node0 16.35.8002]#\n<\/pre>\n<br>\n\n\n\n<p class=\"wp-block-paragraph\">We can check and see that now all both nodes local controller firmware are up to date:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@node0 16.35.8002]# odacli describe-component | grep 'LOCAL CONTROLLER FIRMWARE' -A2\nLOCAL CONTROLLER FIRMWARE {\n     [c3, c4]                            16.35.8002           up-to-date\n}\n--\nLOCAL CONTROLLER FIRMWARE {\n     [c3, c4]                            16.35.8002           up-to-date\n}\n[root@node0 16.35.8002]#\n<\/pre>\n<br>\n\n\n\n<h3>To wrap up&#8230;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">And finally all our ODA components are up to date.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@node0 16.35.8002]# odacli describe-component\nSystem Version\n--------------\n19.30.0.0.0\n\nSystem Node Name\n----------------\nnode0\n\nLocal System Version\n--------------------\n19.30.0.0.0\n\nComponent                                Installed Version    Available Version\n---------------------------------------- -------------------- --------------------\nOAK                                      19.30.0.0.0          up-to-date\n\nGI                                       19.30.0.0.260120     up-to-date\n\nDB {\n     OraDB19000_home3                    19.26.0.0.250121     19.30.0.0.260120\n     [cdbx9]\n}\n\nDCSCONTROLLER                            19.30.0.0.0          up-to-date\n\nDCSCLI                                   19.30.0.0.0          up-to-date\n\nDCSAGENT                                 19.30.0.0.0          up-to-date\n\nDCSADMIN                                 19.30.0.0.0          up-to-date\n\nOS                                       8.10                 up-to-date\n\nILOM                                     5.1.5.29.r167569     up-to-date\n\nBIOS                                     62150200             up-to-date\n\nLOCAL CONTROLLER FIRMWARE {\n     [c3, c4]                            16.35.8002           up-to-date\n}\n\nSHARED CONTROLLER FIRMWARE {\n     [c1, c2]                            16.00.08.00          up-to-date\n}\n\nFIRMWAREEXPANDER {\n     [c1x0, c2x0]                        0310                 up-to-date\n}\n\nLOCAL DISK FIRMWARE {\n     [c0d0, c0d1]                        D3MU001              up-to-date\n}\n\nSHARED DISK FIRMWARE {\n     [c1d0, c1d1, c1d2, c1d3, c1d4,      RXG0                 up-to-date\n     c1d5, c1d6, c1d7, c1d8, c1d9,\n     c1d10, c1d11, c1d12, c1d13,\n     c1d14, c1d15, c1d16, c1d17,\n     c1d18, c1d19, c1d20, c1d21,\n     c1d22, c1d23, c2d0, c2d1, c2d2,\n     c2d3, c2d4, c2d5, c2d6, c2d7,\n     c2d8, c2d9, c2d10, c2d11, c2d12,\n     c2d13, c2d14, c2d15, c2d16,\n     c2d17, c2d18, c2d19, c2d20,\n     c2d21, c2d22, c2d23]\n}\n\nHMP                                      2.4.10.1.600         up-to-date\n\nSystem Node Name\n----------------\nnode1\n\nLocal System Version\n--------------------\n19.30.0.0.0\n\nComponent                                Installed Version    Available Version\n---------------------------------------- -------------------- --------------------\nOAK                                      19.30.0.0.0          up-to-date\n\nGI                                       19.30.0.0.260120     up-to-date\n\nDB {\n     OraDB19000_home3                    19.26.0.0.250121     19.30.0.0.260120\n     [cdbx9]\n}\n\nDCSCONTROLLER                            19.30.0.0.0          up-to-date\n\nDCSCLI                                   19.30.0.0.0          up-to-date\n\nDCSAGENT                                 19.30.0.0.0          up-to-date\n\nDCSADMIN                                 19.30.0.0.0          up-to-date\n\nOS                                       8.10                 up-to-date\n\nILOM                                     5.1.5.29.r167569     up-to-date\n\nBIOS                                     62150200             up-to-date\n\nLOCAL CONTROLLER FIRMWARE {\n     [c3, c4]                            16.35.8002           up-to-date\n}\n\nSHARED CONTROLLER FIRMWARE {\n     [c1, c2]                            16.00.08.00          up-to-date\n}\n\nFIRMWAREEXPANDER {\n     [c1x0, c2x0]                        0310                 up-to-date\n}\n\nLOCAL DISK FIRMWARE {\n     [c0d0, c0d1]                        D3MU001              up-to-date\n}\n\nSHARED DISK FIRMWARE {\n     [c1d0, c1d1, c1d2, c1d3, c1d4,      RXG0                 up-to-date\n     c1d5, c1d6, c1d7, c1d8, c1d9,\n     c1d10, c1d11, c1d12, c1d13,\n     c1d14, c1d15, c1d16, c1d17,\n     c1d18, c1d19, c1d20, c1d21,\n     c1d22, c1d23, c2d0, c2d1, c2d2,\n     c2d3, c2d4, c2d5, c2d6, c2d7,\n     c2d8, c2d9, c2d10, c2d11, c2d12,\n     c2d13, c2d14, c2d15, c2d16,\n     c2d17, c2d18, c2d19, c2d20,\n     c2d21, c2d22, c2d23]\n}\n\nHMP                                      2.4.10.1.600         up-to-date\n\n[root@node0 16.35.8002]#\n<\/pre>\n<br>\n\n\n\n<p class=\"wp-block-paragraph\">We could see how easy it is to manually patch local controller firmware on the ODA, which helps to mitigate patching issues impacted by customized script. This is why, knowing we are speaking about appliance, it is always good to avoid the most we can any customization, and if doing some to well document it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I was recently patching several Oracle Database Appliance (ODA) X11-2-HA at customer from 19.26 to 19.30 and then finally to 19.32. During one patching hop I faced an issue where \/root became full. One of the consequences was that I had to manually patch local controller firmware. Through this blog I would like to share [&hellip;]<\/p>\n","protected":false},"author":48,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[59],"tags":[2567,2576],"type_dbi":[],"class_list":["post-48216","post","type-post","status-publish","format-standard","hentry","category-oracle","tag-oda-2","tag-patching-2"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.7 (Yoast SEO v28.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Manual local controller firmware update during ODA Patching - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/manual-local-controller-firmware-update-during-oda-patching\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Manual local controller firmware update during ODA Patching\" \/>\n<meta property=\"og:description\" content=\"I was recently patching several Oracle Database Appliance (ODA) X11-2-HA at customer from 19.26 to 19.30 and then finally to 19.32. During one patching hop I faced an issue where \/root became full. One of the consequences was that I had to manually patch local controller firmware. Through this blog I would like to share [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/manual-local-controller-firmware-update-during-oda-patching\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-30T09:28:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-30T09:28:29+00:00\" \/>\n<meta name=\"author\" content=\"Marc Wagner\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marc Wagner\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/manual-local-controller-firmware-update-during-oda-patching\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/manual-local-controller-firmware-update-during-oda-patching\\\/\"},\"author\":{\"name\":\"Marc Wagner\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8688ab6d4f96298817f7ecef541cd1cf\"},\"headline\":\"Manual local controller firmware update during ODA Patching\",\"datePublished\":\"2026-10-30T09:28:27+00:00\",\"dateModified\":\"2026-10-30T09:28:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/manual-local-controller-firmware-update-during-oda-patching\\\/\"},\"wordCount\":611,\"commentCount\":0,\"keywords\":[\"oda\",\"patching\"],\"articleSection\":[\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/manual-local-controller-firmware-update-during-oda-patching\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/manual-local-controller-firmware-update-during-oda-patching\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/manual-local-controller-firmware-update-during-oda-patching\\\/\",\"name\":\"Manual local controller firmware update during ODA Patching - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-10-30T09:28:27+00:00\",\"dateModified\":\"2026-10-30T09:28:29+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8688ab6d4f96298817f7ecef541cd1cf\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/manual-local-controller-firmware-update-during-oda-patching\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/manual-local-controller-firmware-update-during-oda-patching\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/manual-local-controller-firmware-update-during-oda-patching\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Manual local controller firmware update during ODA Patching\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8688ab6d4f96298817f7ecef541cd1cf\",\"name\":\"Marc Wagner\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g\",\"caption\":\"Marc Wagner\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/marc-wagner\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Manual local controller firmware update during ODA Patching - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/manual-local-controller-firmware-update-during-oda-patching\/","og_locale":"en_US","og_type":"article","og_title":"Manual local controller firmware update during ODA Patching","og_description":"I was recently patching several Oracle Database Appliance (ODA) X11-2-HA at customer from 19.26 to 19.30 and then finally to 19.32. During one patching hop I faced an issue where \/root became full. One of the consequences was that I had to manually patch local controller firmware. Through this blog I would like to share [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/manual-local-controller-firmware-update-during-oda-patching\/","og_site_name":"dbi Blog","article_published_time":"2026-10-30T09:28:27+00:00","article_modified_time":"2026-10-30T09:28:29+00:00","author":"Marc Wagner","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Marc Wagner","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/manual-local-controller-firmware-update-during-oda-patching\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/manual-local-controller-firmware-update-during-oda-patching\/"},"author":{"name":"Marc Wagner","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8688ab6d4f96298817f7ecef541cd1cf"},"headline":"Manual local controller firmware update during ODA Patching","datePublished":"2026-10-30T09:28:27+00:00","dateModified":"2026-10-30T09:28:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/manual-local-controller-firmware-update-during-oda-patching\/"},"wordCount":611,"commentCount":0,"keywords":["oda","patching"],"articleSection":["Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/manual-local-controller-firmware-update-during-oda-patching\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/manual-local-controller-firmware-update-during-oda-patching\/","url":"https:\/\/www.dbi-services.com\/blog\/manual-local-controller-firmware-update-during-oda-patching\/","name":"Manual local controller firmware update during ODA Patching - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2026-10-30T09:28:27+00:00","dateModified":"2026-10-30T09:28:29+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8688ab6d4f96298817f7ecef541cd1cf"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/manual-local-controller-firmware-update-during-oda-patching\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/manual-local-controller-firmware-update-during-oda-patching\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/manual-local-controller-firmware-update-during-oda-patching\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Manual local controller firmware update during ODA Patching"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8688ab6d4f96298817f7ecef541cd1cf","name":"Marc Wagner","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g","caption":"Marc Wagner"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/marc-wagner\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/48216","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/48"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=48216"}],"version-history":[{"count":9,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/48216\/revisions"}],"predecessor-version":[{"id":48225,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/48216\/revisions\/48225"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=48216"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=48216"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=48216"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=48216"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}