{"id":720,"date":"2020-04-13T17:32:17","date_gmt":"2020-04-13T20:32:17","guid":{"rendered":"http:\/\/www.fernandosimon.com\/blog\/?p=720"},"modified":"2020-07-19T19:09:26","modified_gmt":"2020-07-19T22:09:26","slug":"zdlra-patch-the-recovery-appliance","status":"publish","type":"post","link":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/","title":{"rendered":"ZDLRA, Patch the Recovery Appliance"},"content":{"rendered":"<p style=\"text-align: justify;\">The proceed to patch\/upgrade ZDLRA is not complicated, but as usual, some details need to be checked before starting the procedure. Since it is one engineering system based at Exadata, the procedure has one part that (maybe) needs to upgrade this stack too. But, is possible to upgrade just the recovery appliance library.<\/p>\n<p style=\"text-align: justify;\">Whatever if need or no to upgrade the Exadata stack, the upgrade for recovery appliance library is the same. The commands and checks are the same. The procedure described in this post cover the upgrade of the recovery appliance library. For Exadata stack, it is in another post.<\/p>\n<h2 style=\"text-align: justify;\">Where we are<\/h2>\n<p style=\"text-align: justify;\">Before even start the patch\/upgrade it is important to know exactly which version you are running. To do this execute the command racli version at you database node:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"no-highlight\">[root@zeroinsg01 ~]# racli version\r\nRecovery Appliance Version:\r\n        exadata image: 19.2.3.0.0.190621\r\n        rarpm version: ra_automation-12.2.1.1.2.201907-30111072.x86_64\r\n        rdbms version: RDBMS_12.2.0.1.0_LINUX.X64_RELEASE\r\n        transaction  : kadjei_julpsu_ip2\r\n        zdlra version: ZDLRA_12.2.1.1.2.201907_LINUX.X64_RELEASE\r\n[root@zeroinsg01 ~]#<\/pre>\n<p style=\"text-align: justify;\">With this, we can discover the ZDLRA version running (12.2.1.1.2.201907 in this case), and the Exadata image version (19.2.3.0.0.190621).<\/p>\n<p style=\"text-align: justify;\"><!--more Click here to read more...--><\/p>\n<h2 style=\"text-align: justify;\">Supported versions<\/h2>\n<p style=\"text-align: justify;\">Whatever what it is needed to upgrade, the startup point it is the <a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocContentDisplay?id=1927416.1\" target=\"_blank\" rel=\"noopener noreferrer\">note 1927416.1<\/a> that cover the supported versions for ZDLRA. There it is possible to find all the supported versions for the recovery appliance library as well as the Exadata versions. Please, not upgrade the Exadata stack with a version that is not listed on this page.<\/p>\n<p style=\"text-align: justify;\">In the note, it is possible to choose what version is the target. Here in this post, my target version is 19.2.1.1.1-202001-31014797, <a href=\"https:\/\/support.oracle.com\/epmos\/faces\/ui\/patch\/PatchDetail.jspx?parent=DOCUMENT&amp;sourceId=1927416.1&amp;patchId=31014797\" target=\"_blank\" rel=\"noopener noreferrer\">patch 31014797 (Patch 31014797: ZDLRA 19.2.1.1.1.202001 (JAN) INTERIM PATCH 3)<\/a>. So, with this is possible to check what we can use and do. The first thing to check is the compatibility matrix between the ZDLRA version and the Exadata version.<\/p>\n<p style=\"text-align: justify;\">Since we know the version that we are running at our Exadata image and the version that we want to go as ZDLRA, we can see if we are compatible.<\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/ZDLRA-PATCH-02.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-721 size-full\" src=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/ZDLRA-PATCH-02.png\" alt=\"\" width=\"1541\" height=\"572\" srcset=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/ZDLRA-PATCH-02.png 1541w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/ZDLRA-PATCH-02-300x111.png 300w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/ZDLRA-PATCH-02-1024x380.png 1024w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/ZDLRA-PATCH-02-768x285.png 768w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/ZDLRA-PATCH-02-1536x570.png 1536w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/ZDLRA-PATCH-02-624x232.png 624w\" sizes=\"auto, (max-width: 1541px) 100vw, 1541px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Look the image above, it is marked the versions that are the target, and the Exadata that is actually running. And as you can see, this pair is supported, and we can continue. But before, some details.<\/p>\n<p style=\"text-align: justify;\">It can occur that when you are jumping a lot of versions that you need to upgrade more than one version. Maybe it is possible that you need to first apply one intermediate version of Exadata Software or ZDLRA before you reach your desired version.<\/p>\n<p style=\"text-align: justify;\">Another thing that you need to take care of is the switch version for your Exadata.&nbsp; Again, if you are jumping a lot of versions, maybe you need to upgrade the InfiniBand\/RCoE more than one time, first to intermediate version and after to the desired one.<\/p>\n<h2 style=\"text-align: justify;\">Who does what?<\/h2>\n<p style=\"text-align: justify;\">Different from Exadata Patch for Oracle Home and Grid Infrastructure (where you are responsible to apply the patches for them), it is ZDLRA itself that upgrades OH and GI. So, the patch\/upgrade for ZDLRA includes the needed PSU\u2019s for GI and OH.<\/p>\n<p style=\"text-align: justify;\">But it is fundamental to check the readme of the ZDLRA release that will be applied. In this case, since the actual version for GI and OH is 12.2 and the target is 19c (for both), some details need to be checked because the requirements need to be ok.<\/p>\n<p style=\"text-align: justify;\">In this case, the readme can be used as a guide, but also de default documentation for GI update and upgrade docs can be used too. The ZDLRA patch will fix\/set some parameters for the operational system, but this does not cover all the corners.<\/p>\n<p style=\"text-align: justify;\"><strong>It is important to say\/write that if something is wrong with the system, it is a requirement to open SR to the ZDLRA team. ZDLRA is one engineering system more closed than Exadata, every change needs to be validated previously. <\/strong><\/p>\n<p style=\"text-align: justify;\">The ZDLRA patch will run the cluvfy for GI and this will point what needs to be fixed. One example of something that needs to fix previously is the HAIP. It needs to be removed. I wrote one post on how to do that, you can access it <a href=\"https:\/\/www.fernandosimon.com\/blog\/exadata-and-zdlra-disable-haip\/\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.<\/p>\n<p style=\"text-align: justify;\">Since this patch\/upgrade will do the GI upgrade from 12.2 to 19c we can use the note <a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocContentDisplay?id=2542082.1\" target=\"_blank\" rel=\"noopener noreferrer\">2542082.1<\/a> as a base to do a crosscheck if something is needed to be fixed when (or if) pointed by cluvfy. Some examples are hugepages that need to be increased, and NTP that need to clean some file that remains in the system.<\/p>\n<p style=\"text-align: justify;\">The idea to do the crosscheck manually previously is avoiding errors during the racli upgrade. One example for HAIP:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"no-highlight\">[root@zeroinsg01 ~]# \/opt\/oracle.RecoveryAppliance\/bin\/racli upgrade appliance --step=2;\r\nCreated log \/opt\/oracle.RecoveryAppliance\/log\/racli_upgrade_appliance.log\r\n\r\nStep [2 of 5]: &lt;racli upgrade appliance&gt;\r\n\r\nMon Dec  9 13:20:16 2019: Start: Upgrade Recovery Appliance - Step [PreCheck]\r\n...\r\n...\r\nMon Dec  9 13:40:32 2019: Failed: Cluster Pre Check -\r\nVerifying Physical Memory \r\n...\r\nVerifying Kernel retpoline support ...PASSED\r\n\r\nPre-check for cluster services setup was unsuccessful.\r\nChecks did not pass for the following nodes:\r\n        zeroinsg02,zeroinsg01\r\n\r\n\r\nFailures were encountered during execution of CVU verification request \"stage -pre crsinst\".\r\n\r\nVerifying Node Connectivity ...FAILED\r\nzeroinsg02: PRVG-11068 : Highly Available IP (HAIP) is enabled on the nodes\r\n            \"zeroinsg01,zeroinsg02\".\r\n\r\nzeroinsg01: PRVG-11068 : Highly Available IP (HAIP) is enabled on the nodes\r\n            \"zeroinsg01,zeroinsg02\".\r\n\r\nVerifying RPM Package Manager database ...INFORMATION\r\nPRVG-11250 : The check \"RPM Package Manager database\" was not performed because\r\nit needs 'root' user privileges.\r\n\r\n\r\nCVU operation performed:      stage -pre crsinst\r\nDate:                         Dec 9, 2019 1:38:46 PM\r\nCVU home:                     \/u01\/app\/19.0.0.0\/grid\/\r\nUser:                         oracle\r\n Failed: 1 ()\r\n at \/u01\/app\/oracle\/product\/12.2.0.1\/dbhome_1\/perl\/lib\/site_perl\/5.22.0\/RA\/Install.pm line 1417.\r\n[root@zeroinsg01 ~]#<\/pre>\n<h2 style=\"text-align: justify;\">Patching\/Upgrading<\/h2>\n<h3 style=\"text-align: justify;\">1 &#8211; Download the release<\/h3>\n<p style=\"text-align: justify;\">Depending on what you need or want to upgrade you need to download one or more patches. For this post, I will use just the recovery appliance rpm.<\/p>\n<p style=\"text-align: justify;\">So, the first was to download the patch Recovery Appliance 19.2.1.1.1-202001-31014797:<\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/Patch-Needed.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-722 size-full\" src=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/Patch-Needed.png\" alt=\"\" width=\"1285\" height=\"660\" srcset=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/Patch-Needed.png 1285w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/Patch-Needed-300x154.png 300w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/Patch-Needed-1024x526.png 1024w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/Patch-Needed-768x394.png 768w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/Patch-Needed-624x320.png 624w\" sizes=\"auto, (max-width: 1285px) 100vw, 1285px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">This release contains all the PSU\u2019s and patchsets needed for the upgrade (if needed). But one detail is needed to download base release (for GI and OH) if you are upgrading the version of ZDLRA.<\/p>\n<p>Reading the readme of the Recovery Appliance patch we can see that it will upgrade the GI and OH to 19c. <strong>The patch for ZDLRA includes just the PSU\u2019s, it does not contain the initial release of the GI 19c and OH 19c<\/strong>. You need to download it separately.<\/p>\n<p style=\"text-align: justify;\">In this post, I will do that. So, it is needed to download the packages for the RDBMS Binary zip file (V982063-01.zip) and Grid Binary zip file (V982068-01.zip) from <a href=\"https:\/\/edelivery.oracle.com\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/edelivery.oracle.com<\/a>. If you do not download it, you will receive an error when trying to do the patch.<\/p>\n<h3 style=\"text-align: justify;\">2- Where put the files<\/h3>\n<p style=\"text-align: justify;\"><strong>All the files for ZDLRA needs to be stored at \/radump at the database server node 01.<\/strong> It is fixed in the procedure and it is a requirement.<\/p>\n<p style=\"text-align: justify;\">As best practices, I recommend that before copy the new files, remove all older patches from \/radump <strong>in both nodes<\/strong>. And this include files that are inside the ZDLRA patch (like ra_init_param_check.pl, load_init_param.sh, load_init_param.pl, &nbsp;dbmsrsadm.sql, dbmsrsadmpreq.sql, prvtrsadm.sql, ra_preinstall.pl).<\/p>\n<p style=\"text-align: justify;\">So, I copied the files from my NFS to \/radump:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"no-highlight\">[oracle@zeroinsg01 ~]$ cd \/radump\/\r\n[oracle@zeroinsg01 radump]$\r\n[oracle@zeroinsg01 radump]# cp \/tmp\/zfs\/EXADATA_PATCHING\/19c\/Exadata-Patch\/19c-Grid\/V982068-01.zip \/radump\/\r\n[oracle@zeroinsg01 radump]# cp \/tmp\/zfs\/EXADATA_PATCHING\/19c\/Exadata-Patch\/19c-OH\/V982063-01.zip \/radump\/\r\n[oracle@zeroinsg01 radump]$ cp \/tmp\/zfs\/ZDLRA_PATCHING\/19.2.1.1.1-202001-31014797\/p31014797_192111_Linux-x86-64.zip \/radump\/\r\n[oracle@zeroinsg01 radump]$<\/pre>\n<p style=\"text-align: justify;\">Files copied:<\/p>\n<ul style=\"text-align: justify;\">\n<li>GI Binary installation.<\/li>\n<li>OH Binary installation.<\/li>\n<li>ZDLRA RPM.<\/li>\n<\/ul>\n<h3 style=\"text-align: justify;\">3 &#8211; Unzip<\/h3>\n<p style=\"text-align: justify;\">After copy to \/radump, it is necessary to unzip the ZDLRA release. Only this needs to be unzipped.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"no-highlight\">[oracle@zeroinsg01 radump]$ unzip p31014797_192111_Linux-x86-64.zip\r\nArchive:  p31014797_192111_Linux-x86-64.zip\r\n  inflating: set_env.sh\r\n extracting: p6880880_180000_Linux-x86-64.zip\r\n  inflating: dbmsrsadmpreq.sql\r\n  inflating: dbmsrsadm.sql\r\n  inflating: prvtrsadm.sql\r\n  inflating: create_raoratab.pl\r\n  inflating: create_raoratab.sh\r\n  inflating: get_versions.pl\r\n  inflating: get_versions.sh\r\nreplace ra_init_param_check.pl? [y]es, [n]o, [A]ll, [N]one, [r]ename: A\r\n  inflating: ra_init_param_check.pl\r\n  inflating: ra_init_param_check.sh\r\n  inflating: ra_precheck.pl\r\n  inflating: ra_precheck.sh\r\n  inflating: ra_preinstall.pl\r\n  inflating: ra_automation-19.2.1.1.1.202001-31014797.x86_64.rpm\r\n  inflating: run_set_env.sh\r\n extracting: p28279612_190000_Linux-x86-64.zip\r\n extracting: p29232533_190000_Linux-x86-64.zip\r\n extracting: p29708769_190000_Linux-x86-64.zip\r\n extracting: p29908639_190000_Linux-x86-64.zip\r\n extracting: p30143796_190000_Linux-x86-64.zip\r\n extracting: p30143796_194000DBRU_Linux-x86-64.zip\r\n extracting: p30312546_190000_Linux-x86-64.zip\r\n  inflating: README.txt\r\n[oracle@zeroinsg01 radump]$ logout\r\n[root@zeroinsg01 ~]#<\/pre>\n<p style=\"text-align: justify;\">As you can see, the patch contains all PSU\u2019s for GI and DB.<\/p>\n<h3 style=\"text-align: justify;\">4 &#8211; RA_PREINSTALL<\/h3>\n<p style=\"text-align: justify;\">The next step is executed as root the preinstall in the first node only. This step copy the ZDLRA binaries files to \/opt\/oracle.RecoveryAppliance\/ folder (in both nodes).<\/p>\n<p style=\"text-align: justify;\">Besides that, it removes the old RPM library and install the new version and prepare the system to the new version. The changes usually are small in this phase (like crontab, oratab, and environment variables).<\/p>\n<p style=\"text-align: justify;\">To do the preinstall you need to execute the command \u201cperl ra_preinstall.pl\u201d as root, and inside \/radump folder.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"no-highlight\">[root@zeroinsg01 ~]# cd \/radump\/\r\n[root@zeroinsg01 radump]#\r\n[root@zeroinsg01 radump]# perl ra_preinstall.pl\r\nStart: Running ra_preinstall.pl on zeroinsg01.\r\nNOTE:\r\n    Current deployed RPM [ra_automation-12.2.1.1.2.201907-30111072.x86_64.rpm] not found!\r\n    If you continue without an old RPM, rollback will not be possible.\r\n    Refer to the README.txt included in this ZDLRA Patch for more details.\r\n\r\n    Do you want to continue? (y|n):  y\r\nNote:\r\n    The ra_preinstall.pl manages the ra_automation RPM,\r\n    and provides a --rollback option.\r\n    The RPM is updated during ra preinstall. Rollback is feasible if the old rpm is found.\r\n    You do not need to update RPM separately.\r\n\r\n    Refer to the README.txt included in this ZDLRA Patch for more details.\r\n\r\n    Do you want to continue (y|n):  y\r\nDeployed RPM:  ZDLRA_12.2.1.1.2.201907_LINUX.X64_RELEASE\r\nInstalled RPM: ZDLRA_12.2.1.1.2.201907_LINUX.X64_RELEASE\r\nRPM matches.\r\nFuse group already exists. Skipping.\r\nStart Update sshd_config\r\nEnd Update sshd_config\r\nEnd: Running ra_preinstall.pl on zeroinsg01.\r\nCopying ra_preinstall.pl, create_raoratab.* and new RPM to remote node zeroinsg02. Password may be required to connect.\r\nra_preinstall.pl                                                                                                                    100%   42KB  49.6MB\/s   00:00\r\ncreate_raoratab.pl                                                                                                                  100% 3251     6.9MB\/s   00:00\r\ncreate_raoratab.sh                                                                                                                  100%  991     3.2MB\/s   00:00\r\nrun_set_env.sh                                                                                                                      100% 1000     3.6MB\/s   00:00\r\nset_env.sh                                                                                                                          100% 2420     9.0MB\/s   00:00\r\nra_automation-19.2.1.1.1.202001-31014797.x86_64.rpm                                                                                 100%  668MB 315.8MB\/s   00:02\r\nCreated log \/opt\/oracle.RecoveryAppliance\/log\/create_raoratab.log\r\nStart: Running ra_preinstall.pl on zeroinsg02.\r\nFuse group already exists. Skipping.\r\nStart Update sshd_config\r\nEnd Update sshd_config\r\nEnd: Running ra_preinstall.pl on zeroinsg02.\r\nStart Restart sshd\r\nEnd Restart sshd\r\nStart: Check Init Parameters\r\nCreated log file \/opt\/oracle.RecoveryAppliance\/log\/ra_init_param_check.log\r\nAll init parameters have been validated.\r\nEnd: Check Init Parameters\r\nStart: Remove current RPM and install new RPM on zeroinsg01.\r\nEnd: Remove current RPM and install new RPM on zeroinsg01.\r\nStart: Remove current RPM and install new RPM on zeroinsg02.\r\nEnd: Remove current RPM and install new RPM on zeroinsg02.\r\nCreated log \/opt\/oracle.RecoveryAppliance\/log\/raprecheck.log\r\nStart: Run Pre check for Upgrade\r\nFri Apr  3 14:34:57 2020: Start: Check ZDLRA Services\r\nFri Apr  3 14:34:59 2020: End: Check ZDLRA Services\r\nFri Apr  3 14:34:59 2020: Start: Check ASM rebalance\r\nFri Apr  3 14:34:59 2020: End: Check ASM rebalance\r\nFri Apr  3 14:34:59 2020: Start: Check Cluster\r\nFri Apr  3 14:36:07 2020: End: Check Cluster\r\nFri Apr  3 14:36:13 2020: Start: Check Open Incidents\r\nFri Apr  3 14:36:13 2020: End: Check Open Incidents\r\nFri Apr  3 14:36:13 2020: Start: Check Invalid Objects\r\nFri Apr  3 14:36:15 2020: End: Check Invalid Objects\r\nFri Apr  3 14:36:15 2020: Start: Check Init Parameters\r\nFri Apr  3 14:36:16 2020: End: Check Init Parameters\r\nFri Apr  3 14:36:16 2020: Start: Check compute node oracle access\r\nFri Apr  3 14:36:16 2020: End: Check compute node oracle access\r\nEnd: Run Pre check for Upgrade\r\nStart Restart sshd\r\n\r\n\r\n!!!NOTE!!!\r\n\r\nExit and log back into [zeroinsg01] prior to continuing\r\n\r\n\r\n!!!NOTE!!!\r\n\r\nEnd Restart sshd\r\n[root@zeroinsg01 radump]#<\/pre>\n<p style=\"text-align: justify;\"><strong>The ra_preinstall.pl resides in \/radump file.<\/strong><\/p>\n<p style=\"text-align: justify;\">Crucial, after the successful execution, exit from the current session and open a new one. This is important because the execution changes some environment variables and is needs to continue the next steps with a clean environment.<\/p>\n<p style=\"text-align: justify;\">Be careful that it is not recommended to restart this ZDLRA after this moment. If you think about it, the binaries were changed in some folder, and the libraries\/RPM too. But, the database itself was not upgraded. Of course, that library supposes to be\/have interoperability, but if it is possible to avoid the problem, it is desired.<\/p>\n<h3 style=\"text-align: justify;\">5 &#8211; Cleaning incidents<\/h3>\n<p style=\"text-align: justify;\">The upgrade process of ZDLRA will check the internal tables to verify open incidents (rasys.ra_incident_log) and will stop if you have some. It is possible to use the ignore flag, but you can clean it.<\/p>\n<p style=\"text-align: justify;\">To do that, it is used the procedure <em>rdbms_ra.reset_error<\/em>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"no-highlight\">SQL&gt; set linesize 250\r\nSQL&gt; col FIRST_SEEN format a35\r\nSQL&gt; col LAST_SEEN format a35\r\nSQL&gt; select db_key, db_unique_name, incident_id, task_id, component, status, first_seen, last_seen from ra_incident_log where status = 'ACTIVE' order by last_seen;\r\n\r\n    DB_KEY DB_UNIQUE_NAME   INCIDENT_ID    TASK_ID COMPONENT                      STATUS FIRST_SEEN                          LAST_SEEN\r\n---------- ---------------- ----------- ---------- ------------------------------ ------ ----------------------------------- -----------------------------------\r\n  35221889 ORADBOR1            62631581   62631963 PURGE                          ACTIVE 29-FEB-20 05.02.18.337256 AM +01:00 29-FEB-20 05.02.19.496775 AM +01:00\r\n  17013626 ORADBOR2            63263667   63263348 PURGE                          ACTIVE 13-MAR-20 08.29.30.942252 AM +01:00 13-MAR-20 08.29.31.454871 AM +01:00\r\n  16103868 ORADBOR3            61956897   65037370 RESTORE_RANGE_REFRESH          ACTIVE 13-FEB-20 10.32.43.517689 AM +01:00 03-APR-20 02.06.50.383659 PM +02:00\r\n  16664140 ORADBOR4            64982290   65037380 RESTORE_RANGE_REFRESH          ACTIVE 02-APR-20 12.23.54.004022 PM +02:00 03-APR-20 02.06.50.981807 PM +02:00\r\n  35222117 ORADBOR5            59763932   65037420 RESTORE_RANGE_REFRESH          ACTIVE 09-DEC-19 12.38.48.811749 PM +01:00 03-APR-20 02.06.55.401646 PM +02:00\r\n  23187808 ORADBOR6            61488051   65037453 RESTORE_RANGE_REFRESH          ACTIVE 31-JAN-20 10.39.56.704797 AM +01:00 03-APR-20 02.07.00.579596 PM +02:00\r\n  39315676 ORADBOR7            61461052   65037444 RESTORE_RANGE_REFRESH          ACTIVE 30-JAN-20 06.26.52.256764 PM +01:00 03-APR-20 02.07.01.429492 PM +02:00\r\n  39332095 ORADBOR8            51624234   65037439 RESTORE_RANGE_REFRESH          ACTIVE 20-MAY-19 05.48.12.051325 PM +02:00 03-APR-20 02.07.04.982031 PM +02:00\r\n\r\n8 rows selected.\r\n\r\nSQL&gt;\r\nSQL&gt; begin\r\n  2  dbms_ra.reset_error(62631581);\r\n  3  dbms_ra.reset_error(63263667);\r\n  4  dbms_ra.reset_error(61956897);\r\n  5  dbms_ra.reset_error(64982290);\r\n  6  dbms_ra.reset_error(59763932);\r\n  7  dbms_ra.reset_error(61488051);\r\n  8  dbms_ra.reset_error(61461052);\r\n  9  dbms_ra.reset_error(51624234);\r\n 10  end;\r\n 11  \/\r\n\r\nPL\/SQL procedure successfully completed.\r\n\r\nSQL&gt;<\/pre>\n<p style=\"text-align: justify;\">As you can see, the procedure received as parameter the value from column INCIDENT_ID. And I picked up all the incidents that are with status ACTIVE.<\/p>\n<h3 style=\"text-align: justify;\">6 &#8211; Upgrade appliance, step=1<\/h3>\n<p style=\"text-align: justify;\">The next step is the upgrade itself. It is not the case that previously changed nothing, but here the installation checks for node access, the path for installation folders, and the init parameter of the database. The other checks involve ASM if all disks are online aa an example.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"no-highlight\">[root@zeroinsg01 ~]# \/opt\/oracle.RecoveryAppliance\/bin\/racli upgrade appliance --step=1\r\nCreated log \/opt\/oracle.RecoveryAppliance\/log\/racli_upgrade_appliance.log\r\n\r\nStep [1 of 5]: &lt;racli upgrade appliance&gt;\r\n\r\nFri Apr  3 20:50:21 2020: Start: Upgrade Recovery Appliance - Step [PreCheck]\r\nFri Apr  3 20:50:22 2020: Start: Check ZDLRA Services\r\nFri Apr  3 20:50:24 2020: End: Check ZDLRA Services\r\nFri Apr  3 20:50:24 2020: Start: Check ASM rebalance\r\nFri Apr  3 20:50:24 2020: End: Check ASM rebalance\r\nFri Apr  3 20:50:24 2020: Start: Check Cluster\r\nFri Apr  3 20:51:28 2020: End: Check Cluster\r\nFri Apr  3 20:51:32 2020: Start: Check Open Incidents\r\nFri Apr  3 20:51:32 2020: End: Check Open Incidents\r\nFri Apr  3 20:51:32 2020: Start: Check Invalid Objects\r\nFri Apr  3 20:51:34 2020: End: Check Invalid Objects\r\nFri Apr  3 20:51:34 2020: Start: Check Init Parameters\r\nFri Apr  3 20:51:34 2020: End: Check Init Parameters\r\nFri Apr  3 20:51:35 2020: Start: Check compute node oracle access\r\nFri Apr  3 20:51:35 2020: End: Check compute node oracle access\r\nFri Apr  3 20:51:35 2020: Start: Check Patch Oracle Grid\r\nFri Apr  3 20:51:41 2020: End: Check Patch Oracle Grid\r\nFri Apr  3 20:51:41 2020: Start: Check Patch Oracle Database\r\nFri Apr  3 20:51:47 2020: End: Check Patch Oracle Database\r\nFri Apr  3 20:51:47 2020: End: Upgrade Recovery Appliance - Step [PreCheck]\r\n\r\nNext: &lt;racli upgrade appliance --step=2&gt;\r\n\r\n[root@zeroinsg01 ~]#<\/pre>\n<h3 style=\"text-align: justify;\">7 &#8211; Upgrade appliance, step=2<\/h3>\n<p style=\"text-align: justify;\">The next is step=2 for \u201cupgrade appliance\u201d. In this step, the process creates the folders for the new GI and OH (if need, like upgrade 12.2 to 19c), and also do the precheck for GI and OH.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"no-highlight\">[root@zeroinsg01 ~]# \/opt\/oracle.RecoveryAppliance\/bin\/racli upgrade appliance --step=2\r\nCreated log \/opt\/oracle.RecoveryAppliance\/log\/racli_upgrade_appliance.log\r\n\r\nStep [2 of 5]: &lt;racli upgrade appliance&gt;\r\n\r\nMon Apr  6 13:22:45 2020: Start: Upgrade Recovery Appliance - Step [PreCheck]\r\nMon Apr  6 13:22:46 2020: Start: Check ZDLRA Services\r\nMon Apr  6 13:22:48 2020: End: Check ZDLRA Services\r\nMon Apr  6 13:22:48 2020: Start: Check ASM rebalance\r\nMon Apr  6 13:22:48 2020: End: Check ASM rebalance\r\nMon Apr  6 13:22:48 2020: Start: Check Cluster\r\nMon Apr  6 13:23:56 2020: End: Check Cluster\r\nMon Apr  6 13:24:01 2020: Start: Check Open Incidents\r\nMon Apr  6 13:24:01 2020: End: Check Open Incidents\r\nMon Apr  6 13:24:01 2020: Start: Check Invalid Objects\r\nMon Apr  6 13:24:04 2020: End: Check Invalid Objects\r\nMon Apr  6 13:24:04 2020: Start: Check Init Parameters\r\nMon Apr  6 13:24:04 2020: End: Check Init Parameters\r\nMon Apr  6 13:24:04 2020: Start: Check compute node oracle access\r\nMon Apr  6 13:24:05 2020: End: Check compute node oracle access\r\nMon Apr  6 13:24:05 2020: Start: Check Patch Oracle Grid\r\nMon Apr  6 13:24:10 2020: End: Check Patch Oracle Grid\r\nMon Apr  6 13:24:10 2020: Start: Check Patch Oracle Database\r\nMon Apr  6 13:24:16 2020: End: Check Patch Oracle Database\r\nMon Apr  6 13:24:17 2020: End: Upgrade Recovery Appliance - Step [PreCheck]\r\nMon Apr  6 13:24:17 2020: Start: Upgrade Recovery Appliance - Step [Stage]\r\nMon Apr  6 13:25:09 2020: Unpack: DB Software - Started\r\nMon Apr  6 13:26:04 2020: Unpack: DB Software - Complete\r\nMon Apr  6 13:26:05 2020: Start: Unpack Patches\r\nMon Apr  6 13:27:41 2020: Start: Apply 29850993 to \/u01\/app\/19.0.0.0\/grid\r\nMon Apr  6 13:29:13 2020: End: Apply 29850993 to  \/u01\/app\/19.0.0.0\/grid\r\nMon Apr  6 13:29:13 2020: Start: Apply 29851014 to \/u01\/app\/19.0.0.0\/grid\r\nMon Apr  6 13:30:29 2020: End: Apply 29851014 to  \/u01\/app\/19.0.0.0\/grid\r\nMon Apr  6 13:30:29 2020: Start: Apply 29834717 to \/u01\/app\/19.0.0.0\/grid\r\nMon Apr  6 13:32:42 2020: End: Apply 29834717 to  \/u01\/app\/19.0.0.0\/grid\r\nMon Apr  6 13:32:42 2020: Start: Apply 29401763 to \/u01\/app\/19.0.0.0\/grid\r\nMon Apr  6 13:33:34 2020: End: Apply 29401763 to  \/u01\/app\/19.0.0.0\/grid\r\nMon Apr  6 13:33:34 2020: Start: Apply 30143796 to \/u01\/app\/19.0.0.0\/grid\r\nMon Apr  6 13:34:51 2020: End: Apply 30143796 to  \/u01\/app\/19.0.0.0\/grid\r\nMon Apr  6 13:34:51 2020: Start: Apply 30312546 to \/u01\/app\/19.0.0.0\/grid\r\nMon Apr  6 13:36:33 2020: End: Apply 30312546 to  \/u01\/app\/19.0.0.0\/grid\r\nMon Apr  6 13:36:45 2020: Start: Pre Upgrade Cluster Check\r\nMon Apr  6 13:38:32 2020: End: Pre Upgrade Cluster Check\r\nMon Apr  6 13:38:32 2020: Start: Update Limits\r\nMon Apr  6 13:38:32 2020: Skip raext already updated\r\nSkip root already updated\r\nHugePages already updated... Nothing to do.\r\nEnd: Update Limits\r\nMon Apr  6 13:38:32 2020: End: Upgrade Recovery Appliance - Step [Stage]\r\n\r\nNext: &lt;racli upgrade appliance --step=3&gt;\r\n\r\n[root@zeroinsg01 ~]#<\/pre>\n<p style=\"text-align: justify;\">If you follow the log you will see these lines:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"no-highlight\">[root@zeroinsg01 radump]# tail -f \/opt\/oracle.RecoveryAppliance\/log\/racli_upgrade_appliance.log\r\nMon Apr  6 13:24:23 2020: End: Create \/usr\/etc\/ob\/obnetconf on zeroinsg01.vel=error -l root zeroinsg01 \/bin\/echo \"my host useonly: 99.201.99.60\" &gt; \/usr\/etc\/ob\/obnetconf\r\nMon Apr  6 13:24:23 2020: End: Create IPv6 support Files.\r\nMon Apr  6 13:24:23 2020:       Start: on zeroinsg02.\r\nMon Apr  6 13:24:23 2020:       End: on zeroinsg02.\r\nMon Apr  6 13:24:23 2020:       Start: on zeroinsg01.\r\nMon Apr  6 13:24:23 2020:       End: on zeroinsg01.\r\nMon Apr  6 13:24:23 2020: Setup: Directory \/u01\/app\/19.0.0.0\/grid - Completed\r\nMon Apr  6 13:24:23 2020: Setup: Directory \/u01\/app\/19.0.0.0\/grid - Completed\r\nMon Apr  6 13:24:23 2020: Set Command '\/usr\/bin\/unzip -nuq \/radump\/\/V982068-01.zip -d \/u01\/app\/19.0.0.0\/grid' timeout to 900.\r\n...\r\n...\r\nMon Apr  6 13:26:42 2020: Copying \/\/radump\/\/patch\/ to zeroinsg02:\/\/radump\r\nMon Apr  6 13:27:41 2020: End: Sync staged patches\r\nMon Apr  6 13:27:41 2020: Start: Update OPatch\r\nMon Apr  6 13:27:41 2020: Set Command '\/opt\/oracle.RecoveryAppliance\/install\/deploy_opatch.sh \/u01\/app\/19.0.0.0\/grid \/radump\/\/p6880880_180000_Linux-x86-64.zip' timeout to 300.\r\n\r\nMon Apr  6 13:27:41 2020: End: Update OPatch\r\nMon Apr  6 13:27:41 2020: Start: Apply 29850993 to \/u01\/app\/19.0.0.0\/grid\r\nMon Apr  6 13:27:41 2020: Set Command '\/u01\/app\/19.0.0.0\/grid\/gridSetup.sh -applyOneOffs \/\/radump\/\/patch\/\/gi_opatchauto\/29708769\/29850993' timeout to 300.\r\n\r\nMon Apr  6 13:29:13 2020: End: Apply 29850993 to  \/u01\/app\/19.0.0.0\/grid\r\nMon Apr  6 13:29:13 2020: Start: Apply 29851014 to \/u01\/app\/19.0.0.0\/grid\r\nMon Apr  6 13:29:13 2020: Set Command '\/u01\/app\/19.0.0.0\/grid\/gridSetup.sh -applyOneOffs \/\/radump\/\/patch\/\/gi_opatchauto\/29708769\/29851014' timeout to 300.\r\n...\r\n...\r\nMon Apr  6 13:36:45 2020: Set Command '\/bin\/su  -  oracle -c '\/u01\/app\/19.0.0.0\/grid\/runcluvfy.sh stage -pre crsinst -upgrade -rolling -src_crshome \/u01\/app\/12.2.0.1\/grid -dest_crshome \/u01\/app\/19.0.0.0\/grid -dest_version 19.3.0.0.0 -fixupnoexec -verbose'' timeout to 900.\r\n\r\nMon Apr  6 13:38:32 2020: End: Pre Upgrade Cluster Check\r\nMon Apr  6 13:38:32 2020: Switching to UID: 1001, GID: 1001\r\nMon Apr  6 13:38:32 2020: Start: Update Limits\r\nMon Apr  6 13:38:32 2020: Set Command '\/opt\/oracle.RecoveryAppliance\/install\/update_memlock.sh ' timeout to 300.\r\n\r\nMon Apr  6 13:38:32 2020: Skip raext already updated\r\nSkip root already updated\r\nHugePages already updated... Nothing to do.\r\nEnd: Update Limits\r\nMon Apr  6 13:38:32 2020: Start: Getting Remote Nodes.\r\nMon Apr  6 13:38:32 2020: End: Gathered Remote Nodes.\r\nMon Apr  6 13:38:32 2020:       Start: on zeroinsg02.\r\nMon Apr  6 13:38:32 2020:       End: on zeroinsg02.\r\nMon Apr  6 13:38:32 2020: End: Upgrade Recovery Appliance - Step [Stage]\r\nMon Apr  6 13:38:32 2020: End: RunLevel 1000\r\nMon Apr  6 13:38:32 2020: Start: RunLevel 2000\r\n<\/pre>\n<h3 style=\"text-align: justify;\">8 &#8211; Upgrade appliance, step=3<\/h3>\n<p style=\"text-align: justify;\">The next step is literally the upgrade of the ZDLRA database, catalog, and move to new binaries for GI and OH (if needed). The procedure is the same than before, just changing the value of the step:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"no-highlight\">[root@zeroinsg01 ~]# \/opt\/oracle.RecoveryAppliance\/bin\/racli upgrade appliance --step=3\r\nCreated log \/opt\/oracle.RecoveryAppliance\/log\/racli_upgrade_appliance.log\r\n\r\nStep [3 of 5]: &lt;racli upgrade appliance&gt;\r\n\r\nMon Apr  6 13:40:13 2020: Start: Upgrade Recovery Appliance - Step [Upgrade]\r\nMon Apr  6 13:40:13 2020: Start: Upgrade Recovery Appliance - Step [PreCheck]\r\nMon Apr  6 13:40:13 2020: Start: Check ZDLRA Services\r\nMon Apr  6 13:40:15 2020: End: Check ZDLRA Services\r\nMon Apr  6 13:40:15 2020: Start: Check ASM rebalance\r\nMon Apr  6 13:40:15 2020: End: Check ASM rebalance\r\nMon Apr  6 13:40:15 2020: Start: Check Cluster\r\nMon Apr  6 13:41:23 2020: End: Check Cluster\r\nMon Apr  6 13:41:27 2020: Start: Check Open Incidents\r\nMon Apr  6 13:41:27 2020: End: Check Open Incidents\r\nMon Apr  6 13:41:27 2020: Start: Check Invalid Objects\r\nMon Apr  6 13:41:28 2020: End: Check Invalid Objects\r\nMon Apr  6 13:41:28 2020: Start: Check Init Parameters\r\nMon Apr  6 13:41:29 2020: End: Check Init Parameters\r\nMon Apr  6 13:41:29 2020: Start: Check compute node oracle access\r\nMon Apr  6 13:41:30 2020: End: Check compute node oracle access\r\nMon Apr  6 13:41:30 2020: Start: Check Patch Oracle Grid\r\nMon Apr  6 13:41:35 2020: End: Check Patch Oracle Grid\r\nMon Apr  6 13:41:35 2020: Start: Check Patch Oracle Database\r\nMon Apr  6 13:41:41 2020: End: Check Patch Oracle Database\r\nMon Apr  6 13:41:41 2020: End: Upgrade Recovery Appliance - Step [PreCheck]\r\nMon Apr  6 13:41:41 2020: Start: Enable rasys Access\r\nMon Apr  6 13:41:43 2020: End: Enable rasys Access\r\nMon Apr  6 13:41:45 2020: Start: Grid Setup\r\nMon Apr  6 13:49:27 2020: End: Grid Setup\r\nMon Apr  6 13:49:27 2020: Start: Grid rootupgrade\r\nMon Apr  6 14:11:13 2020: End: Grid rootupgrade\r\nMon Apr  6 14:11:13 2020: Start: Grid ExecuteConfigTools\r\nMon Apr  6 14:31:03 2020: End: Grid ExecuteConfigTools\r\nMon Apr  6 14:31:03 2020: Skip: Update Tape Cluster Resources - [No Tape Option]\r\nMon Apr  6 14:31:03 2020: Start: Deploy DB Home\r\nMon Apr  6 14:36:47 2020: End: Deploying DB Home\r\nMon Apr  6 14:36:47 2020:       Start: on zeroinsg02.\r\nMon Apr  6 14:36:48 2020:       End: on zeroinsg02.\r\nMon Apr  6 14:36:48 2020:       Start: on zeroinsg01.\r\nMon Apr  6 14:36:48 2020:       End: on zeroinsg01.\r\nMon Apr  6 14:36:48 2020: Start: Patch DB Home\r\nMon Apr  6 14:41:38 2020: Start: Process Network Files [zeroinsg02]\r\nMon Apr  6 14:41:38 2020: End: Process Network Files [zeroinsg02]\r\nMon Apr  6 14:41:38 2020: Start: Process Network Files [zeroinsg01]\r\nMon Apr  6 14:41:39 2020: End: Process Network Files [zeroinsg01]\r\nMon Apr  6 14:41:39 2020: End: Patch DB Home\r\nMon Apr  6 14:41:39 2020: Start: Pre Upgrade DB Updates\r\nMon Apr  6 15:04:34 2020: End: Pre Upgrade DB Updates\r\nMon Apr  6 15:04:34 2020: Start: RA DB Upgrade\r\nMon Apr  6 15:28:29 2020: End: RA DB Upgrade\r\nMon Apr  6 15:28:29 2020: Start: Shared FS Update\r\nMon Apr  6 15:29:33 2020: Start: Create TNS Admin\r\nMon Apr  6 15:31:02 2020: End: Create TNS Admin\r\nMon Apr  6 15:31:02 2020: Start: Install Appliance Step 1\r\nMon Apr  6 15:31:03 2020: Start: Preinstall.\r\nMon Apr  6 15:31:03 2020:       Start: on zeroinsg01.\r\nMon Apr  6 15:31:07 2020:       End: on zeroinsg01.\r\nMon Apr  6 15:31:08 2020:       Start: on zeroinsg02.\r\nMon Apr  6 15:31:11 2020:       End: on zeroinsg02.\r\nMon Apr  6 15:31:11 2020: End: Preinstall.\r\nMon Apr  6 15:31:11 2020: Preinstall has completed successfully.\r\nMon Apr  6 15:31:11 2020: End: Install Appliance Step 1\r\nMon Apr  6 15:31:13 2020: Start: Setup OS\r\nMon Apr  6 15:31:45 2020: End: Setup OS\r\nMon Apr  6 15:32:51 2020: Start: Setup RA Shared FS\r\nMon Apr  6 15:32:52 2020: End: Setup RA Shared FS\r\nMon Apr  6 15:32:52 2020: Start: Enable Wait For DBFS\r\nMon Apr  6 15:32:52 2020: End: Enable Wait For DBFS\r\nMon Apr  6 15:32:52 2020: Start: Upgrade Sys Package\r\nMon Apr  6 15:33:02 2020: End: Upgrade Sys Package\r\nMon Apr  6 15:33:02 2020: Start: Update Restart Flag\r\nMon Apr  6 15:33:02 2020: End: Update Restart Flag\r\nMon Apr  6 15:33:02 2020: End: Shared FS Update\r\nMon Apr  6 15:33:02 2020: Start: RA Catalog Upgrade\r\nMon Apr  6 15:35:26 2020: End: RA Catalog Upgrade\r\nMon Apr  6 15:35:26 2020: Start: RA DB System Updates\r\nMon Apr  6 15:35:56 2020: End: RA DB System Updates\r\nMon Apr  6 15:35:57 2020: Start: Enable Rasys\r\nMon Apr  6 15:43:52 2020: End: Enable Rasys\r\nMon Apr  6 15:43:52 2020: Start: Post Upgrade Actions\r\nMon Apr  6 15:46:14 2020: End: Post Upgrade Actions\r\nMon Apr  6 15:46:14 2020: End: Upgrade Recovery Appliance - Step [Upgrade]\r\n\r\nNext: &lt;racli upgrade appliance --step=4&gt;\r\n\r\n[root@zeroinsg01 ~]#<\/pre>\n<p style=\"text-align: justify;\">As you can see above, several changes occurred, like:<\/p>\n<ul style=\"text-align: justify;\">\n<li>rootupgrade for new GI.<\/li>\n<li>Patch DB.<\/li>\n<li>Upgrade RA schema\/database with new scripts.<\/li>\n<li>Setup OS with new parameters if needed.<\/li>\n<li>If not yet, change from DBFS to ACFS.<\/li>\n<li>Upgrade the ZDLRA catalog.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Under the hood some interesting info:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"no-highlight\">Mon Apr  6 13:42:46 2020: Service rep_dbfs on zeroinsg01 offline.\r\nMon Apr  6 13:42:46 2020: Service rep_dbfs off on all nodes.\r\nMon Apr  6 13:42:46 2020: Set Command '\/bin\/su  - oracle -c '\/u01\/app\/19.0.0.0\/grid\/gridSetup.sh -silent -responseFile \/radump\/grid_install.rsp'' timeout to 14400.\r\n\r\nMon Apr  6 13:49:27 2020: Grid Setup Output: 24\r\nMon Apr  6 13:49:27 2020: End: RunLevel 2001\r\nMon Apr  6 13:49:27 2020: Start: RunLevel 2002\r\nMon Apr  6 13:49:27 2020: End: Grid Setup\r\nMon Apr  6 13:49:27 2020: Start: Grid rootupgrade\r\nMon Apr  6 13:49:27 2020: Set Command '\/u01\/app\/19.0.0.0\/grid\/rootupgrade.sh ' timeout to 14400.\r\n\u2026\r\n\u2026\r\nMon Apr  6 14:31:03 2020: End: RunLevel 2004\r\nMon Apr  6 14:31:03 2020: Start: RunLevel 2005\r\nMon Apr  6 14:31:03 2020: Start: Deploy DB Home\r\nMon Apr  6 14:31:03 2020: Set Command '\/bin\/su - oracle -c ''\/u01\/app\/oracle\/product\/19.0.0.0\/dbhome_1\/runInstaller' -responsefile \/radump\/db_install.rsp -silent -waitForCompletion'' timeout to 3600.\r\n\r\nMon Apr  6 14:36:47 2020: End: Deploying DB Home\r\n\u2026\r\n\u2026\r\nProcessing in install validation mode.\r\nSource root is \/opt\/oracle.RecoveryAppliance\/zdlra\r\nDestination root is \/u01\/app\/oracle\/product\/19.0.0.0\/dbhome_1\/rdbms\r\nDestination appears to be an installed shiphome.\r\nlibrary = libzdlraserver19.a\r\nPerforming object validation for libserver19.a.\r\nSource library:      \/opt\/oracle.RecoveryAppliance\/zdlra\/lib\/libzdlraserver19.a\r\nDestination library: \/u01\/app\/oracle\/product\/19.0.0.0\/dbhome_1\/rdbms\/..\/lib\/libserver19.a\r\nUsing temporary directory \/tmp\/5X7pPWToJJ for source objects.\r\nUsing temporary directory \/tmp\/8rXvBcr_60 for destination objects.\r\n\u2026\r\n\u2026\r\n- Linking Oracle\r\nrm -f \/u01\/app\/oracle\/product\/19.0.0.0\/dbhome_1\/rdbms\/lib\/oracle\r\n\u2026\r\nMon Apr  6 14:41:39 2020: Set Command '\/u01\/app\/oracle\/product\/12.2.0.1\/dbhome_1\/bin\/sqlplus       -s \/ AS SYSDBA &lt;&lt;EOF\r\n              @\/opt\/oracle.RecoveryAppliance\/install\/dbmsrsadmpreq.sql;\r\n        @\/opt\/oracle.RecoveryAppliance\/install\/dbmsrsadm.sql;\r\n        @\/opt\/oracle.RecoveryAppliance\/install\/prvtrsadm.sql;\r\n\r\nEOF\r\n' timeout to 0.\r\n\r\nMon Apr  6 15:00:45 2020: End:   Set init parameters for pre upgrage 12.2.\r\n\u2026\r\n\u2026\r\nMon Apr  6 15:05:13 2020: Set Command '\/bin\/su  - oracle -c '\/u01\/app\/oracle\/product\/19.0.0.0\/dbhome_1\/bin\/dbua -silent -dbName zdlras'' timeout to 14400.\r\n\u2026\r\n\u2026\r\nDatabase upgrade has been completed successfully, and the database is ready to use.\r\n100% complete Mon Apr  6 15:28:29 2020: Set Command '\/u01\/app\/oracle\/product\/12.2.0.1\/dbhome_1\/bin\/srvctl status database -db zdlras -v' timeout to 900.\r\n\u2026\r\n\u2026\r\nMon Apr  6 15:33:02 2020: Set Command '\/u01\/app\/oracle\/product\/19.0.0.0\/dbhome_1\/bin\/rman catalog \/@install.local cmdfile=\/opt\/oracle.RecoveryAppliance\/install\/upgrade.rman' timeout to 0.\r\n\u2026\r\n\u2026\r\nMon Apr  6 15:35:26 2020: End:   Upgrade RA Catalog.\r\nMon Apr  6 15:35:26 2020: End: RunLevel 2010\r\nMon Apr  6 15:35:26 2020: Start: RunLevel 2011\r\nMon Apr  6 15:35:26 2020: End: RA Catalog Upgrade\r\nMon Apr  6 15:35:26 2020: Start: RA DB System Updates\r\nMon Apr  6 15:35:26 2020: Switching to UID: 1001, GID: 1002\r\nMon Apr  6 15:35:26 2020: SQL:         BEGIN\r\n\r\n          DBMS_RA_ADM.UPDATE_DATAPUMP_DIR;\r\n          DBMS_RA_ADM.CREATE_NODE_DETAIL;\r\n          DBMS_RA_ADM.DISABLE_BCT;\r\n          DBMS_RA_ADM.CREATE_RA_CF('+DELTA');\r\n          DBMS_RA_ADM.LOCK_TABLE_STATS;\r\n          DBMS_RA_ADM.RECOMP_SERIAL;\r\n          DBMS_RA_ADM.GRANT_SYS_SYNONYMS;\r\n          DBMS_RA_ADM.GRANT_RASYS_PERMISSION;\r\n          DBMS_RA_ADM.CREATE_INIT_PARAM;\r\n          DBMS_RA_ADM.UPDATE_PGA_DB_PARAMETERS;\r\n          DBMS_RA_ADM.RAA_SET_DISPATCHERS;\r\n          DBMS_RA_ADM.CHECK_INIT_PARAM;\r\n          DBMS_RA_ADM.UPDATE_SL_TABLE;\r\n          DBMS_RA_ADM.UPDATE_THROTTLE;\r\n          DBMS_RA_ADM.UPDATE_INIT_PARAM;\r\n          DBMS_XDB_CONFIG.SETHTTPSPORT(0);\r\n          DBMS_XDB_CONFIG.SETHTTPPORT(8001);\r\n          DBMS_XDB.SETLISTENERENDPOINT(1,null,8001,1);\r\n          RASYS.DBMS_RA.CONFIG( '_nofilesize_mismatch_log', 1);\r\n\r\n        END;\r\n\u2026\r\n\u2026\r\nMon Apr  6 15:43:57 2020: spawn \/usr\/bin\/ssh -o ConnectTimeout=20 -o LogLevel=error -l root zeroinsg01 unzip -o \/opt\/oracle.RecoveryAppliance\/install\/TFA-LINUX_v19.2.1.zip -d \/u01\/app\/19.0.0.0\/grid\/tfa\r\nArchive:  \/opt\/oracle.RecoveryAppliance\/install\/TFA-LINUX_v19.2.1.zip\r\n\u2026\r\n\u2026\r\nMon Apr  6 15:46:14 2020: End: Upgrade Recovery Appliance - Step [Upgrade]\r\n<\/pre>\n<p style=\"text-align: justify;\">Some hints from this log:<\/p>\n<ul style=\"text-align: justify;\">\n<li>The files dbmsrsadmpreq.sql, dbmsrsadm.sql, prvtrsadm.sql is where most of ZDLRA tables and procedures came.<\/li>\n<li>DBUA for the upgrade.<\/li>\n<li>upgrade.rman (name self-described), upgrade rman.<\/li>\n<li>DBMS_RA_ADM runs occur because new sql (above) was loaded.<\/li>\n<li>TFA is upgraded to a special release (just for ZDLRA). In the future, AHF will be supported.<\/li>\n<\/ul>\n<h3 style=\"text-align: justify;\">9 &#8211; Upgrade appliance, step=4, and step=5<\/h3>\n<p style=\"text-align: justify;\">The other steps (4 and 5) are responsible to finish the migration from DBFS to ACFS and to update OSB if needed (to talk with tape).<\/p>\n<p style=\"text-align: justify;\">The procedure is the same, just need to change the number:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"no-highlight\">[root@zeroinsg01 ~]# \/opt\/oracle.RecoveryAppliance\/bin\/racli upgrade appliance --step=4\r\nCreated log \/opt\/oracle.RecoveryAppliance\/log\/racli_upgrade_appliance.log\r\n\r\nStep [4 of 5]: &lt;racli upgrade appliance&gt;\r\n\r\nMon Apr  6 19:37:52 2020: Start: Migrate DBFS to ACFS\r\nMon Apr  6 19:37:54 2020: Skip: Migrate DBFS to ACFS - [Not Required]\r\n\r\nNext: &lt;racli upgrade appliance --step=5&gt;\r\n\r\n[root@zeroinsg01 ~]# \/opt\/oracle.RecoveryAppliance\/bin\/racli upgrade appliance --step=5\r\nCreated log \/opt\/oracle.RecoveryAppliance\/log\/racli_upgrade_appliance.log\r\n\r\nStep [5 of 5]: &lt;racli upgrade appliance&gt;\r\n\r\nMon Apr  6 19:38:00 2020: Start: Secure Backup Update\r\nMon Apr  6 19:38:00 2020: Start: Tape Update\r\nMon Apr  6 19:38:30 2020: End: Tape Update\r\nMon Apr  6 19:38:30 2020: End: Secure Backup Update\r\n\r\nStep [5 of 5] - Completed. End OK.\r\n[root@zeroinsg01 ~]#<\/pre>\n<p style=\"text-align: justify;\">In this case, since the migration to ACFS was already made in the past, and the tape is not needed, these steps were fast.<\/p>\n<h2 style=\"text-align: justify;\">Post Patching<\/h2>\n<p style=\"text-align: justify;\">After the upgrade finished some checks can be made to see if everything is fine. The checks for version and status can be used for that:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"no-highlight\">[root@zeroinsg01 ~]# racli version\r\nRecovery Appliance Version:\r\n        exadata image: 19.2.3.0.0.190621\r\n        rarpm version: ra_automation-19.2.1.1.1.202001-31014797.x86_64\r\n        rdbms version: RDBMS_19.3.0.0.190416DBRU_LINUX.X64_RELEASE\r\n        transaction  : kadjei_bug-31014797\r\n        zdlra version: ZDLRA_19.2.1.1.1.202001_LINUX.X64_RELEASE\r\n[root@zeroinsg01 ~]#\r\n[root@zeroinsg01 ~]#\r\n[root@zeroinsg01 ~]# racli status appliance\r\nzeroinsg01 db         state:  [ONLINE]\r\nzeroinsg01 ra_server  state:  [ONLINE]\r\nzeroinsg01 crs        state:  [ONLINE]\r\nzeroinsg02 crs        state:  [ONLINE]\r\nzeroinsg02 ra_server  state:  [ONLINE]\r\nzeroinsg02 db         state:  [ONLINE]\r\n[root@zeroinsg01 ~]#\r\n[root@zeroinsg01 ~]#\r\n[root@zeroinsg01 ~]# racli run check --all\r\nMon Apr  6 19:39:42 2020: Start: racli run check --all\r\n  Created log file zeroinsg01.zero.flisk.net:\/opt\/oracle.RecoveryAppliance\/log\/racli_run_check_20200406.1939.log\r\n\r\nMon Apr  6 19:39:45 2020: CHECK: RA Services                         - PASS\r\nMon Apr  6 19:39:53 2020: CHECK: Exadata Image Version               - PASS\r\nMon Apr  6 19:39:54 2020: CHECK: Active Incidents                    - PASS\r\nMon Apr  6 19:40:02 2020: CHECK: Init Parameters                     - PASS\r\nMon Apr  6 19:40:03 2020: CHECK: Invalid Objects                     - PASS\r\nMon Apr  6 19:40:04 2020: CHECK: Export Backup                       - PASS\r\nMon Apr  6 19:40:04 2020: CHECK: ZDLRA Rasys Wallet                  - PASS\r\nMon Apr  6 19:40:07 2020: CHECK: Compute Node AlertHistory\r\nMon Apr  6 19:40:07 2020:   HOST: [zeroinsg02]                      - PASS\r\nMon Apr  6 19:40:07 2020:   HOST: [zeroinsg01]                      - PASS\r\nMon Apr  6 19:40:15 2020: CHECK: Storage Cell AlertHistory\r\nMon Apr  6 19:40:15 2020:   HOST: [zerocadm05]                   - PASS\r\nMon Apr  6 19:40:15 2020:   HOST: [zerocadm01]                   - PASS\r\nMon Apr  6 19:40:15 2020:   HOST: [zerocadm04]                   - PASS\r\nMon Apr  6 19:40:15 2020:   HOST: [zerocadm03]                   - PASS\r\nMon Apr  6 19:40:15 2020:   HOST: [zerocadm06]                   - PASS\r\nMon Apr  6 19:40:15 2020:   HOST: [zerocadm02]                   - PASS\r\nMon Apr  6 19:40:15 2020: CHECK: Oracle User Password Expires\r\nMon Apr  6 19:40:15 2020:   HOST: [zeroinsg02]                      - PASS\r\nMon Apr  6 19:40:15 2020:   HOST: [zeroinsg01]                      - PASS\r\nMon Apr  6 19:40:16 2020: CHECK: ZDLRA Version\r\nMon Apr  6 19:40:16 2020:   HOST: [zeroinsg01]                      - PASS\r\nMon Apr  6 19:40:16 2020:   HOST: [zeroinsg02]                      - PASS\r\nMon Apr  6 19:40:16 2020: End: racli run check --all\r\n[root@zeroinsg01 ~]#<\/pre>\n<p style=\"text-align: justify;\">As you can see, the version of the rpm and ZDLRA are 19.2.1.1.1.202001-31014797. And all the services are up and running.&nbsp;<\/p>\n<h2 style=\"text-align: justify;\">Issues and Know issues<\/h2>\n<p style=\"text-align: justify;\"><strong>If some error occurs during the patch procedure the recommendation is open SR with oracle to check<\/strong>. This is needed because (as explained before) ZDLRA is one appliance where the database and the contents are handled by Oracle. This means that we not create databases inside, or change any parameter (this includes GI). So, if an error occurs, open SR.<\/p>\n<p style=\"text-align: justify;\">One note to check in case of a problem is the <a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocContentDisplay?id=2408256.1\" target=\"_blank\" rel=\"noopener noreferrer\">ZDLRA Detailed Troubleshooting Methodology (Doc ID 2408256.1)<\/a>. But the workflow is the same.<\/p>\n<p style=\"text-align: justify;\">Some known issues that can solve previously:<\/p>\n<ul style=\"text-align: justify;\">\n<li>Stop-start EM Agent: The patch stop and start EM Agent in the nodes. Sometimes it can have issues with the agent. So, try to restart it before the patch to check if they are OK in both nodes<\/li>\n<li>SQLNET.ORA from GI: Check if the sqlnet.ora exists in GI home. If it does not exists, it can be a problem. The same is true for OH.<\/li>\n<li>HAIP: If upgrading to the 19c version, it is needed to remove HAIP. I already explained it <a href=\"https:\/\/www.fernandosimon.com\/blog\/exadata-and-zdlra-disable-haip\/\">here<\/a>.<\/li>\n<li>Running tasks: Check if there are running tasks at the rasys.ra_task table. It is recommended that the upgrade takes place when fewer tasks are running. I recommend not upgrade if you have INDEX_BACKUP task running to avoid stop the task in one version and return in another version.<\/li>\n<\/ul>\n<h2 style=\"text-align: justify;\">Upgrade and Replication<\/h2>\n<p style=\"text-align: justify;\">Since ZDLRA can be used in replicated mode, where the upstream send to downstream, it is important that whoever receives the backup can do that. This means that it is recommended to upgrade always the downstream first. This allows that when receiving the backups from upstream, the internal ZDLRA database and the library can handle it.<\/p>\n<h2 style=\"text-align: justify;\">References<\/h2>\n<p style=\"text-align: justify;\">Some references about how to do the patch and handle the issues:<\/p>\n<ul style=\"text-align: justify;\">\n<li><a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocContentDisplay?id=1927416.1\" target=\"_blank\" rel=\"noopener noreferrer\">Zero Data Loss Recovery Appliance Supported Versions (Doc ID 1927416.1)<\/a><\/li>\n<li><a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocContentDisplay?id=2410137.1\" target=\"_blank\" rel=\"noopener noreferrer\">ZDLRA Release and Patching Policy (Doc ID 2410137.1)<\/a><\/li>\n<li><a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocContentDisplay?id=2639262.1\" target=\"_blank\" rel=\"noopener noreferrer\">ZDLRA Upgrade and Patching Troubleshooting Guide (Doc ID 2639262.1)<\/a><\/li>\n<li><a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocContentDisplay?id=2028931.1\" target=\"_blank\" rel=\"noopener noreferrer\">Zero Data Loss Recovery Appliance Upgrade and Patching (Doc ID 2028931.1)<\/a><\/li>\n<li><a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocContentDisplay?id=2408256.1\" target=\"_blank\" rel=\"noopener noreferrer\">ZDLRA Detailed Troubleshooting Methodology (Doc ID 2408256.1)<\/a><\/li>\n<\/ul>\n<p>&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 proceed to patch\/upgrade ZDLRA is not complicated, but as usual, some details need to be checked before starting the procedure. Since it is one engineering system based at Exadata, the procedure has one part that (maybe) needs to upgrade this stack too. But, is possible to upgrade just the recovery appliance library. Whatever if [&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":[71,29,77,6,5,12,51],"tags":[100,69,65,124,74],"class_list":["post-720","post","type-post","status-publish","format-standard","hentry","category-19c","category-database","category-engineeredsystems","category-exadata","category-oracle","category-upgrade","category-zdlra","tag-engineered-systems","tag-exadata","tag-oracle","tag-upgrade","tag-zdlra"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ZDLRA, Patch the Recovery Appliance - Fernando Simon<\/title>\n<meta name=\"description\" content=\"Check how to upgrade the ZDLRA, choose the correct version, and how to use the racli command to patch. And also the know issues (and how to avoid it).\" \/>\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\/zdlra-patch-the-recovery-appliance\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ZDLRA, Patch the Recovery Appliance - Fernando Simon\" \/>\n<meta property=\"og:description\" content=\"Check how to upgrade the ZDLRA, choose the correct version, and how to use the racli command to patch. And also the know issues (and how to avoid it).\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/\" \/>\n<meta property=\"og:site_name\" content=\"Fernando Simon\" \/>\n<meta property=\"article:published_time\" content=\"2020-04-13T20:32:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-07-19T22:09:26+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/ZDLRA-PATCH-02.png\" \/>\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=\"27 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/\"},\"author\":{\"name\":\"Simon\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9\"},\"headline\":\"ZDLRA, Patch the Recovery Appliance\",\"datePublished\":\"2020-04-13T20:32:17+00:00\",\"dateModified\":\"2020-07-19T22:09:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/\"},\"wordCount\":2105,\"commentCount\":6,\"image\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/ZDLRA-PATCH-02.png\",\"keywords\":[\"Engineered Systems\",\"Exadata\",\"Oracle\",\"Upgrade\",\"ZDLRA\"],\"articleSection\":[\"19c\",\"Database\",\"Engineered Systems\",\"Exadata\",\"Oracle\",\"Upgrade\",\"ZDLRA\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/\",\"url\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/\",\"name\":\"ZDLRA, Patch the Recovery Appliance - Fernando Simon\",\"isPartOf\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/ZDLRA-PATCH-02.png\",\"datePublished\":\"2020-04-13T20:32:17+00:00\",\"dateModified\":\"2020-07-19T22:09:26+00:00\",\"author\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9\"},\"description\":\"Check how to upgrade the ZDLRA, choose the correct version, and how to use the racli command to patch. And also the know issues (and how to avoid it).\",\"breadcrumb\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/#primaryimage\",\"url\":\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/ZDLRA-PATCH-02.png\",\"contentUrl\":\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/ZDLRA-PATCH-02.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.fernandosimon.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ZDLRA, Patch the Recovery Appliance\"}]},{\"@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":"ZDLRA, Patch the Recovery Appliance - Fernando Simon","description":"Check how to upgrade the ZDLRA, choose the correct version, and how to use the racli command to patch. And also the know issues (and how to avoid it).","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\/zdlra-patch-the-recovery-appliance\/","og_locale":"en_US","og_type":"article","og_title":"ZDLRA, Patch the Recovery Appliance - Fernando Simon","og_description":"Check how to upgrade the ZDLRA, choose the correct version, and how to use the racli command to patch. And also the know issues (and how to avoid it).","og_url":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/","og_site_name":"Fernando Simon","article_published_time":"2020-04-13T20:32:17+00:00","article_modified_time":"2020-07-19T22:09:26+00:00","og_image":[{"url":"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/ZDLRA-PATCH-02.png","type":"","width":"","height":""}],"author":"Simon","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Simon","Est. reading time":"27 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/#article","isPartOf":{"@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/"},"author":{"name":"Simon","@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9"},"headline":"ZDLRA, Patch the Recovery Appliance","datePublished":"2020-04-13T20:32:17+00:00","dateModified":"2020-07-19T22:09:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/"},"wordCount":2105,"commentCount":6,"image":{"@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/#primaryimage"},"thumbnailUrl":"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/ZDLRA-PATCH-02.png","keywords":["Engineered Systems","Exadata","Oracle","Upgrade","ZDLRA"],"articleSection":["19c","Database","Engineered Systems","Exadata","Oracle","Upgrade","ZDLRA"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/","url":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/","name":"ZDLRA, Patch the Recovery Appliance - Fernando Simon","isPartOf":{"@id":"https:\/\/www.fernandosimon.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/#primaryimage"},"image":{"@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/#primaryimage"},"thumbnailUrl":"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/ZDLRA-PATCH-02.png","datePublished":"2020-04-13T20:32:17+00:00","dateModified":"2020-07-19T22:09:26+00:00","author":{"@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9"},"description":"Check how to upgrade the ZDLRA, choose the correct version, and how to use the racli command to patch. And also the know issues (and how to avoid it).","breadcrumb":{"@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/#primaryimage","url":"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/ZDLRA-PATCH-02.png","contentUrl":"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/04\/ZDLRA-PATCH-02.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.fernandosimon.com\/blog\/"},{"@type":"ListItem","position":2,"name":"ZDLRA, Patch the Recovery Appliance"}]},{"@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-bC","_links":{"self":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/posts\/720","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=720"}],"version-history":[{"count":0,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/posts\/720\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/media?parent=720"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/categories?post=720"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/tags?post=720"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}