{"id":736,"date":"2020-06-07T20:34:41","date_gmt":"2020-06-07T23:34:41","guid":{"rendered":"https:\/\/www.fernandosimon.com\/blog\/?p=736"},"modified":"2023-02-01T06:36:23","modified_gmt":"2023-02-01T09:36:23","slug":"zdlra-patch-update-the-recovery-appliance","status":"publish","type":"post","link":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/","title":{"rendered":"ZDLRA, Patch\/Update the Recovery Appliance"},"content":{"rendered":"<p style=\"text-align: justify;\">The process of patch ZDLRA is not complicated, but it is important to be aware of some details. The most important is from where you are until where you want to go. This is crucial because it will define what commands you will need to execute.<\/p>\n<p style=\"text-align: justify;\">If you read the <a href=\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/\" target=\"_blank\" rel=\"noopener noreferrer\">previous post<\/a> about the process, you can notice that I was running the ZDLRA 12.2 version, and forwarded to 19.2 version. In that case, I needed to use the upgrade path since I was changing the major release and the racli commands had the \u201cupgrade\u201d parameter.<\/p>\n<p style=\"text-align: justify;\">In this post I will show how to do a simple update (or patch apply) for ZDLRA, this means that I will remain inside the same major release for recovery appliance library. Some steps and checks are the same.<\/p>\n<p style=\"text-align: justify;\">Whatever you need to do (patch or upgrade), the startup point it is the&nbsp;<a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocContentDisplay?id=1927416.1\" target=\"_blank\" rel=\"noopener noreferrer\">note 1927416.1<\/a>&nbsp;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;\"><!--more Click here to read more...--><\/p>\n<h2 style=\"text-align: justify;\">Where we are<\/h2>\n<p style=\"text-align: justify;\">The first step is always to discover what version for ZDLRA and Exadata Stack you are running. The simple way to do that is using the command \u201c<em>racli version<\/em>\u201d:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[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 ~]#<\/pre>\n<p style=\"text-align: justify;\">The way to read this is that: <em>rpm version<\/em> is the running version, <em>zdlra version<\/em> is the base release (202001). The major release is 19.2.1.1.1. So, it is possible to discover that the currently running version for ZDLRA is 19.2.1.1.1.202001-31014797 and the Exadata image is 19.2.3.0.0.190621.<\/p>\n<h2 style=\"text-align: justify;\">Where we want to go<\/h2>\n<p style=\"text-align: justify;\">As I wrote before, the startup point it is the&nbsp;<a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocContentDisplay?id=1927416.1\" target=\"_blank\" rel=\"noopener noreferrer\">note 1927416.1<\/a>. There we can check the available versions for ZDLRA, and in this example, I will patch to version 19.2.1.1.1-202003-31304538 (released 18-May-2020).<\/p>\n<p style=\"text-align: justify;\">So, I will jump from 19.2.1.1.1.202001-31014797 to 19.2.1.1.1-202003-31304538, but I will remain inside of the same major release of ZDLRA, the 19.2.1.1.1. I will jump from base release (like PSU for OH) from 202001 (released in January) to 202003 (released in March).<\/p>\n<h3 style=\"text-align: justify;\">Exadata Supported Versions<\/h3>\n<p style=\"text-align: justify;\">Again, checking the&nbsp;<a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocContentDisplay?id=1927416.1\" target=\"_blank\" rel=\"noopener noreferrer\">note 1927416.1<\/a> that covers the supported versions for ZDLRA is possible to check the compatibility matrix for Exadata System Software (database and storage servers) and discover if it is needed to upgrade\/patch the Exadata stack.<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Exa-Supported.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-737 size-full\" src=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Exa-Supported.png\" alt=\"\" width=\"2464\" height=\"562\" srcset=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Exa-Supported.png 2464w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Exa-Supported-300x68.png 300w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Exa-Supported-1024x234.png 1024w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Exa-Supported-768x175.png 768w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Exa-Supported-1536x350.png 1536w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Exa-Supported-2048x467.png 2048w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Exa-Supported-624x142.png 624w\" sizes=\"auto, (max-width: 2464px) 100vw, 2464px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Look above that the current version for Exadata is supported. So, this means that I can do just the patch apply for ZDLRA. If you want to update the Exadata Stack you can check <a href=\"https:\/\/www.fernandosimon.com\/blog\/exadata-and-zdlra-patch-exadata-stack\/\" target=\"_blank\" rel=\"noopener noreferrer\">my post on how to do that<\/a>, but the process is very, very, similar for Exadata Patch apply.<\/p>\n<p style=\"text-align: justify;\">The only detail is that usually, we update the ZDLRA library first, and after the Exadata Stack. This occurs, (because as you can see in the image above), that the current version that I am running (19.2.1.1.1.202001-31014797) is not compatible with the Exadata 19.3.7.0.0. So, first, update ZDLRA, and after Exadata stack. In this example, I will just update the ZDLRA library.<\/p>\n<h2 style=\"text-align: justify;\">Patch Process<\/h2>\n<h3 style=\"text-align: justify;\">Download<\/h3>\n<p style=\"text-align: justify;\">Since we will continue in the same major release of ZDLRA (19.2.1.1.1), this means that the OH and GI will continue at the same release and will not suffer any kind of version upgrade (like 12 to 19). So, we don\u2019t need to download additional patches or binaries. In my <a href=\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/\" target=\"_blank\" rel=\"noopener noreferrer\">previous post<\/a>, I already explained this.<\/p>\n<p style=\"text-align: justify;\">As you know, the ZDLRA library contains the updates for the OH and GI, so the compatible PSU\u2019s will be applied and they are inside of downloaded patched:<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Library.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-738 size-full\" src=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Library.png\" alt=\"\" width=\"2529\" height=\"808\" srcset=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Library.png 2529w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Library-300x96.png 300w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Library-1024x327.png 1024w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Library-768x245.png 768w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Library-1536x491.png 1536w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Library-2048x654.png 2048w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Library-624x199.png 624w\" sizes=\"auto, (max-width: 2529px) 100vw, 2529px\" \/><\/a><\/p>\n<h3 style=\"text-align: justify;\">Where put the files<\/h3>\n<p style=\"text-align: justify;\"><strong>As I wrote in my previous post<\/strong><strong>, all the files for ZDLRA need to be stored at \/radump at the database server node 01.<\/strong>&nbsp;It is fixed in the procedure and it is a requirement.<\/p>\n<p style=\"text-align: justify;\">And as best practices, I recommend that before copy the new files, remove all older patches from \/radump&nbsp;<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<h3 style=\"text-align: justify;\">01 &#8211; Precheck<\/h3>\n<p style=\"text-align: justify;\">The first step is to do a simple precheck of the ZDLRA stack. The simple and fast way is executing the \u201c<em>racli status appliance<\/em>\u201d:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@zeroinsg01 ~]# racli status appliance\r\nzeroinsg01 crs        state:  [ONLINE]\r\nzeroinsg01 db         state:  [ONLINE]\r\nzeroinsg01 ra_server  state:  [ONLINE]\r\nzeroinsg02 crs        state:  [ONLINE]\r\nzeroinsg02 ra_server  state:  [ONLINE]\r\nzeroinsg02 db         state:  [ONLINE]\r\n[root@zeroinsg01 ~]#<\/pre>\n<p style=\"text-align: justify;\">And the \u201c<em>racli run check &#8211;all<\/em>&#8220;:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@zeroinsg01 ~]# racli run check --all\r\nWed Jun  3 10:07:21 2020: Start: racli run check --all\r\n  Created log file zeroinsg01:\/opt\/oracle.RecoveryAppliance\/log\/racli_run_check_20200603.1007.log\r\n\r\nWed Jun  3 10:07:26 2020: CHECK: RA Services                         - PASS\r\nWed Jun  3 10:07:37 2020: CHECK: Exadata Image Version               - PASS\r\nWed Jun  3 10:07:38 2020: CHECK: Active Incidents                    - PASS\r\nWed Jun  3 10:07:46 2020: CHECK: Init Parameters                     - PASS\r\nWed Jun  3 10:07:47 2020: CHECK: Invalid Objects                     - PASS\r\nWed Jun  3 10:07:48 2020: CHECK: Export Backup                       - PASS\r\nWed Jun  3 10:07:48 2020: CHECK: ZDLRA Rasys Wallet                  - PASS\r\nWed Jun  3 10:07:51 2020: CHECK: Compute Node AlertHistory\r\nWed Jun  3 10:07:51 2020:   HOST: [zeroinsg02]                      - PASS\r\nWed Jun  3 10:07:51 2020:   HOST: [zeroinsg01]                      - PASS\r\nWed Jun  3 10:07:59 2020: CHECK: Storage Cell AlertHistory\r\nWed Jun  3 10:07:59 2020:   HOST: [zerocadm04]                   - PASS\r\nWed Jun  3 10:07:59 2020:   HOST: [zerocadm02]                   - PASS\r\nWed Jun  3 10:07:59 2020:   HOST: [zerocadm06]                   - PASS\r\nWed Jun  3 10:07:59 2020:   HOST: [zerocadm05]                   - PASS\r\nWed Jun  3 10:07:59 2020:   HOST: [zerocadm01]                   - PASS\r\nWed Jun  3 10:07:59 2020:   HOST: [zerocadm03]                   - PASS\r\nWed Jun  3 10:07:59 2020: CHECK: Oracle User Password Expires\r\nWed Jun  3 10:07:59 2020:   HOST: [zeroinsg01]                      - PASS\r\nWed Jun  3 10:07:59 2020:   HOST: [zeroinsg02]                      - PASS\r\nWed Jun  3 10:08:00 2020: CHECK: ZDLRA Version\r\nWed Jun  3 10:08:00 2020:   HOST: [zeroinsg02]                      - PASS\r\nWed Jun  3 10:08:00 2020:   HOST: [zeroinsg01]                      - PASS\r\nWed Jun  3 10:08:00 2020: End: racli run check --all\r\n[root@zeroinsg01 ~]#<\/pre>\n<p style=\"text-align: justify;\">With that, every error can be checked, reported, and fixed before continuing the process.<\/p>\n<h3 style=\"text-align: justify;\">02 \u2013 Unzip Library<\/h3>\n<p style=\"text-align: justify;\">The second step is, <strong>as oracle user<\/strong>, unzip the ZDLRA patch. This is done inside of \/radump folder at node 01:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[oracle@zeroinsg01 radump]$ unzip p31304538_192111_Linux-x86-64.zip\r\nArchive:  p31304538_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\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.202003-31304538.x86_64.rpm\r\n  inflating: run_set_env.sh\r\n extracting: p29908639_193000DBRU_Linux-x86-64.zip\r\n extracting: p29232533_190000_Linux-x86-64.zip\r\n extracting: p29726449_190000_Linux-x86-64.zip\r\n extracting: p29391849_194000DBRU_Linux-x86-64.zip\r\n extracting: p30177140_194000DBRU_Linux-x86-64.zip\r\n extracting: p30540969_190000_Linux-x86-64.zip\r\n extracting: p30312546_190000_Linux-x86-64.zip\r\n extracting: p30458593_190000_Linux-x86-64.zip\r\n extracting: p30363621_190000_Linux-x86-64.zip\r\n extracting: p28538439_190000_Linux-x86-64.zip\r\n extracting: p30094929_190000_Linux-x86-64.zip\r\n extracting: p29708769_190000_Linux-x86-64.zip\r\n  inflating: README.txt\r\n[oracle@zeroinsg01 radump]$<\/pre>\n<p style=\"text-align: justify;\">As you can see the patch p31304538_192111_Linux-x86-64.zip contains inside the PSU\/One-offs (p* files) patches for OH and GI.<\/p>\n<h3 style=\"text-align: justify;\">03 \u2013 ra_preinstall.pl<\/h3>\n<p style=\"text-align: justify;\">The third is step is to execute the ra_preinstall.pl, <strong>as root user<\/strong>, to start the process. This step removes the old ZDLRA rpm library from the system and installs the new one (in both nodes). Besides that, execute some checks as well.<\/p>\n<p style=\"text-align: justify;\">As explained in my previous post, if you have some open incidents you can clean it (the process is described there), but also is not recommended to restart this ZDLRA after this moment because the ZDLRA binaries were changed (rpm was changed) 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<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@zeroinsg01 ~]# cd \/radump\/\r\n[root@zeroinsg01 radump]#\r\n[root@zeroinsg01 radump]# which perl\r\n\/opt\/oracle.RecoveryAppliance\/bin\/perl\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-19.2.1.1.1.202001-31014797.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_19.2.1.1.1.202001_LINUX.X64_RELEASE\r\nInstalled RPM: ZDLRA_19.2.1.1.1.202001_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  62.5MB\/s   00:00\r\ncreate_raoratab.pl                                           100% 3251    13.7MB\/s   00:00\r\ncreate_raoratab.sh                                           100%  991     5.5MB\/s   00:00\r\nrun_set_env.sh                                               100% 1000     4.4MB\/s   00:00\r\nset_env.sh                                                   100% 2420    13.5MB\/s   00:00\r\nra_automation-19.2.1.1.1.202003-31304538.x86_64.rpm          100% 1903MB 227.2MB\/s   00:08\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 Patch\r\nWed Jun  3 10:10:34 2020: Start: Check ZDLRA Services\r\nWed Jun  3 10:10:38 2020: End: Check ZDLRA Services\r\nWed Jun  3 10:10:38 2020: Start: Check ASM rebalance\r\nWed Jun  3 10:10:39 2020: End: Check ASM rebalance\r\nWed Jun  3 10:10:39 2020: Start: Check Cluster\r\nWed Jun  3 10:11:48 2020: End: Check Cluster\r\nWed Jun  3 10:11:53 2020: Start: Check Open Incidents\r\nWed Jun  3 10:11:54 2020: End: Check Open Incidents\r\nWed Jun  3 10:11:54 2020: Start: Check Invalid Objects\r\nWed Jun  3 10:11:58 2020: End: Check Invalid Objects\r\nWed Jun  3 10:11:58 2020: Start: Check Init Parameters\r\nWed Jun  3 10:11:59 2020: End: Check Init Parameters\r\nWed Jun  3 10:11:59 2020: Start: Check compute node oracle access\r\nWed Jun  3 10:11:59 2020: End: Check compute node oracle access\r\nWed Jun  3 10:11:59 2020: Start: Check TFA\/AHF status\r\nWed Jun  3 10:12:03 2020: End: Check TFA\/AHF status\r\nEnd: Run Pre check for Patch\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]#\r\n\r\n\r\n\r\n\r\n\r\nLast login: Wed Jun  3 10:12:30 2020 from \r\n[root@zeroinsg01 ~]#<\/pre>\n<p style=\"text-align: justify;\">I always check where Perl is coming, be sure that it is from the ZDLRA folder. The warning about rpm file not found means that the current rpm file was not found at \/radump (probably cleaned in some moment), but since I have it in local NFS, I can just copy it if needed.<\/p>\n<h3 style=\"text-align: justify;\">04 \u2013 patch appliance &#8211;step=1<\/h3>\n<p style=\"text-align: justify;\">After the rpm is changed in both nodes, we can call the racli to do continue with the patch. The first step is just a precheck phase. This is executed as root:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@zeroinsg01 ~]# \/opt\/oracle.RecoveryAppliance\/bin\/racli patch appliance --step=1\r\nCreated log \/opt\/oracle.RecoveryAppliance\/log\/racli_patch_appliance.log\r\nWed Jun  3 10:13:36 2020: Start: Patch Recovery Appliance - Step [PreCheck]\r\nWed Jun  3 10:13:36 2020: Start: Check ZDLRA Services\r\nWed Jun  3 10:13:40 2020: End: Check ZDLRA Services\r\nWed Jun  3 10:13:40 2020: Start: Check ASM rebalance\r\nWed Jun  3 10:13:41 2020: End: Check ASM rebalance\r\nWed Jun  3 10:13:41 2020: Start: Check Cluster\r\nWed Jun  3 10:14:57 2020: End: Check Cluster\r\nWed Jun  3 10:15:00 2020: Start: Check Open Incidents\r\nWed Jun  3 10:15:01 2020: End: Check Open Incidents\r\nWed Jun  3 10:15:01 2020: Start: Check Invalid Objects\r\nWed Jun  3 10:15:05 2020: End: Check Invalid Objects\r\nWed Jun  3 10:15:05 2020: Start: Check Init Parameters\r\nWed Jun  3 10:15:07 2020: End: Check Init Parameters\r\nWed Jun  3 10:15:07 2020: Start: Check compute node oracle access\r\nWed Jun  3 10:15:07 2020: End: Check compute node oracle access\r\nWed Jun  3 10:15:07 2020: Start: Check TFA\/AHF status\r\nWed Jun  3 10:15:10 2020: End: Check TFA\/AHF status\r\nWed Jun  3 10:15:13 2020: Start: Check RA Patch Levels\r\nWed Jun  3 10:15:13 2020: End: Check RA Patch Levels\r\nWed Jun  3 10:15:13 2020: Start: Check Patches\r\nWed Jun  3 10:15:25 2020: End: Check Patches\r\nWed Jun  3 10:15:25 2020: End: Patch Recovery Appliance - Step [PreCheck]\r\n[root@zeroinsg01 ~]#<\/pre>\n<p style=\"text-align: justify;\">This check if some errors exist inside ASM or ZDLRA database metadata.<\/p>\n<p style=\"text-align: justify;\">As you can above, the command racli now uses the parameter \u201c<strong>patch appliance<\/strong>\u201d. In my previous posts, I used \u201cupgrade appliance\u201d. The patch, as explained, is used when we are inside of the same major release.<\/p>\n<h3 style=\"text-align: justify;\">05 \u2013 patch appliance &#8211;step=2<\/h3>\n<p style=\"text-align: justify;\">The next step is the patch itself, the racli called as root will apply all patches needed.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[root@zeroinsg01 ~]# \/opt\/oracle.RecoveryAppliance\/bin\/racli patch appliance --step=2\r\nCreated log \/opt\/oracle.RecoveryAppliance\/log\/racli_patch_appliance.log\r\nWed Jun  3 10:17:46 2020: Start: Patch Recovery Appliance - Step [Patch]\r\nWed Jun  3 10:17:46 2020: Skip: Patch Recovery Appliance - Step [PreCheck] [Already Run]\r\nWed Jun  3 10:17:48 2020: Start: Pre Patch Release Steps\r\nWed Jun  3 10:17:48 2020: End: Pre Patch Release Steps\r\nWed Jun  3 10:17:48 2020: Start: Unpack Patches\r\nWed Jun  3 10:19:24 2020: End: Unpack Patches\r\nWed Jun  3 10:19:24 2020: Start: Rasys configuration\r\nWed Jun  3 10:19:27 2020: End: Rasys configuration\r\nWed Jun  3 10:19:27 2020: Start: Stop ZDLRA Services\r\nWed Jun  3 10:23:26 2020: End: Stop ZDLRA Services\r\nWed Jun  3 10:23:26 2020: Start: Disable ZDLRA Exports\r\nWed Jun  3 10:23:26 2020: End: Disable ZDLRA Exports\r\nWed Jun  3 10:23:26 2020: Start: Check Active Programs\r\nWed Jun  3 10:23:57 2020: Start: Stop Clusterware\r\nWed Jun  3 10:24:34 2020: End: Stop Clusterware\r\nWed Jun  3 10:24:34 2020: Start: Checking active programs\r\nWed Jun  3 10:24:46 2020: End: Checking active programs\r\nWed Jun  3 10:24:46 2020: Start: Start Clusterware\r\nWed Jun  3 10:30:27 2020: End: Start Clusterware\r\nWed Jun  3 10:30:27 2020: End: Check Active Programs\r\nWed Jun  3 10:30:27 2020: Start: Patch OPatch\r\nWed Jun  3 10:30:29 2020: End: Patch OPatch\r\nWed Jun  3 10:30:29 2020: Start: CRS start\r\nWed Jun  3 10:32:56 2020: End: CRS start\r\nWed Jun  3 10:32:56 2020: Start: Installed Patch Check\r\nWed Jun  3 10:35:40 2020: End: Installed Patch Check\r\nWed Jun  3 10:35:40 2020: Start: Apply Bundle Patch\r\nWed Jun  3 10:36:52 2020:       Skipped: Bundle Patch is Current.\r\nWed Jun  3 10:36:52 2020: End: Apply Bundle Patch\r\nWed Jun  3 10:36:53 2020: End: Apply Bundle Patch\r\nWed Jun  3 10:36:53 2020: Start: Apply GI Patches\r\nWed Jun  3 10:54:56 2020: End: Apply GI Patches\r\nWed Jun  3 10:54:56 2020: Start: Install ZDLRA Patch\r\nWed Jun  3 11:00:16 2020: End: Install ZDLRA Patch\r\nWed Jun  3 11:00:16 2020: Start: Apply Datapatch\r\nWed Jun  3 11:00:37 2020: End: Apply Datapatch\r\nWed Jun  3 11:00:37 2020: Start: Rasys Update\r\nWed Jun  3 11:02:37 2020: End: Rasys Update\r\nWed Jun  3 11:02:37 2020: Start: ZDLRA OS Updates\r\nWed Jun  3 11:02:38 2020: End: ZDLRA OS Updates\r\nWed Jun  3 11:02:38 2020: Start: Exachk Update\r\nWed Jun  3 11:02:40 2020: End: Exachk Update\r\nWed Jun  3 11:02:40 2020: Start: AHF Update\r\nWed Jun  3 11:09:24 2020: End: AHF Update\r\nWed Jun  3 11:09:28 2020: Start: Secure Backup Update\r\nWed Jun  3 11:09:28 2020: Start: Tape Update\r\nWed Jun  3 11:09:58 2020: End: Tape Update\r\nWed Jun  3 11:09:58 2020: End: Secure Backup Update\r\nWed Jun  3 11:09:58 2020: Start: Post Patch Service Enable\r\nWed Jun  3 11:10:01 2020: Start: Stop ZDLRA Stack\r\nWed Jun  3 11:13:36 2020: End: Stop ZDLRA Stack\r\nWed Jun  3 11:13:36 2020: Start: Enable ZDLRA\r\nWed Jun  3 11:13:37 2020: End: Enable ZDLRA\r\nWed Jun  3 11:18:08 2020: Start: Enable RA Backup\r\nWed Jun  3 11:18:08 2020: End: Enable RA Backup\r\nWed Jun  3 11:18:08 2020: End: Post Patch Service Enable\r\nWed Jun  3 11:18:08 2020: Start: Reset RA user password\r\nWed Jun  3 11:18:09 2020: End: Reset RA user password\r\nWed Jun  3 11:18:09 2020: Start: Check for EM Agents\r\nWed Jun  3 11:19:00 2020: End: Check for EM Agents\r\nWed Jun  3 11:19:00 2020: Start: Check Init Parameters\r\nWed Jun  3 11:19:00 2020: End: Check Init Parameters\r\nWed Jun  3 11:19:00 2020: Start: Setup OS\r\nWed Jun  3 11:19:35 2020: End: Setup OS\r\nWed Jun  3 11:19:35 2020: Start: Post Patch Clean Up\r\nWed Jun  3 11:34:14 2020: End: Post Patch Clean Up\r\nWed Jun  3 11:34:14 2020: End: Patch Recovery Appliance - Step [Patch]\r\n[root@zeroinsg01 ~]#<\/pre>\n<p style=\"text-align: justify;\">The patch will apply everything that is needed: OH Patches, GI Patches, OSB, and ZDLRA stack. In this process, the ZDLRA will be \u201coffline\u201d and not receive ingested backups. I recommend not even try to send backups (or archivelogs) to ZDLRA to avoid concurrencies inside rman catalog (since the patch process touches it too).<\/p>\n<p style=\"text-align: justify;\">You can see below some parts of the patch apply process:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">Wed Jun  3 10:17:48 2020: Got \/u01\/app\/oracle\/product\/19.0.0.0\/dbhome_1 patch status\r\nWed Jun  3 10:17:48 2020: Checking for 29517242.\r\nWed Jun  3 10:17:48 2020: Found 29517242.\r\nWed Jun  3 10:17:48 2020: Start: Pre Patch Release Steps\r\nWed Jun  3 10:17:48 2020: End: RunLevel 1001\r\nWed Jun  3 10:17:48 2020: Start: RunLevel 1002\r\nWed Jun  3 10:17:48 2020: End: Pre Patch Release Steps\r\nWed Jun  3 10:17:48 2020: Start: Unpack Patches\r\nWed Jun  3 10:17:48 2020: Start: Unpack Patches\r\nWed Jun  3 10:17:48 2020: Checking for patch [29726449]\r\nWed Jun  3 10:17:48 2020: Found patch [29726449]. Checking 29726449.\r\nWed Jun  3 10:17:48 2020: Patch [29726449] md5sum matches. Unpacking 29726449.\r\nWed Jun  3 10:17:48 2020: Switching to UID: 1001, GID: 1002\r\nWed Jun  3 10:17:48 2020: Set Command '\/usr\/bin\/unzip -nuq \/radump\/\/p29726449_190000_Linux-x86-64.zip -d \/\/radump\/\/patch\/\/general' timeout to 900.\r\n\r\nWed Jun  3 10:17:48 2020: Unpacking 29726449 complete. OK\r\nWed Jun  3 10:17:48 2020: Checking for patch [29232533]\r\nWed Jun  3 10:17:48 2020: Found patch [29232533]. Checking 29232533.\r\nWed Jun  3 10:17:48 2020: Patch [29232533] md5sum matches. Unpacking 29232533.\r\n\u2026\r\n\u2026\r\nWed Jun  3 10:24:00 2020: spawn \/usr\/bin\/ssh -o ConnectTimeout=20 -o LogLevel=error -l root zeroinsg02 \/u01\/app\/19.0.0.0\/grid\/bin\/crsctl stop crs -f\r\n\u2026\r\n\u2026\r\nWed Jun  3 10:33:16 2020: Found 28279612.\r\nWed Jun  3 10:33:16 2020: Removing 28279612\r\nWed Jun  3 10:33:16 2020: Set Command '\/usr\/bin\/expect ' timeout to 305.\r\n\r\nWed Jun  3 10:33:43 2020: spawn \/usr\/bin\/ssh -o ConnectTimeout=20 -o LogLevel=error -l oracle zeroinsg02 \/u01\/app\/oracle\/product\/19.0.0.0\/dbhome_1\/OPatch\/opatch rollback -id 28279612 -local_node -no_relink -oh \/u01\/app\/oracle\/product\/19.0.0.0\/dbhome_1 -silent\r\nOracle Interim Patch Installer version 12.2.0.1.17\r\n...\r\n...\r\nWed Jun  3 10:36:52 2020: spawn \/usr\/bin\/ssh -o ConnectTimeout=20 -o LogLevel=error -l root zeroinsg01 \/u01\/app\/19.0.0.0\/grid\/OPatch\/opatchauto apply \/\/radump\/\/patch\/\/gi_opatchauto\/29708769 -oh \/u01\/app\/19.0.0.0\/grid\r\n\r\nOPatchauto session is initiated at Wed Jun  3 10:36:21 2020\r\n\u2026\r\n\u2026\r\n===========================================================\r\ninstall-zdlra-patch starting\r\n===========================================================\r\nProcessing in install 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\nBackout root is \/u01\/app\/oracle\/product\/19.0.0.0\/dbhome_1\/rdbms\/install\/zdlra\/backout_0001\r\nDestination appears to be an installed shiphome.\r\nlibrary = libzdlraserver19.a\r\nPerforming object copies for libserver19.a.\r\n\u2026\r\n\u2026\r\nProcessing install\/zdlra files.\r\nCopying \/opt\/oracle.RecoveryAppliance\/zdlra\/install\/zdlra\/zdlra-software-id to \/u01\/app\/oracle\/product\/19.0.0.0\/dbhome_1\/rdbms\/install\/zdlra\/zdlra-software-id\r\n\u2026\r\n\u2026\r\nWed Jun  3 11:00:39 2020: Start: Update Sys Package.\r\nWed Jun  3 11:00:39 2020: Switching to UID: 1001, GID: 1002\r\nWed Jun  3 11:00:39 2020: Set Command '\/u01\/app\/oracle\/product\/19.0.0.0\/dbhome_1\/bin\/sqlplus       -s \/ AS SYSDBA &lt;&lt;EOF\r\n\u2026\r\n\u2026\r\nGranting VPD privileges to the owner of the base catalog schema RASYS\r\n\r\n========================================\r\nVPD SETUP STATUS:\r\nVPD privileges granted successfully!\r\nConnect to RMAN base catalog and perform UPGRADE CATALOG.\r\n\u2026\r\n\u2026\r\nWed Jun  3 11:00:51 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\nWed Jun  3 11:18:08 2020: Start: Enable RA Backup\r\nWed Jun  3 11:18:08 2020: Create Symlink succeeded on zeroinsg02.\r\nWed Jun  3 11:18:08 2020: Create Symlink succeeded on zeroinsg01.\r\nWed Jun  3 11:18:08 2020: ra_export.pl successfully enabled.\r\n\u2026\r\n\u2026\r\nWed Jun  3 11:34:14 2020: End: Post Patch Clean Up\r\nWed Jun  3 11:34:14 2020: Deleted restart flag \/opt\/oracle.RecoveryAppliance\/data\/racli_patch_appliance.restart\r\nWed Jun  3 11:34:14 2020: End: Patch Recovery Appliance - Step [Patch]<\/pre>\n<p style=\"text-align: justify;\">As you can see, everything is done by racli, since GI patches, OH metadata, and ZDLRA patches.<\/p>\n<h3 style=\"text-align: justify;\">06 \u2013 Post Patch<\/h3>\n<p style=\"text-align: justify;\">As a post patch, we can check again the appliance and verify if everything is running correctly:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[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.202003-31304538.x86_64\r\n        rdbms version: RDBMS_19.3.0.0.190416DBRU_LINUX.X64_RELEASE\r\n        transaction  : kadjei_bug-31304538\r\n        zdlra version: ZDLRA_19.2.1.1.1.202003_LINUX.X64_RELEASE\r\n[root@zeroinsg01 ~]# racli status appliance\r\nzeroinsg01 db         state:  [ONLINE]\r\nzeroinsg01 crs        state:  [ONLINE]\r\nzeroinsg01 ra_server  state:  [ONLINE]\r\nzeroinsg02 ra_server  state:  [ONLINE]\r\nzeroinsg02 db         state:  [ONLINE]\r\nzeroinsg02 crs        state:  [ONLINE]\r\n[root@zeroinsg01 ~]#\r\n[root@zeroinsg01 ~]#\r\n[root@zeroinsg01 ~]# racli run check --all\r\nWed Jun  3 12:16:18 2020: Start: racli run check --all\r\n  Created log file zeroinsg01:\/opt\/oracle.RecoveryAppliance\/log\/racli_run_check_20200603.1216.log\r\n\r\nWed Jun  3 12:16:21 2020: CHECK: RA Services                         - PASS\r\nWed Jun  3 12:16:31 2020: CHECK: Exadata Image Version               - PASS\r\nWed Jun  3 12:16:32 2020: CHECK: Active Incidents                    - PASS\r\nWed Jun  3 12:16:40 2020: CHECK: Init Parameters                     - PASS\r\nWed Jun  3 12:16:41 2020: CHECK: Invalid Objects                     - PASS\r\nWed Jun  3 12:16:41 2020: CHECK: Export Backup                       - PASS\r\nWed Jun  3 12:16:42 2020: CHECK: ZDLRA Rasys Wallet                  - PASS\r\nWed Jun  3 12:16:46 2020: CHECK: Compute Node AlertHistory\r\nWed Jun  3 12:16:46 2020:   HOST: [zeroinsg02]                      - PASS\r\nWed Jun  3 12:16:46 2020:   HOST: [zeroinsg01]                      - PASS\r\nWed Jun  3 12:16:53 2020: CHECK: Storage Cell AlertHistory\r\nWed Jun  3 12:16:53 2020:   HOST: [zerocadm02]                   - PASS\r\nWed Jun  3 12:16:53 2020:   HOST: [zerocadm05]                   - PASS\r\nWed Jun  3 12:16:53 2020:   HOST: [zerocadm01]                   - PASS\r\nWed Jun  3 12:16:53 2020:   HOST: [zerocadm04]                   - PASS\r\nWed Jun  3 12:16:53 2020:   HOST: [zerocadm06]                   - PASS\r\nWed Jun  3 12:16:53 2020:   HOST: [zerocadm03]                   - PASS\r\nWed Jun  3 12:16:53 2020: CHECK: Oracle User Password Expires\r\nWed Jun  3 12:16:53 2020:   HOST: [zeroinsg01]                      - PASS\r\nWed Jun  3 12:16:53 2020:   HOST: [zeroinsg02]                      - PASS\r\nWed Jun  3 12:16:54 2020: CHECK: ZDLRA Version\r\nWed Jun  3 12:16:54 2020:   HOST: [zeroinsg01]                      - PASS\r\nWed Jun  3 12:16:54 2020:   HOST: [zeroinsg02]                      - PASS\r\nWed Jun  3 12:16:54 2020: End: racli run check --all\r\n[root@zeroinsg01 ~]#<\/pre>\n<p style=\"text-align: justify;\">If you faced whatever the error, open one SR against Oracle at MOS to receive the correct feedback and fix. Never tries to execute some commands to \u201cfix\u201d because you can corrupt the database and lost data, backups, and your job.<\/p>\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 update 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;\">Conclusion<\/h2>\n<p style=\"text-align: justify;\">The process to update is not complicated, but some details need to be checked before start the process. The patch process is different than the upgrade that I described at my <a href=\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-the-recovery-appliance\/\" target=\"_blank\" rel=\"noopener noreferrer\">previous post<\/a> since the major release continued the same. It can be simpler, but the details are very, very, similar. &nbsp;<\/p>\n<p style=\"text-align: justify;\">&nbsp;<\/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 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 ZDLRA is not complicated, but it is important to be aware of some details. The most important is from where you are until where you want to go. This is crucial because it will define what commands you will need to execute. If you read the previous post about the process, [&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,6,5,14,12,51],"tags":[100,65,135,124,74],"class_list":["post-736","post","type-post","status-publish","format-standard","hentry","category-database","category-engineeredsystems","category-exadata","category-oracle","category-update","category-upgrade","category-zdlra","tag-engineered-systems","tag-oracle","tag-patch","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\/Update the Recovery Appliance - Fernando Simon<\/title>\n<meta name=\"description\" content=\"Check how to patch the ZDLRA library. Choosing the correct version, and how to use the racli update command.\" \/>\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-update-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\/Update the Recovery Appliance - Fernando Simon\" \/>\n<meta property=\"og:description\" content=\"Check how to patch the ZDLRA library. Choosing the correct version, and how to use the racli update command.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/\" \/>\n<meta property=\"og:site_name\" content=\"Fernando Simon\" \/>\n<meta property=\"article:published_time\" content=\"2020-06-07T23:34:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-01T09:36:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Exa-Supported.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=\"17 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-update-the-recovery-appliance\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/\"},\"author\":{\"name\":\"Simon\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9\"},\"headline\":\"ZDLRA, Patch\/Update the Recovery Appliance\",\"datePublished\":\"2020-06-07T23:34:41+00:00\",\"dateModified\":\"2023-02-01T09:36:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/\"},\"wordCount\":1418,\"commentCount\":1,\"image\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Exa-Supported.png\",\"keywords\":[\"Engineered Systems\",\"Oracle\",\"Patch\",\"Upgrade\",\"ZDLRA\"],\"articleSection\":[\"Database\",\"Engineered Systems\",\"Exadata\",\"Oracle\",\"Update\",\"Upgrade\",\"ZDLRA\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/\",\"url\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/\",\"name\":\"ZDLRA, Patch\/Update the Recovery Appliance - Fernando Simon\",\"isPartOf\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Exa-Supported.png\",\"datePublished\":\"2020-06-07T23:34:41+00:00\",\"dateModified\":\"2023-02-01T09:36:23+00:00\",\"author\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9\"},\"description\":\"Check how to patch the ZDLRA library. Choosing the correct version, and how to use the racli update command.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/#primaryimage\",\"url\":\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Exa-Supported.png\",\"contentUrl\":\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Exa-Supported.png\",\"width\":2464,\"height\":562},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.fernandosimon.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ZDLRA, Patch\/Update 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\/Update the Recovery Appliance - Fernando Simon","description":"Check how to patch the ZDLRA library. Choosing the correct version, and how to use the racli update command.","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-update-the-recovery-appliance\/","og_locale":"en_US","og_type":"article","og_title":"ZDLRA, Patch\/Update the Recovery Appliance - Fernando Simon","og_description":"Check how to patch the ZDLRA library. Choosing the correct version, and how to use the racli update command.","og_url":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/","og_site_name":"Fernando Simon","article_published_time":"2020-06-07T23:34:41+00:00","article_modified_time":"2023-02-01T09:36:23+00:00","og_image":[{"url":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Exa-Supported.png","type":"","width":"","height":""}],"author":"Simon","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Simon","Est. reading time":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/#article","isPartOf":{"@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/"},"author":{"name":"Simon","@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9"},"headline":"ZDLRA, Patch\/Update the Recovery Appliance","datePublished":"2020-06-07T23:34:41+00:00","dateModified":"2023-02-01T09:36:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/"},"wordCount":1418,"commentCount":1,"image":{"@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/#primaryimage"},"thumbnailUrl":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Exa-Supported.png","keywords":["Engineered Systems","Oracle","Patch","Upgrade","ZDLRA"],"articleSection":["Database","Engineered Systems","Exadata","Oracle","Update","Upgrade","ZDLRA"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/","url":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/","name":"ZDLRA, Patch\/Update the Recovery Appliance - Fernando Simon","isPartOf":{"@id":"https:\/\/www.fernandosimon.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/#primaryimage"},"image":{"@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/#primaryimage"},"thumbnailUrl":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Exa-Supported.png","datePublished":"2020-06-07T23:34:41+00:00","dateModified":"2023-02-01T09:36:23+00:00","author":{"@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9"},"description":"Check how to patch the ZDLRA library. Choosing the correct version, and how to use the racli update command.","breadcrumb":{"@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/#primaryimage","url":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Exa-Supported.png","contentUrl":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2020\/06\/ZDLRA-Patch-Exa-Supported.png","width":2464,"height":562},{"@type":"BreadcrumbList","@id":"https:\/\/www.fernandosimon.com\/blog\/zdlra-patch-update-the-recovery-appliance\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.fernandosimon.com\/blog\/"},{"@type":"ListItem","position":2,"name":"ZDLRA, Patch\/Update 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-bS","_links":{"self":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/posts\/736","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=736"}],"version-history":[{"count":0,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/posts\/736\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/media?parent=736"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/categories?post=736"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/tags?post=736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}