{"id":792,"date":"2020-09-28T18:39:37","date_gmt":"2020-09-28T21:39:37","guid":{"rendered":"https:\/\/www.fernandosimon.com\/blog\/?p=792"},"modified":"2020-09-28T18:39:37","modified_gmt":"2020-09-28T21:39:37","slug":"patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8","status":"publish","type":"post","link":"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/","title":{"rendered":"Patch ODA from 18.3 to 19.8. Part 4 \u2013 19.7 to 19.8"},"content":{"rendered":"<p style=\"text-align: justify;\">The process of patch ODA is not complicated but requires attention over some steps. The 19.6 version was the first that was possible to patch from 18.8 version, and the version that allows upgrades to newer. If you want to go directly to 19.5 you need to reimage of the appliance. In this post, I will cover the process that I made recently to patch from 18.3 to 19.8 version.<\/p>\n<p style=\"text-align: justify;\">The fourth part covers the upgrade from 19.7 to 19.8. I separate so you can use this as a direct guide from 19.6 to 19.7 if you need to do just this update. Parts of this post are similar to the <a href=\"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-3-19-6-to-19-7\" target=\"_blank\" rel=\"noopener noreferrer\">upgrade from 19.6 to 19.7 that I described in the previous post<\/a>.<\/p>\n<h2 style=\"text-align: justify;\">Patch Matrix<\/h2>\n<p style=\"text-align: justify;\">The matrix of what can be done can be found at <a href=\"https:\/\/blogs.oracle.com\/oda\/oracle-database-19c-support-for-oracle-database-appliance\" target=\"_blank\" rel=\"noopener noreferrer\">this post from ODA blog<\/a>, and you can check below:<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/08\/19cmatrix.jpg\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-788 size-full\" src=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/08\/19cmatrix.jpg\" alt=\"\" width=\"963\" height=\"505\" srcset=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/08\/19cmatrix.jpg 963w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/08\/19cmatrix-300x157.jpg 300w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/08\/19cmatrix-768x403.jpg 768w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/08\/19cmatrix-624x327.jpg 624w\" sizes=\"auto, (max-width: 963px) 100vw, 963px\" \/><\/a>Another important detail is to check the MOS note <a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocContentDisplay?id=2680219.1\" target=\"_blank\" rel=\"noopener noreferrer\">ODA: Quick Reference Matrix for Linux Release and Kernel by ODA Hardware Type and Version (Doc ID 2680219.1)<\/a> and verify if your hardware is still compatible.<\/p>\n<p style=\"text-align: justify;\">Remember that in this process, the ODA will reboot several times, so, you need to inform your teams that databases will be unavailable during the process.<\/p>\n<p style=\"text-align: justify;\"><!--more Click here to read more...--><\/p>\n<h2 style=\"text-align: justify;\">Actual environment<\/h2>\n<p style=\"text-align: justify;\">The environment is ODA X5-2, running the version 19.7. This same environment I reimaged last year, and you can see the steps that I made <a href=\"https:\/\/www.fernandosimon.com\/blog\/reimage-oda\/\" target=\"_blank\" rel=\"noopener noreferrer\">in a previous post.<\/a> And it is running bare metal (BM).<\/p>\n<p style=\"text-align: justify;\">The first thing to do is to check the actual hardware about errors. If you have, please fix it before the start. Another important detail is to verify if your disks have smartctl warnings. To do that, execute <strong>smartctl -q errorsonly -H -l xerror \/dev\/DISK<\/strong>; If you have \u201c<em>SMART Health Status: WARNING: ascq=0x97 [asc=b, ascq=97]<\/em>\u201d report (or similar warning), please open an SR to replace the disks. Even the warning can lead to an error during the patch.<\/p>\n<p style=\"text-align: justify;\">I recommend you to save outside of ODA some config files from BOTH nodes (to have quick access in case you need):<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 ~]# mkdir \/nfs\/ODA_PATCH_18\/bkp_files_odat1\r\n[root@odat1 ~]# cp \/etc\/hosts \/nfs\/ODA_PATCH_18\/bkp_files_odat1\r\n[root@odat1 ~]# cp \/etc\/fstab \/nfs\/ODA_PATCH_18\/bkp_files_odat1\r\n[root@odat1 ~]# cp \/etc\/resolv.conf \/nfs\/ODA_PATCH_18\/bkp_files_odat1\r\n[root@odat1 ~]# cp \/etc\/sysconfig\/network-scripts\/* \/nfs\/ODA_PATCH_18\/bkp_files_odat1\/\r\ncp: omitting directory `\/etc\/sysconfig\/network-scripts\/backupifcfgFiles'\r\ncp: omitting directory `\/etc\/sysconfig\/network-scripts\/bkupIfcfgOrig'\r\n[root@odat1 ~]#\r\n[root@odat1 ~]# cp \/u01\/app\/18.0.0.0\/grid\/network\/admin\/listener* \/nfs\/ODA_PATCH_18\/bkp_files_odat1\/\r\n[root@odat1 ~]#<\/pre>\n<p style=\"text-align: justify;\">Another detail before the start is to check the actual components and running versions. To do that we execute the <em>odacli describe-component<\/em>. If we need we just need to update the components with <em>odacli update-storage<\/em>. This will (if some firmware is applied) reboot the ODA.<\/p>\n<p style=\"text-align: justify;\">Before starting the patch I recommend stopping all databases running at ODA. This will speed up the process. So, left just GI and ASM running.<\/p>\n<h2 style=\"text-align: justify;\">19.8<\/h2>\n<p style=\"text-align: justify;\">The upgrade from 19.7 to 19.8 is a simple process and follows a well-known procedure if you compare with the upgrade of 18.8 to 19.6. The 19.8 version enables some features, like OVM. But here I am doing the patch over BM and will continue to use this here. The patch to download is 31481816.<\/p>\n<h3 style=\"text-align: justify;\">Update repository<\/h3>\n<p style=\"text-align: justify;\">The first step is to upload the unzipped patch files at the internal ODA repository. This process is done using the <strong>odacli update-repository<\/strong> and you pass the full path to unzip patch files (here my files are in NFS folder):<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 19.8]# \/opt\/oracle\/dcs\/bin\/odacli update-repository -f \/NAS\/ZONE_22\/ODA_PATCH_18\/19.8\/oda-sm-19.8.0.0.0-200718-server1of2.zip,\/NAS\/ZONE_22\/ODA_PATCH_18\/19.8\/oda-sm-19.8.0.0.0-200718-server2of2.zip\r\n{\r\n  \"jobId\" : \"0c4b1959-0f9c-4a41-9824-f7878a13719d\",\r\n  \"status\" : \"Created\",\r\n  \"message\" : \"\/NAS\/ZONE_22\/ODA_PATCH_18\/19.8\/oda-sm-19.8.0.0.0-200718-server1of2.zip,\/NAS\/ZONE_22\/ODA_PATCH_18\/19.8\/oda-sm-19.8.0.0.0-200718-server2of2.zip\",\r\n  \"reports\" : [ ],\r\n  \"createTimestamp\" : \"July 29, 2020 17:33:52 PM CEST\",\r\n  \"resourceList\" : [ ],\r\n  \"description\" : \"Repository Update\",\r\n  \"updatedTime\" : \"July 29, 2020 17:33:52 PM CEST\"\r\n}\r\n[root@odat1 19.8]#<\/pre>\n<p style=\"text-align: justify;\">After that we can follow the job with <em>odacli describe-job<\/em>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 19.8]# \/opt\/oracle\/dcs\/bin\/odacli describe-job -i \"0c4b1959-0f9c-4a41-9824-f7878a13719d\"\r\n\r\nJob details\r\n----------------------------------------------------------------\r\n                     ID:  0c4b1959-0f9c-4a41-9824-f7878a13719d\r\n            Description:  Repository Update\r\n                 Status:  Success\r\n                Created:  July 29, 2020 5:33:52 PM CEST\r\n                Message:  \/NAS\/ZONE_22\/ODA_PATCH_18\/19.8\/oda-sm-19.8.0.0.0-200718-server1of2.zip,\/NAS\/ZONE_22\/ODA_PATCH_18\/19.8\/oda-sm-19.8.0.0.0-200718-server2of2.zip\r\n\r\nTask Name                                Start Time                          End Time                            Status\r\n---------------------------------------- ----------------------------------- ----------------------------------- ----------\r\nCheck AvailableSpace                     July 29, 2020 5:33:53 PM CEST       July 29, 2020 5:33:53 PM CEST       Success\r\nSetting up ssh equivalance               July 29, 2020 5:33:54 PM CEST       July 29, 2020 5:33:54 PM CEST       Success\r\nCopy BundleFile                          July 29, 2020 5:33:55 PM CEST       July 29, 2020 5:38:07 PM CEST       Success\r\nValidating CopiedFile                    July 29, 2020 5:38:07 PM CEST       July 29, 2020 5:38:41 PM CEST       Success\r\nUnzip bundle                             July 29, 2020 5:38:41 PM CEST       July 29, 2020 5:56:35 PM CEST       Success\r\nUnzip bundle                             July 29, 2020 5:56:35 PM CEST       July 29, 2020 5:58:36 PM CEST       Success\r\nDelete PatchBundles                      July 29, 2020 5:58:43 PM CEST       July 29, 2020 5:58:58 PM CEST       Success\r\nRemoving ssh keys                        July 29, 2020 5:58:59 PM CEST       July 29, 2020 5:59:00 PM CEST       Success\r\n\r\n[root@odat1 19.8]#<\/pre>\n<h3 style=\"text-align: justify;\">DCSAgent<\/h3>\n<p style=\"text-align: justify;\">The next step is to update the internal DCS agent for ODA 19.8. Is a simple step executed using the <strong>odacli update-dcsagent<\/strong>. The parameter is the version 19.8.0.0:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 ~]# \/opt\/oracle\/dcs\/bin\/odacli update-dcsagent -v 19.8.0.0.0\r\n{\r\n  \"jobId\" : \"a3ad9edf-f58d-40b0-9ea0-75e9347907c3\",\r\n  \"status\" : \"Created\",\r\n  \"message\" : \"Dcs agent will be restarted after the update. Please wait for 2-3 mins before executing the other commands\",\r\n  \"reports\" : [ ],\r\n  \"createTimestamp\" : \"August 06, 2020 17:30:46 PM CEST\",\r\n  \"resourceList\" : [ ],\r\n  \"description\" : \"DcsAgent patching\",\r\n  \"updatedTime\" : \"August 06, 2020 17:30:46 PM CEST\"\r\n}\r\n[root@odat1 ~]#<\/pre>\n<p>And as usual, we need to wait for the job to finish before continuing. We use the <em>odacli describe-job<\/em> to check this:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 ~]# \/opt\/oracle\/dcs\/bin\/odacli describe-job -i \"a3ad9edf-f58d-40b0-9ea0-75e9347907c3\"\r\n\r\nJob details\r\n----------------------------------------------------------------\r\n                     ID:  a3ad9edf-f58d-40b0-9ea0-75e9347907c3\r\n            Description:  DcsAgent patching\r\n                 Status:  Success\r\n                Created:  August 6, 2020 5:30:46 PM CEST\r\n                Message:\r\n\r\nTask Name                                Start Time                          End Time                            Status\r\n---------------------------------------- ----------------------------------- ----------------------------------- ----------\r\ndcs-agent upgrade  to version 19.8.0.0.0 August 6, 2020 5:30:47 PM CEST      August 6, 2020 5:32:59 PM CEST      Success\r\ndcs-agent upgrade  to version 19.8.0.0.0 August 6, 2020 5:32:59 PM CEST      August 6, 2020 5:34:54 PM CEST      Success\r\nUpdate System version                    August 6, 2020 5:35:00 PM CEST      August 6, 2020 5:35:00 PM CEST      Success\r\nUpdate System version                    August 6, 2020 5:35:01 PM CEST      August 6, 2020 5:35:01 PM CEST      Success\r\n\r\n[root@odat1 ~]#<\/pre>\n<p style=\"text-align: justify;\">You can receive some errors if you try to describe the jobID. This can occur because the process restarts the DCS. If you got this, just wait some minutes and try again (some common errors are: <em>DCS-10001:Internal error encountered: Fail to get credential<\/em> or <em>DCS-10001:Internal error encountered: Fail to start hand shake to localhost:7070<\/em>):<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 ~]# \/opt\/oracle\/dcs\/bin\/odacli describe-job -i \"a3ad9edf-f58d-40b0-9ea0-75e9347907c3\"\r\nDCS-10001:Internal error encountered: Fail to start hand shake to localhost:7070.\r\n[root@odat1 ~]#<\/pre>\n<h3 style=\"text-align: justify;\">DCSAdmin<\/h3>\n<p style=\"text-align: justify;\">The next step will be to update the dcsadmin using the command <strong>odacli update-dcsadmin<\/strong>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 ~]# \/opt\/oracle\/dcs\/bin\/odacli update-dcsadmin -v 19.7.0.0.0\r\n{\r\n  \"jobId\" : \"edf88f79-529c-438e-8a4a-a412749c8a70\",\r\n  \"status\" : \"Created\",\r\n  \"message\" : null,\r\n  \"reports\" : [ ],\r\n  \"createTimestamp\" : \"July 26, 2020 11:56:45 AM CEST\",\r\n  \"resourceList\" : [ ],\r\n  \"description\" : \"DcsAdmin patching\",\r\n  \"updatedTime\" : \"July 26, 2020 11:56:45 AM CEST\"\r\n}\r\n[root@odat1 ~]#<\/pre>\n<p style=\"text-align: justify;\">And as usual, we can check the end of the job before continue:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 ~]# \/opt\/oracle\/dcs\/bin\/odacli describe-job -i \"e00b6dd8-d315-40de-b612-641d4853fe05\"\r\n\r\nJob details\r\n----------------------------------------------------------------\r\n                     ID:  e00b6dd8-d315-40de-b612-641d4853fe05\r\n            Description:  DcsAdmin patching\r\n                 Status:  Success\r\n                Created:  August 6, 2020 5:36:09 PM CEST\r\n                Message:\r\n\r\nTask Name                                Start Time                          End Time                            Status\r\n---------------------------------------- ----------------------------------- ----------------------------------- ----------\r\nPatch location validation                August 6, 2020 5:36:12 PM CEST      August 6, 2020 5:36:12 PM CEST      Success\r\nPatch location validation                August 6, 2020 5:36:12 PM CEST      August 6, 2020 5:36:12 PM CEST      Success\r\ndcsadmin upgrade                         August 6, 2020 5:36:13 PM CEST      August 6, 2020 5:36:21 PM CEST      Success\r\ndcsadmin upgrade                         August 6, 2020 5:36:21 PM CEST      August 6, 2020 5:36:29 PM CEST      Success\r\nUpdate System version                    August 6, 2020 5:36:30 PM CEST      August 6, 2020 5:36:30 PM CEST      Success\r\nUpdate System version                    August 6, 2020 5:36:30 PM CEST      August 6, 2020 5:36:30 PM CEST      Success\r\n\r\n[root@odat1 ~]#<\/pre>\n<h3>DCSComponents<\/h3>\n<p>The next is to update the dcscomponents with command <strong>odacli update-dcscomponents<\/strong>. As occurred with other versions, the commands will generate one jobID, but will be invalid and you need to use the command \u201c<strong>odacli list-jobs<\/strong>\u201d to see the jobs (will be just updated SSH keys \u2013 two jobs):<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 ~]# \/opt\/oracle\/dcs\/bin\/odacli update-dcscomponents -v 19.8.0.0.0\r\n{\r\n  \"jobId\" : \"0f27ebd9-591f-4242-9e89-b998d93ecede\",\r\n  \"status\" : \"Success\",\r\n  \"message\" : null,\r\n  \"reports\" : null,\r\n  \"createTimestamp\" : \"August 06, 2020 17:37:01 PM CEST\",\r\n  \"description\" : \"Job completed and is not part of Agent job list\",\r\n  \"updatedTime\" : \"August 06, 2020 17:37:01 PM CEST\"\r\n} \r\n[root@odat1 ~]# \/opt\/oracle\/dcs\/bin\/odacli describe-job -i \"0f27ebd9-591f-4242-9e89-b998d93ecede\"\r\nDCS-10000:Resource Job with ID 0f27ebd9-591f-4242-9e89-b998d93ecede is not found.\r\n[root@odat1 ~]#\r\n[root@odat1 ~]# \/opt\/oracle\/dcs\/bin\/odacli list-jobs\r\n\r\nID                                       Description                                                                 Created                             Status\r\n---------------------------------------- --------------------------------------------------------------------------- ----------------------------------- ----------\r\n...\r\n0c4b1959-0f9c-4a41-9824-f7878a13719d     Repository Update                                                           July 29, 2020 5:33:52 PM CEST       Success\r\na3ad9edf-f58d-40b0-9ea0-75e9347907c3     DcsAgent patching                                                           August 6, 2020 5:30:46 PM CEST      Success\r\ne00b6dd8-d315-40de-b612-641d4853fe05     DcsAdmin patching                                                           August 6, 2020 5:36:09 PM CEST      Success\r\ncae0726b-3298-4c02-ba8e-b4be76eab620     SSH keys update                                                             August 6, 2020 5:37:24 PM CEST      Success\r\na702447e-71ed-42af-904c-1e3225f193df     SSH key delete                                                              August 6, 2020 5:37:29 PM CEST      Success\r\n348599c5-2718-40fa-8bbf-f3ecfee28123     SSH keys update                                                             August 6, 2020 5:37:59 PM CEST      Success\r\ncff63e2a-be64-4e2d-9500-f274d6c2a640     SSH key delete                                                              August 6, 2020 5:39:33 PM CEST      Success\r\n\r\n[root@odat1 ~]#<\/pre>\n<h3 style=\"text-align: justify;\">Create-prepatchreport<\/h3>\n<p style=\"text-align: justify;\">The next step is to verify if you can update it to 19.8. The odacli will do a lot of tests for the operational system, GI, and ILOM. To do that, we just need to call <strong>odacli create-prepatchreport<\/strong>, and after that use the <strong>odacli describe-prepatchreport<\/strong> to check the report.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 ~]# \/opt\/oracle\/dcs\/bin\/odacli create-prepatchreport -s -v 19.7.0.0.0\r\n\r\nJob details\r\n----------------------------------------------------------------\r\n                     ID:  d7d1c155-1312-41bf-afe6-c85570073d9b\r\n            Description:  Patch pre-checks for [OS, ILOM, GI, ORACHKSERVER]\r\n                 Status:  Created\r\n                Created:  July 26, 2020 1:59:04 PM CEST\r\n                Message:  Use 'odacli describe-prepatchreport -i d7d1c155-1312-41bf-afe6-c85570073d9b' to check details of results\r\n\r\nTask Name                                Start Time                          End Time                            Status\r\n---------------------------------------- ----------------------------------- ----------------------------------- ----------\r\n\r\n[root@odat1 ~]#<\/pre>\n<p style=\"text-align: justify;\">And after some time we got the full result (30 minutes more or less):<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 ~]# \/opt\/oracle\/dcs\/bin\/odacli describe-prepatchreport -i e150f6d2-19c2-40c9-90da-3d427234d1b6\r\n\r\nPatch pre-check report\r\n------------------------------------------------------------------------\r\n                 Job ID:  e150f6d2-19c2-40c9-90da-3d427234d1b6\r\n            Description:  Patch pre-checks for [OS, ILOM, GI, ORACHKSERVER]\r\n                 Status:  FAILED\r\n                Created:  August 6, 2020 6:28:15 PM CEST\r\n                 Result:  One or more pre-checks failed for [ORACHK]\r\n\r\nNode Name\r\n---------------\r\nodat1\r\n\r\nPre-Check                      Status   Comments\r\n------------------------------ -------- --------------------------------------\r\n__OS__\r\nValidate supported versions     Success   Validated minimum supported versions.\r\nValidate patching tag           Success   Validated patching tag: 19.8.0.0.0.\r\nIs patch location available     Success   Patch location is available.\r\nVerify OS patch                 Success   Verified OS patch\r\nValidate command execution      Success   Validated command execution\r\n\r\n__ILOM__\r\nValidate supported versions     Success   Validated minimum supported versions.\r\nValidate patching tag           Success   Validated patching tag: 19.8.0.0.0.\r\nIs patch location available     Success   Patch location is available.\r\nChecking Ilom patch Version     Success   Successfully verified the versions\r\nPatch location validation       Success   Successfully validated location\r\nValidate command execution      Success   Validated command execution\r\n\r\n__GI__\r\nValidate supported GI versions  Success   Validated minimum supported versions.\r\nValidate available space        Success   Validated free space under \/u01\r\nIs clusterware running          Success   Clusterware is running\r\nValidate patching tag           Success   Validated patching tag: 19.8.0.0.0.\r\nIs system provisioned           Success   Verified system is provisioned\r\nValidate ASM in online          Success   ASM is online\r\nValidate minimum agent version  Success   GI patching enabled in current\r\n                                          DCSAGENT version\r\nValidate GI patch metadata      Success   Validated patching tag: 19.8.0.0.0.\r\nValidate clones location exist  Success   Validated clones location\r\nIs patch location available     Success   Patch location is available.\r\nPatch location validation       Success   Successfully validated location\r\nPatch verification              Success   Patches 31281355 not applied on GI\r\n                                          home \/u01\/app\/19.0.0.0\/grid on node\r\n                                          odat1\r\nValidate Opatch update          Success   Successfully updated the opatch in\r\n                                          GiHome \/u01\/app\/19.0.0.0\/grid on node\r\n                                          odat1\r\nPatch conflict check            Success   No patch conflicts found on GiHome\r\n                                          \/u01\/app\/19.0.0.0\/grid on node odat1\r\nValidate command execution      Success   Validated command execution\r\n\r\n__ORACHK__\r\nRunning orachk                  Failed    Orachk validation failed: .\r\nValidate command execution      Success   Validated command execution\r\nSoftware home                   Failed    Software home check failed\r\n\r\nNode Name\r\n---------------\r\nodat2\r\n\r\nPre-Check                      Status   Comments\r\n------------------------------ -------- --------------------------------------\r\n__OS__\r\nValidate supported versions     Success   Validated minimum supported versions.\r\nValidate patching tag           Success   Validated patching tag: 19.8.0.0.0.\r\nIs patch location available     Success   Patch location is available.\r\nVerify OS patch                 Success   Verified OS patch\r\nValidate command execution      Success   Validated command execution\r\n\r\n__ILOM__\r\nValidate supported versions     Success   Validated minimum supported versions.\r\nValidate patching tag           Success   Validated patching tag: 19.8.0.0.0.\r\nIs patch location available     Success   Patch location is available.\r\nChecking Ilom patch Version     Success   Successfully verified the versions\r\nPatch location validation       Success   Successfully validated location\r\nValidate command execution      Success   Validated command execution\r\n\r\n__GI__\r\nValidate supported GI versions  Success   Validated minimum supported versions.\r\nValidate available space        Success   Validated free space under \/u01\r\nIs clusterware running          Success   Clusterware is running\r\nValidate patching tag           Success   Validated patching tag: 19.8.0.0.0.\r\nIs system provisioned           Success   Verified system is provisioned\r\nValidate ASM in online          Success   ASM is online\r\nValidate minimum agent version  Success   GI patching enabled in current\r\n                                          DCSAGENT version\r\nValidate GI patch metadata      Success   Validated patching tag: 19.8.0.0.0.\r\nValidate clones location exist  Success   Validated clones location\r\nIs patch location available     Success   Patch location is available.\r\nPatch location validation       Success   Successfully validated location\r\nPatch verification              Success   Patches 31281355 not applied on GI\r\n                                          home \/u01\/app\/19.0.0.0\/grid on node\r\n                                          odat2\r\nValidate Opatch update          Success   Successfully updated the opatch in\r\n                                          GiHome \/u01\/app\/19.0.0.0\/grid on node\r\n                                          odat2\r\nPatch conflict check            Success   No patch conflicts found on GiHome\r\n                                          \/u01\/app\/19.0.0.0\/grid on node odat2\r\nValidate command execution      Success   Validated command execution\r\n\r\n__ORACHK__\r\nRunning orachk                  Failed    Orachk validation failed: .\r\nValidate command execution      Success   Validated command execution\r\nSoftware home                   Failed    Software home check failed\r\n\r\n\r\n\r\n[root@odat1 ~]#<\/pre>\n<p style=\"text-align: justify;\">As you can see FAILED. Some known issues can be checked before. <strong>One that I passed was the existence of \/u01\/app\/oraInventory\/locks. I needed to remove it from both nodes to have success in the report<\/strong>.<\/p>\n<p style=\"text-align: justify;\">The ORACHK is more tricky to check the source. To check we need go to folder <em><strong>\/opt\/oracle\/dcs\/oracle.ahf\/orachk\/SERVER\/&lt;jobID#&gt;\/orachk_&lt;hostname&gt;&lt;random#&gt;\/<\/strong><\/em> and check the HTML file:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 ~]# ls -l \/opt\/oracle\/dcs\/oracle.ahf\/orachk\/SERVER\/d7d1c155-1312-41bf-afe6-c85570073d9b\/orachk_odat1_072620_14087\/\r\ntotal 1024\r\ndrwxr-xr-x 2 root root   4096 Jul 26 14:12 log\r\n-rw------- 1 root root 993400 Jul 26 14:12 orachk_odat1_072620_14087.html\r\ndrwxr-xr-x 4 root root  24576 Jul 26 14:12 outfiles\r\ndrwxr-xr-x 2 root root   4096 Jul 26 14:12 reports\r\ndrwxr-xr-x 2 root root  12288 Jul 26 14:12 scripts\r\ndrwxr-xr-x 2 root root   4096 Jul 26 14:12 upload\r\n[root@odat1 ~]#<\/pre>\n<p style=\"text-align: justify;\">There we can see internally the ERROR. In this case that we got the \u201c<em>Orachk validation failed<\/em>\u201d and \u201c<em>Software home check failed<\/em>\u201d the error is related with a check made but CVU that try to check some files (that are listed in XML file) and was not found:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">Status on odat1:\r\nFAIL =&gt; Software home check failed\r\n\r\n\r\nError Message:\r\nFile \"\/u01\/app\/19.0.0.0\/grid\/jdk\/jre\/lib\/amd64\/libjavafx_font_t2k.so\" could not be verified on node \"odat1\". OS error: \"No such file or directory\"\r\nError Message:\r\nFile \"\/u01\/app\/19.0.0.0\/grid\/jdk\/jre\/lib\/amd64\/libkcms.so\" could not be verified on node \"odat1\". OS error: \"No such file or directory\"<\/pre>\n<p style=\"text-align: justify;\">This error occurs because the CVU uses the context of file <em>\/u01\/app\/19.0.0.0\/grid\/cv\/cvdata\/ora_software_cfg.xml<\/em> to verify the files that need to be checked. But this file has more contents that need:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 ~]# cat \/u01\/app\/19.0.0.0\/grid\/cv\/cvdata\/ora_software_cfg.xml |grep libkcms\r\n         &lt;File Path=\"jdk\/jre\/lib\/amd64\/\" Name=\"libkcms.so\"\/&gt;\r\n         &lt;File Path=\"jdk\/jre\/lib\/amd64\/\" Name=\"libkcms.so\"\/&gt;\r\n         &lt;File Path=\"jdk\/jre\/lib\/amd64\/\" Name=\"libkcms.so\"\/&gt;\r\n[root@odat1 ~]#<\/pre>\n<p style=\"text-align: justify;\"><strong>So, to fix, need to copy the file \/u01\/app\/19.0.0.0\/grid\/cv\/cvdata\/19\/ora_software_cfg.xml over \/u01\/app\/19.0.0.0\/grid\/cv\/cvdata\/ora_software_cfg.xml. <\/strong>This is described at <a title=\"View bug in a new browser tab\" href=\"https:\/\/support.oracle.com\/epmos\/faces\/BugDisplay?id=31208297&amp;parent=SrDetailText&amp;sourceId=3-23551614711\" target=\"_blank\" rel=\"noopener noreferrer\">Bug 31208297<\/a> since the new version is aligned with 19c (while the other is aligned with other versions):<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 ~]# cp \/u01\/app\/19.0.0.0\/grid\/cv\/cvdata\/ora_software_cfg.xml \/tmp\r\n[root@odat1 ~]#\r\n[root@odat1 ~]# ls -l \/u01\/app\/19.0.0.0\/grid\/cv\/cvdata\/ora_software_cfg.xml\r\n-rw-r--r-- 1 grid oinstall 3719189 Apr  7  2019 \/u01\/app\/19.0.0.0\/grid\/cv\/cvdata\/ora_software_cfg.xml\r\n[root@odat1 ~]#\r\n[root@odat1 ~]# ls -l \/u01\/app\/19.0.0.0\/grid\/cv\/cvdata\/19\/ora_software_cfg.xml\r\n-rw-r--r-- 1 grid oinstall 3723425 Apr 16 09:29 \/u01\/app\/19.0.0.0\/grid\/cv\/cvdata\/19\/ora_software_cfg.xml\r\n[root@odat1 ~]#\r\n[root@odat1 ~]# cp \/u01\/app\/19.0.0.0\/grid\/cv\/cvdata\/19\/ora_software_cfg.xml \/u01\/app\/19.0.0.0\/grid\/cv\/cvdata\/ora_software_cfg.xml\r\ncp: overwrite \u2018\/u01\/app\/19.0.0.0\/grid\/cv\/cvdata\/ora_software_cfg.xml\u2019? y\r\n[root@odat1 ~]#<\/pre>\n<p style=\"text-align: justify;\">Another option is simply to ignore the error and continue with the process. If you have doubts or other errors, please check the release notes from the version to check if they are listed there. Another option is open SR.<\/p>\n<p>After fixing the orachk we can run the patchreport again:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 ~]# \/opt\/oracle\/dcs\/bin\/odacli create-prepatchreport -s -v 19.8.0.0.0\r\n\r\nJob details\r\n----------------------------------------------------------------\r\n                     ID:  e2bfcfbf-3925-40f7-b666-2e55c0d77f68\r\n            Description:  Patch pre-checks for [OS, ILOM, GI, ORACHKSERVER]\r\n                 Status:  Created\r\n                Created:  August 6, 2020 7:01:30 PM CEST\r\n                Message:  Use 'odacli describe-prepatchreport -i e2bfcfbf-3925-40f7-b666-2e55c0d77f68' to check details of results\r\n\r\nTask Name                                Start Time                          End Time                            Status\r\n---------------------------------------- ----------------------------------- ----------------------------------- ----------\r\n\r\n[root@odat1 ~]#\r\n[root@odat1 ~]# \/opt\/oracle\/dcs\/bin\/odacli describe-prepatchreport -i e2bfcfbf-3925-40f7-b666-2e55c0d77f68\r\n\r\nPatch pre-check report\r\n------------------------------------------------------------------------\r\n                 Job ID:  e2bfcfbf-3925-40f7-b666-2e55c0d77f68\r\n            Description:  Patch pre-checks for [OS, ILOM, GI, ORACHKSERVER]\r\n                 Status:  SUCCESS\r\n                Created:  August 6, 2020 7:01:30 PM CEST\r\n                 Result:  All pre-checks succeeded\r\n\r\nNode Name\r\n---------------\r\nodat1\r\n\r\nPre-Check                      Status   Comments\r\n------------------------------ -------- --------------------------------------\r\n__OS__\r\nValidate supported versions     Success   Validated minimum supported versions.\r\nValidate patching tag           Success   Validated patching tag: 19.8.0.0.0.\r\nIs patch location available     Success   Patch location is available.\r\nVerify OS patch                 Success   Verified OS patch\r\nValidate command execution      Success   Validated command execution\r\n\r\n__ILOM__\r\nValidate supported versions     Success   Validated minimum supported versions.\r\nValidate patching tag           Success   Validated patching tag: 19.8.0.0.0.\r\nIs patch location available     Success   Patch location is available.\r\nChecking Ilom patch Version     Success   Patch already applied\r\nPatch location validation       Success   Successfully validated location\r\nValidate command execution      Success   Validated command execution\r\n\r\n__GI__\r\nValidate supported GI versions  Success   Validated minimum supported versions.\r\nValidate available space        Success   Validated free space under \/u01\r\nIs clusterware running          Success   Clusterware is running\r\nValidate patching tag           Success   Validated patching tag: 19.8.0.0.0.\r\nIs system provisioned           Success   Verified system is provisioned\r\nValidate ASM in online          Success   ASM is online\r\nValidate minimum agent version  Success   GI patching enabled in current\r\n                                          DCSAGENT version\r\nValidate GI patch metadata      Success   Validated patching tag: 19.8.0.0.0.\r\nValidate clones location exist  Success   Validated clones location\r\nIs patch location available     Success   Patch location is available.\r\nPatch location validation       Success   Successfully validated location\r\nPatch verification              Success   Patches 31281355 not applied on GI\r\n                                          home \/u01\/app\/19.0.0.0\/grid on node\r\n                                          odat1\r\nValidate Opatch update          Success   Successfully updated the opatch in\r\n                                          GiHome \/u01\/app\/19.0.0.0\/grid on node\r\n                                          odat1\r\nPatch conflict check            Success   No patch conflicts found on GiHome\r\n                                          \/u01\/app\/19.0.0.0\/grid on node odat1\r\nValidate command execution      Success   Validated command execution\r\n\r\n__ORACHK__\r\nRunning orachk                  Success   Succesfully ran Orachk\r\nValidate command execution      Success   Validated command execution\r\n\r\nNode Name\r\n---------------\r\nodat2\r\n\r\nPre-Check                      Status   Comments\r\n------------------------------ -------- --------------------------------------\r\n__OS__\r\nValidate supported versions     Success   Validated minimum supported versions.\r\nValidate patching tag           Success   Validated patching tag: 19.8.0.0.0.\r\nIs patch location available     Success   Patch location is available.\r\nVerify OS patch                 Success   Verified OS patch\r\nValidate command execution      Success   Validated command execution\r\n\r\n__ILOM__\r\nValidate supported versions     Success   Validated minimum supported versions.\r\nValidate patching tag           Success   Validated patching tag: 19.8.0.0.0.\r\nIs patch location available     Success   Patch location is available.\r\nChecking Ilom patch Version     Success   Patch already applied\r\nPatch location validation       Success   Successfully validated location\r\nValidate command execution      Success   Validated command execution\r\n\r\n__GI__\r\nValidate supported GI versions  Success   Validated minimum supported versions.\r\nValidate available space        Success   Validated free space under \/u01\r\nIs clusterware running          Success   Clusterware is running\r\nValidate patching tag           Success   Validated patching tag: 19.8.0.0.0.\r\nIs system provisioned           Success   Verified system is provisioned\r\nValidate ASM in online          Success   ASM is online\r\nValidate minimum agent version  Success   GI patching enabled in current\r\n                                          DCSAGENT version\r\nValidate GI patch metadata      Success   Validated patching tag: 19.8.0.0.0.\r\nValidate clones location exist  Success   Validated clones location\r\nIs patch location available     Success   Patch location is available.\r\nPatch location validation       Success   Successfully validated location\r\nPatch verification              Success   Patches 31281355 not applied on GI\r\n                                          home \/u01\/app\/19.0.0.0\/grid on node\r\n                                          odat2\r\nValidate Opatch update          Success   Successfully updated the opatch in\r\n                                          GiHome \/u01\/app\/19.0.0.0\/grid on node\r\n                                          odat2\r\nPatch conflict check            Success   No patch conflicts found on GiHome\r\n                                          \/u01\/app\/19.0.0.0\/grid on node odat2\r\nValidate command execution      Success   Validated command execution\r\n\r\n__ORACHK__\r\nRunning orachk                  Success   Succesfully ran Orachk\r\nValidate command execution      Success   Validated command execution\r\n\r\n\r\n\r\n[root@odat1 ~]#<\/pre>\n<h3 style=\"text-align: justify;\">Update-Server<\/h3>\n<p style=\"text-align: justify;\">After the create patchreport we can patch the server calling <em>odacli update-server<\/em>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 ~]# \/opt\/oracle\/dcs\/bin\/odacli update-server -v 19.8.0.0.0\r\n{\r\n  \"jobId\" : \"58472ea7-f329-45d5-a8c0-e13cf9074f5f\",\r\n  \"status\" : \"Created\",\r\n  \"message\" : \"Success of server update will trigger reboot of the node after 4-5 minutes. Please wait until the node reboots.\",\r\n  \"reports\" : [ ],\r\n  \"createTimestamp\" : \"August 06, 2020 19:22:24 PM CEST\",\r\n  \"resourceList\" : [ ],\r\n  \"description\" : \"Server Patching\",\r\n  \"updatedTime\" : \"August 06, 2020 19:22:24 PM CEST\"\r\n}\r\n[root@odat1 ~]#<\/pre>\n<p style=\"text-align: justify;\">This will create one jobIB that we can follow:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 ~]# \/opt\/oracle\/dcs\/bin\/odacli describe-job -i \"58472ea7-f329-45d5-a8c0-e13cf9074f5f\"\r\n\r\nJob details\r\n----------------------------------------------------------------\r\n                     ID:  58472ea7-f329-45d5-a8c0-e13cf9074f5f\r\n            Description:  Server Patching\r\n                 Status:  Success\r\n                Created:  August 6, 2020 7:22:24 PM CEST\r\n                Message:\r\n\r\nTask Name                                Start Time                          End Time                            Status\r\n---------------------------------------- ----------------------------------- ----------------------------------- ----------\r\nPatch location validation                August 6, 2020 7:23:04 PM CEST      August 6, 2020 7:23:05 PM CEST      Success\r\nPatch location validation                August 6, 2020 7:23:04 PM CEST      August 6, 2020 7:23:05 PM CEST      Success\r\ndcs-controller upgrade                   August 6, 2020 7:23:08 PM CEST      August 6, 2020 7:23:21 PM CEST      Success\r\ndcs-controller upgrade                   August 6, 2020 7:23:22 PM CEST      August 6, 2020 7:23:36 PM CEST      Success\r\nPatch location validation                August 6, 2020 7:23:38 PM CEST      August 6, 2020 7:23:38 PM CEST      Success\r\nPatch location validation                August 6, 2020 7:23:38 PM CEST      August 6, 2020 7:23:38 PM CEST      Success\r\ndcs-cli upgrade                          August 6, 2020 7:23:39 PM CEST      August 6, 2020 7:23:40 PM CEST      Success\r\ndcs-cli upgrade                          August 6, 2020 7:23:40 PM CEST      August 6, 2020 7:23:41 PM CEST      Success\r\nCreating repositories using yum          August 6, 2020 7:23:46 PM CEST      August 6, 2020 7:23:51 PM CEST      Success\r\nUpdating YumPluginVersionLock rpm        August 6, 2020 7:23:51 PM CEST      August 6, 2020 7:23:51 PM CEST      Success\r\nApplying OS Patches                      August 6, 2020 7:23:51 PM CEST      August 6, 2020 7:30:47 PM CEST      Success\r\nCreating repositories using yum          August 6, 2020 7:30:48 PM CEST      August 6, 2020 7:30:50 PM CEST      Success\r\nApplying HMP Patches                     August 6, 2020 7:30:50 PM CEST      August 6, 2020 7:31:17 PM CEST      Success\r\nPatch location validation                August 6, 2020 7:31:19 PM CEST      August 6, 2020 7:31:19 PM CEST      Success\r\nPatch location validation                August 6, 2020 7:31:19 PM CEST      August 6, 2020 7:31:19 PM CEST      Success\r\noda-hw-mgmt upgrade                      August 6, 2020 7:31:20 PM CEST      August 6, 2020 7:31:54 PM CEST      Success\r\noda-hw-mgmt upgrade                      August 6, 2020 7:31:54 PM CEST      August 6, 2020 7:32:30 PM CEST      Success\r\nOSS Patching                             August 6, 2020 7:32:31 PM CEST      August 6, 2020 7:32:32 PM CEST      Success\r\nApplying Firmware Disk Patches           August 6, 2020 7:33:30 PM CEST      August 6, 2020 7:34:19 PM CEST      Success\r\nApplying Firmware Expander Patches       August 6, 2020 7:34:33 PM CEST      August 6, 2020 7:34:50 PM CEST      Success\r\nApplying Firmware Controller Patches     August 6, 2020 7:35:02 PM CEST      August 6, 2020 7:35:17 PM CEST      Success\r\nChecking Ilom patch Version              August 6, 2020 7:35:20 PM CEST      August 6, 2020 7:35:22 PM CEST      Success\r\nChecking Ilom patch Version              August 6, 2020 7:35:22 PM CEST      August 6, 2020 7:35:25 PM CEST      Success\r\nPatch location validation                August 6, 2020 7:35:25 PM CEST      August 6, 2020 7:35:26 PM CEST      Success\r\nPatch location validation                August 6, 2020 7:35:25 PM CEST      August 6, 2020 7:35:26 PM CEST      Success\r\nSave password in Wallet                  August 6, 2020 7:35:28 PM CEST      August 6, 2020 7:35:28 PM CEST      Success\r\nApply Ilom patch                         August 6, 2020 7:35:28 PM CEST      August 6, 2020 7:35:29 PM CEST      Success\r\nApply Ilom patch                         August 6, 2020 7:35:30 PM CEST      August 6, 2020 7:35:31 PM CEST      Success\r\nCopying Flash Bios to Temp location      August 6, 2020 7:35:31 PM CEST      August 6, 2020 7:35:31 PM CEST      Success\r\nCopying Flash Bios to Temp location      August 6, 2020 7:35:31 PM CEST      August 6, 2020 7:35:31 PM CEST      Success\r\nStarting the clusterware                 August 6, 2020 7:37:41 PM CEST      August 6, 2020 7:39:40 PM CEST      Success\r\nclusterware patch verification           August 6, 2020 7:39:46 PM CEST      August 6, 2020 7:39:55 PM CEST      Success\r\nclusterware patch verification           August 6, 2020 7:39:46 PM CEST      August 6, 2020 7:39:54 PM CEST      Success\r\nPatch location validation                August 6, 2020 7:39:55 PM CEST      August 6, 2020 7:40:03 PM CEST      Success\r\nPatch location validation                August 6, 2020 7:39:55 PM CEST      August 6, 2020 7:40:03 PM CEST      Success\r\nOpatch update                            August 6, 2020 7:40:53 PM CEST      August 6, 2020 7:40:58 PM CEST      Success\r\nOpatch update                            August 6, 2020 7:40:53 PM CEST      August 6, 2020 7:40:56 PM CEST      Success\r\nPatch conflict check                     August 6, 2020 7:40:58 PM CEST      August 6, 2020 7:42:09 PM CEST      Success\r\nPatch conflict check                     August 6, 2020 7:42:09 PM CEST      August 6, 2020 7:43:22 PM CEST      Success\r\nclusterware upgrade                      August 6, 2020 7:43:54 PM CEST      August 6, 2020 8:25:43 PM CEST      Success\r\nclusterware upgrade                      August 6, 2020 8:25:43 PM CEST      August 6, 2020 9:08:22 PM CEST      Success\r\nUpdating GiHome version                  August 6, 2020 9:08:22 PM CEST      August 6, 2020 9:08:46 PM CEST      Success\r\nUpdating GiHome version                  August 6, 2020 9:08:22 PM CEST      August 6, 2020 9:08:46 PM CEST      Success\r\nUpdate System version                    August 6, 2020 9:09:12 PM CEST      August 6, 2020 9:09:12 PM CEST      Success\r\nUpdate System version                    August 6, 2020 9:09:12 PM CEST      August 6, 2020 9:09:12 PM CEST      Success\r\npreRebootNode Actions                    August 6, 2020 9:09:12 PM CEST      August 6, 2020 9:09:58 PM CEST      Success\r\npreRebootNode Actions                    August 6, 2020 9:09:58 PM CEST      August 6, 2020 9:10:44 PM CEST      Success\r\nReboot Ilom                              August 6, 2020 9:10:44 PM CEST      August 6, 2020 9:10:44 PM CEST      Success\r\nReboot Ilom                              August 6, 2020 9:10:44 PM CEST      August 6, 2020 9:10:45 PM CEST      Success\r\n\r\n[root@odat1 ~]#<\/pre>\n<p style=\"text-align: justify;\">In ODAX5-2 this process took almost two hours. If you follow the <strong>\/opt\/oracle\/dcs\/log\/dcs-agent.log<\/strong> you can see more detail like and steps executed. Some example:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">...\r\n2020-08-06 19:43:24,793 INFO [Disabling TFA : JobId=58472ea7-f329-45d5-a8c0-e13cf9074f5f] [] c.o.d.a.z.DCSZQueue: Node not yet received from \/nodes\/node_1\/cmd-out-q with prefix:850_2186_\r\n2020-08-06 19:43:25,845 DEBUG [Thread-665] [] c.o.d.c.u.CommonsUtils: Output :\r\n.---------------------------------------------------------------------------------------------.\r\n2020-08-06 19:43:25,845 DEBUG [Thread-665] [] c.o.d.c.u.CommonsUtils: Output :\r\n| Host | Status of TFA | PID | Port | Version | Build ID | Inventory Status |\r\n2020-08-06 19:43:25,845 DEBUG [Thread-665] [] c.o.d.c.u.CommonsUtils: Output :\r\n+-------+---------------+-------+------+------------+----------------------+------------------+\r\n2020-08-06 19:43:25,845 DEBUG [Thread-665] [] c.o.d.c.u.CommonsUtils: Output :\r\n| odat1 | RUNNING | 51954 | 5000 | 20.2.1.0.0 | 20210020200706165623 | COMPLETE |\r\n2020-08-06 19:43:25,845 DEBUG [Thread-665] [] c.o.d.c.u.CommonsUtils: Output :\r\n| odat2 | RUNNING | 88162 | 5000 | 20.2.1.0.0 | 20210020200706165623 | COMPLETE |\r\n2020-08-06 19:43:25,845 DEBUG [Thread-665] [] c.o.d.c.u.CommonsUtils: Output :\r\n'-------+---------------+-------+------+------------+----------------------+------------------'\r\n2020-08-06 19:43:25,877 DEBUG [Server patching : JobId=58472ea7-f329-45d5-a8c0-e13cf9074f5f] [] c.o.d.c.u.c.DCSProcessBuilder: Return code: 0\r\n2020-08-06 19:43:25,877 DEBUG [Server patching : JobId=58472ea7-f329-45d5-a8c0-e13cf9074f5f] [] c.o.d.c.u.c.CommandExecutor: Return code: 0\r\n2020-08-06 19:43:25,877 DEBUG [Server patching : JobId=58472ea7-f329-45d5-a8c0-e13cf9074f5f] [] c.o.d.a.r.s.t.TfaUtils: TfaUtils: parseOutputToCheckIsTFARunning\r\n2020-08-06 19:43:25,877 DEBUG [Server patching : JobId=58472ea7-f329-45d5-a8c0-e13cf9074f5f] [] c.o.d.a.r.s.t.TfaUtils: tfactl error output: .---------------------------------------------------------------------------------------------.\r\n| Host  | Status of TFA | PID   | Port | Version    | Build ID             | Inventory Status |\r\n+-------+---------------+-------+------+------------+----------------------+------------------+\r\n| odat1 | RUNNING       | 51954 | 5000 | 20.2.1.0.0 | 20210020200706165623 | COMPLETE         |\r\n| odat2 | RUNNING       | 88162 | 5000 | 20.2.1.0.0 | 20210020200706165623 | COMPLETE         |\r\n'-------+---------------+-------+------+------------+----------------------+------------------'\r\n2020-08-06 19:43:25,877 DEBUG [Server patching : JobId=58472ea7-f329-45d5-a8c0-e13cf9074f5f] [] c.o.d.a.r.s.t.TfaUtils: tfactl error output by line: .---------------------------------------------------------------------------------------------.\r\n...<\/pre>\n<p style=\"text-align: justify;\">After you finish this jobIB, and around 10 minutes later, ODA nodes will reboot to boot the new version.<\/p>\n<h3 style=\"text-align: justify;\">Update-storage<\/h3>\n<p style=\"text-align: justify;\">The last step is to patch the storage with command <strong>odacli update-storage<\/strong>. This is needed because the previous step does not update the firmware of the disks as an example.<\/p>\n<p style=\"text-align: justify;\">You can see from <strong>odacli describe-component<\/strong> that some part are not up to date:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 ~]# \/opt\/oracle\/dcs\/bin\/odacli describe-component\r\nSystem Version\r\n---------------\r\n19.8.0.0.0\r\n\r\nSystem node Name\r\n---------------\r\nodat1\r\n\r\nLocal System Version\r\n---------------\r\n19.8.0.0.0\r\n\r\nComponent                                Installed Version    Available Version\r\n---------------------------------------- -------------------- --------------------\r\nOAK                                       19.8.0.0.0            up-to-date\r\n\r\nGI                                        19.8.0.0.200714       up-to-date\r\n\r\nDB {\r\n[ OraDB18000_home1 ]                      18.3.0.0.180717       18.11.0.0.200714\r\n[ OraDB12102_home1,OraDB12102_home2 ]     12.1.0.2.180717       12.1.0.2.200714\r\n[ OraDB11204_home1,OraDB11204_home2 ]     11.2.0.4.180717       11.2.0.4.200714\r\n}\r\n\r\nDCSAGENT                                  19.8.0.0.0            up-to-date\r\n\r\nILOM                                      4.0.4.52.r132805      up-to-date\r\n\r\nBIOS                                      30300200              up-to-date\r\n\r\nOS                                        7.8                   up-to-date\r\n\r\nFIRMWARECONTROLLER {\r\n[ c0 ]                                    4.650.00-7176         up-to-date\r\n[ c1,c2 ]                                 16.00.08.00           up-to-date\r\n}\r\n\r\nFIRMWAREEXPANDER                          001E                  up-to-date\r\n\r\nFIRMWAREDISK {\r\n[ c0d0,c0d1 ]                             A7E0                  up-to-date\r\n[ c1d0,c1d1,c1d2,c1d3,c1d4,c1d5,c1d6,     PD51                  up-to-date\r\nc1d7,c1d8,c1d9,c1d10,c1d11,c1d12,c1d13,\r\nc1d14,c1d15,c2d0,c2d1,c2d2,c2d3,c2d4,\r\nc2d5,c2d6,c2d7,c2d8,c2d9,c2d10,c2d11,\r\nc2d12,c2d13,c2d14,c2d15 ]\r\n[ c1d16,c1d17,c1d18,c1d19,c1d20,c1d21,    A29A                  up-to-date\r\nc1d22,c1d23,c2d16,c2d17,c2d18,c2d19,\r\nc2d20,c2d21,c2d22,c2d23 ]\r\n}\r\n\r\nHMP                                       2.4.5.0.1             up-to-date\r\n\r\nSystem node Name\r\n---------------\r\nodat2\r\n\r\nLocal System Version\r\n---------------\r\n19.8.0.0.0\r\n\r\nComponent                                Installed Version    Available Version\r\n---------------------------------------- -------------------- --------------------\r\nOAK                                       19.8.0.0.0            up-to-date\r\n\r\nGI                                        19.8.0.0.200714       up-to-date\r\n\r\nDB {\r\n[ OraDB18000_home1 ]                      18.3.0.0.180717       18.11.0.0.200714\r\n[ OraDB12102_home1,OraDB12102_home2 ]     12.1.0.2.180717       12.1.0.2.200714\r\n[ OraDB11204_home1,OraDB11204_home2 ]     11.2.0.4.180717       11.2.0.4.200714\r\n}\r\n\r\nDCSAGENT                                  19.8.0.0.0            up-to-date\r\n\r\nILOM                                      4.0.4.52.r132805      up-to-date\r\n\r\nBIOS                                      30300200              up-to-date\r\n\r\nOS                                        7.8                   up-to-date\r\n\r\nFIRMWARECONTROLLER {\r\n[ c0 ]                                    4.650.00-7176         up-to-date\r\n[ c1,c2 ]                                 16.00.08.00           up-to-date\r\n}\r\n\r\nFIRMWAREEXPANDER                          001E                  up-to-date\r\n\r\nFIRMWAREDISK {\r\n[ c0d0,c0d1 ]                             A7E0                  up-to-date\r\n[ c1d0,c1d1,c1d2,c1d3,c1d4,c1d5,c1d6,     PD51                  up-to-date\r\nc1d7,c1d8,c1d9,c1d10,c1d11,c1d12,c1d13,\r\nc1d14,c1d15,c2d0,c2d1,c2d2,c2d3,c2d4,\r\nc2d5,c2d6,c2d7,c2d8,c2d9,c2d10,c2d11,\r\nc2d12,c2d13,c2d14,c2d15 ]\r\n[ c1d16,c1d17,c1d18,c1d19,c1d20,c1d21,    A29A                  up-to-date\r\nc1d22,c1d23,c2d16,c2d17,c2d18,c2d19,\r\nc2d20,c2d21,c2d22,c2d23 ]\r\n}\r\n\r\nHMP                                       2.4.5.0.1             up-to-date\r\n\r\n\r\n[root@odat1 ~]#<\/pre>\n<p style=\"text-align: justify;\">Even if everything is up-to-date we can call <em>odacli update-storage<\/em> to patch everything:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 ~]# \/opt\/oracle\/dcs\/bin\/odacli update-storage -v 19.8.0.0.0\r\n{\r\n  \"jobId\" : \"cf7e78b9-c476-4f65-964a-0126e9a4d1f3\",\r\n  \"status\" : \"Created\",\r\n  \"message\" : \"Success of Storage Update may trigger reboot of node after 4-5 minutes. Please wait till node restart\",\r\n  \"reports\" : [ ],\r\n  \"createTimestamp\" : \"August 06, 2020 21:27:49 PM CEST\",\r\n  \"resourceList\" : [ ],\r\n  \"description\" : \"Storage Firmware Patching\",\r\n  \"updatedTime\" : \"August 06, 2020 21:27:49 PM CEST\"\r\n}\r\n[root@odat1 ~]#<\/pre>\n<p style=\"text-align: justify;\">And we can follow the jobID:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@odat1 ~]# \/opt\/oracle\/dcs\/bin\/odacli describe-job -i \"cf7e78b9-c476-4f65-964a-0126e9a4d1f3\"\r\n\r\nJob details\r\n----------------------------------------------------------------\r\n                     ID:  cf7e78b9-c476-4f65-964a-0126e9a4d1f3\r\n            Description:  Storage Firmware Patching\r\n                 Status:  Success\r\n                Created:  August 6, 2020 9:27:49 PM CEST\r\n                Message:\r\n\r\nTask Name                                Start Time                          End Time                            Status\r\n---------------------------------------- ----------------------------------- ----------------------------------- ----------\r\nApplying Firmware Disk Patches           August 6, 2020 9:32:08 PM CEST      August 6, 2020 9:34:38 PM CEST      Success\r\nApplying Firmware Controller Patches     August 6, 2020 9:34:52 PM CEST      August 6, 2020 9:35:07 PM CEST      Success\r\npreRebootNode Actions                    August 6, 2020 9:35:08 PM CEST      August 6, 2020 9:35:08 PM CEST      Success\r\npreRebootNode Actions                    August 6, 2020 9:35:08 PM CEST      August 6, 2020 9:35:08 PM CEST      Success\r\nReboot Ilom                              August 6, 2020 9:35:09 PM CEST      August 6, 2020 9:35:09 PM CEST      Success\r\nReboot Ilom                              August 6, 2020 9:35:09 PM CEST      August 6, 2020 9:35:09 PM CEST      Success\r\n\r\n[root@odat1 ~]#<\/pre>\n<p style=\"text-align: justify;\">After it finishes, the ODA nodes will reboot again. To reboot be effective maybe you need to wait 10 minutes or more.<\/p>\n<p style=\"text-align: justify;\">And after the reboot, you can see that everything is up-to-date using <em>odacli update-storage.<\/em><\/p>\n<p style=\"text-align: justify;\">&nbsp;<\/p>\n<p style=\"text-align: justify;\"><strong>Disclaimer<\/strong>: <em>\u201cThe postings on this site are my own and don\u2019t necessarily represent my actual employer positions, strategies or opinions. The information here was edited to be useful for general purpose, specific data and identifications were removed to allow reach the generic audience and to be useful for the community. Post protected by copyright.\u201d<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The process of patch ODA is not complicated but requires attention over some steps. The 19.6 version was the first that was possible to patch from 18.8 version, and the version that allows upgrades to newer. If you want to go directly to 19.5 you need to reimage of the appliance. In this post, I [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[29,77,78,5,14,12],"tags":[100,79,65,135,124],"class_list":["post-792","post","type-post","status-publish","format-standard","hentry","category-database","category-engineeredsystems","category-oda","category-oracle","category-update","category-upgrade","tag-engineered-systems","tag-oda","tag-oracle","tag-patch","tag-upgrade"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Patch ODA from 18.3 to 19.8. Part 4 \u2013 19.7 to 19.8 - Fernando Simon<\/title>\n<meta name=\"description\" content=\"How to upgrade ODA from 19.7 to 19.9. All patch steps covered: odacli, GI, and all errors and known issues covered in detail.\" \/>\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.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Patch ODA from 18.3 to 19.8. Part 4 \u2013 19.7 to 19.8 - Fernando Simon\" \/>\n<meta property=\"og:description\" content=\"How to upgrade ODA from 19.7 to 19.9. All patch steps covered: odacli, GI, and all errors and known issues covered in detail.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/\" \/>\n<meta property=\"og:site_name\" content=\"Fernando Simon\" \/>\n<meta property=\"article:published_time\" content=\"2020-09-28T21:39:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/08\/19cmatrix.jpg\" \/>\n<meta name=\"author\" content=\"Simon\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Simon\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"25 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/\"},\"author\":{\"name\":\"Simon\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9\"},\"headline\":\"Patch ODA from 18.3 to 19.8. Part 4 \u2013 19.7 to 19.8\",\"datePublished\":\"2020-09-28T21:39:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/\"},\"wordCount\":1240,\"commentCount\":1,\"image\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/08\/19cmatrix.jpg\",\"keywords\":[\"Engineered Systems\",\"ODA\",\"Oracle\",\"Patch\",\"Upgrade\"],\"articleSection\":[\"Database\",\"Engineered Systems\",\"ODA\",\"Oracle\",\"Update\",\"Upgrade\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/\",\"url\":\"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/\",\"name\":\"Patch ODA from 18.3 to 19.8. Part 4 \u2013 19.7 to 19.8 - Fernando Simon\",\"isPartOf\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/08\/19cmatrix.jpg\",\"datePublished\":\"2020-09-28T21:39:37+00:00\",\"author\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9\"},\"description\":\"How to upgrade ODA from 19.7 to 19.9. All patch steps covered: odacli, GI, and all errors and known issues covered in detail.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/#primaryimage\",\"url\":\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/08\/19cmatrix.jpg\",\"contentUrl\":\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/08\/19cmatrix.jpg\",\"width\":963,\"height\":505},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.fernandosimon.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Patch ODA from 18.3 to 19.8. Part 4 \u2013 19.7 to 19.8\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#website\",\"url\":\"https:\/\/www.fernandosimon.com\/blog\/\",\"name\":\"Fernando Simon\",\"description\":\"Have you hugged your backup today?\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.fernandosimon.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9\",\"name\":\"Simon\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g\",\"caption\":\"Simon\"},\"sameAs\":[\"http:\/\/www.fernandosimon.com\"],\"url\":\"https:\/\/www.fernandosimon.com\/blog\/author\/simon\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Patch ODA from 18.3 to 19.8. Part 4 \u2013 19.7 to 19.8 - Fernando Simon","description":"How to upgrade ODA from 19.7 to 19.9. All patch steps covered: odacli, GI, and all errors and known issues covered in detail.","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.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/","og_locale":"en_US","og_type":"article","og_title":"Patch ODA from 18.3 to 19.8. Part 4 \u2013 19.7 to 19.8 - Fernando Simon","og_description":"How to upgrade ODA from 19.7 to 19.9. All patch steps covered: odacli, GI, and all errors and known issues covered in detail.","og_url":"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/","og_site_name":"Fernando Simon","article_published_time":"2020-09-28T21:39:37+00:00","og_image":[{"url":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/08\/19cmatrix.jpg","type":"","width":"","height":""}],"author":"Simon","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Simon","Est. reading time":"25 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/#article","isPartOf":{"@id":"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/"},"author":{"name":"Simon","@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9"},"headline":"Patch ODA from 18.3 to 19.8. Part 4 \u2013 19.7 to 19.8","datePublished":"2020-09-28T21:39:37+00:00","mainEntityOfPage":{"@id":"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/"},"wordCount":1240,"commentCount":1,"image":{"@id":"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/#primaryimage"},"thumbnailUrl":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/08\/19cmatrix.jpg","keywords":["Engineered Systems","ODA","Oracle","Patch","Upgrade"],"articleSection":["Database","Engineered Systems","ODA","Oracle","Update","Upgrade"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/","url":"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/","name":"Patch ODA from 18.3 to 19.8. Part 4 \u2013 19.7 to 19.8 - Fernando Simon","isPartOf":{"@id":"https:\/\/www.fernandosimon.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/#primaryimage"},"image":{"@id":"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/#primaryimage"},"thumbnailUrl":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/08\/19cmatrix.jpg","datePublished":"2020-09-28T21:39:37+00:00","author":{"@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9"},"description":"How to upgrade ODA from 19.7 to 19.9. All patch steps covered: odacli, GI, and all errors and known issues covered in detail.","breadcrumb":{"@id":"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/#primaryimage","url":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/08\/19cmatrix.jpg","contentUrl":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/08\/19cmatrix.jpg","width":963,"height":505},{"@type":"BreadcrumbList","@id":"https:\/\/www.fernandosimon.com\/blog\/patch-oda-from-18-3-to-19-8-part-4-19-7-to-19-8\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.fernandosimon.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Patch ODA from 18.3 to 19.8. Part 4 \u2013 19.7 to 19.8"}]},{"@type":"WebSite","@id":"https:\/\/www.fernandosimon.com\/blog\/#website","url":"https:\/\/www.fernandosimon.com\/blog\/","name":"Fernando Simon","description":"Have you hugged your backup today?","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.fernandosimon.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9","name":"Simon","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g","caption":"Simon"},"sameAs":["http:\/\/www.fernandosimon.com"],"url":"https:\/\/www.fernandosimon.com\/blog\/author\/simon\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5ofTp-cM","_links":{"self":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/posts\/792","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/comments?post=792"}],"version-history":[{"count":0,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/posts\/792\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/media?parent=792"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/categories?post=792"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/tags?post=792"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}