{"id":4385,"date":"2023-11-16T00:52:04","date_gmt":"2023-11-16T00:52:04","guid":{"rendered":"https:\/\/oracleconraul.com\/?p=4385"},"modified":"2025-09-01T18:26:19","modified_gmt":"2025-09-01T18:26:19","slug":"como-aplicar-parche-19-20-0-0-en-base-de-datos-oracle","status":"publish","type":"post","link":"https:\/\/oracleconraul.com\/index.php\/2023\/11\/16\/como-aplicar-parche-19-20-0-0-en-base-de-datos-oracle\/","title":{"rendered":"C\u00f3mo aplicar parche 19.20.0.0 en Base de datos Oracle"},"content":{"rendered":"\n<p>En esta entrada vamos a describir c\u00f3mo aplicar un parche a nuestra base de datos. En este ejemplo, nuestra base de datos se encuentra en la versi\u00f3n 19.3.0.0 y vamos a aplicar el parche 19.20.0.0 (<em>Patch 35320081: DATABASE RELEASE UPDATE 19.20.0.0.0<\/em>), aunque el procedimiento suele ser similar recomiendo siempre leer el README de los parches para tener claro los pasos del mismo si se siguiera esta gu\u00eda para aplicar un parche diferente. En nuestro caso parchearemos una base de datos en local, sin ASM y en modo \u00abNo Rolling\u00bb, es decir con parada de la base de datos.<\/p>\n\n\n\n<p>En primer lugar, c\u00f3mo es l\u00f3gico es conocer la versi\u00f3n  de parcheo actual de nuestra base de datos, lo podemos hacer de varias maneras, una de ellas es la siguiente.<br>Con las variables de entorno de la base de datos a parchear cargadas, lanzamos el siguiente comando (opatch lspatches).<br><\/p>\n\n\n\n<p class=\"has-ast-global-color-8-color has-ast-global-color-4-background-color has-text-color has-background has-small-font-size\">[oracle@localhost OPatch]$ .\/opatch lspatches<br>29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)<br>29517242;Database Release Update :<strong> 19.3.0.0.<\/strong>190416 (29517242)<br>OPatch succeeded.<\/p>\n\n\n\n<p>En nuestro caso la base de datos se encuentra en la release 19.3.0.0. <br>Bajamos el parche de 19.20.0.0 de la web oficial de Oracle, en nuestro caso para Linux x86-64.<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"522\" height=\"153\" src=\"https:\/\/oracleconraul.com\/wp-content\/uploads\/2023\/11\/image-4.png\" alt=\"\" class=\"wp-image-4403\" srcset=\"https:\/\/oracleconraul.com\/wp-content\/uploads\/2023\/11\/image-4.png 522w, https:\/\/oracleconraul.com\/wp-content\/uploads\/2023\/11\/image-4-300x88.png 300w\" sizes=\"(max-width: 522px) 100vw, 522px\" \/><\/figure>\n\n\n\n<p>Antes de poder aplicar el parche, y c\u00f3mo indica el README de los prerrequisitos del parche, es necesario disponer de la versi\u00f3n de Opatch 12.2.0.1.37 o superior. Yo siempre aconsejo bajar la \u00faltima versi\u00f3n de OPatch disponible. <\/p>\n\n\n\n<p>1) Bajamos el OPatch de la siguiente direcci\u00f3n de Oracle.<br><em><a href=\"https:\/\/updates.oracle.com\/download\/6880880.html\" target=\"_blank\" rel=\"noopener\" title=\"\">https:\/\/updates.oracle.com\/download\/6880880.html<\/a><\/em><br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"989\" height=\"345\" src=\"https:\/\/oracleconraul.com\/wp-content\/uploads\/2023\/11\/image-3.png\" alt=\"\" class=\"wp-image-4401\" srcset=\"https:\/\/oracleconraul.com\/wp-content\/uploads\/2023\/11\/image-3.png 989w, https:\/\/oracleconraul.com\/wp-content\/uploads\/2023\/11\/image-3-300x105.png 300w, https:\/\/oracleconraul.com\/wp-content\/uploads\/2023\/11\/image-3-768x268.png 768w\" sizes=\"(max-width: 989px) 100vw, 989px\" \/><\/figure>\n\n\n\n<p>Actualmente la versi\u00f3n disponible es la versi\u00f3n 12.2.0.1.40<br><br>Para aplicar esta versi\u00f3n, dir\u00edgete al ORACLE_HOME de tu base de datos, renombra el directorio actual \u00abOPatch\u00bb y descomprime el parche reci\u00e9n bajado.<\/p>\n\n\n\n<p class=\"has-ast-global-color-8-color has-ast-global-color-4-background-color has-text-color has-background has-small-font-size\">[oracle@localhost sw]$ cd $ORACLE_HOME<br>[oracle@localhost sw]$ mv OPatch\/ OPatch_old<br>[oracle@localhost sw]$ unzip p6880880_190000_Linux-x86-64.zip<br>Archive: p6880880_190000_Linux-x86-64.zip<br>creating: OPatch\/<br>creating: OPatch\/docs\/<br>inflating: OPatch\/docs\/cversion.txt<br>inflating: OPatch\/docs\/Users_Guide.txt<br>inflating: OPatch\/docs\/Prereq_Users_Guide.txt<br>inflating: OPatch\/docs\/FAQ<br>.<br>.<br>.<br>.<\/p>\n\n\n\n<p>Comprobamos que la versi\u00f3n del OPatch es la correcta.<\/p>\n\n\n\n<p class=\"has-ast-global-color-8-color has-ast-global-color-4-background-color has-text-color has-background has-small-font-size\">[oracle@localhost OPatch]$ .\/opatch version<br>OPatch Version: 12.2.0.1.40<br>OPatch succeeded.<\/p>\n\n\n\n<p>2) Descomprimimos el parche<br>cd \/tmp\/parche1920\/35320081<br>unizp p35320081_190000_Linux-x86-64.zip<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-ast-global-color-8-color has-ast-global-color-4-background-color has-text-color has-background has-small-font-size\"> ls -lrt \/tmp\/parche1920\/35320081<br>drwxr-xr-x. 5 oracle oracle 4096 jul 15 21:54 35320081<br>-rw-rw-r&#8211;. 1 oracle oracle 1749054 jul 18 15:03 PatchSearch.xml<br>-rw-rw-r&#8211;. 1 oracle oracle 1769419773 nov 15 17:54 p35320081_190000_Linux-x86-64.zip<\/p>\n\n\n\n<p>3) Ejecutamos el Precheck para comprobar que no hay discrepancias.<br>Dentro del directorio creado al descomprimir (\/tmp\/parche1920\/35320081\/35320081), lanzamos el siguiente comando:<\/p>\n\n\n\n<p class=\"has-ast-global-color-8-color has-ast-global-color-4-background-color has-text-color has-background has-small-font-size\">opatch prereq CheckConflictAgainstOHWithDetail -ph .\/<\/p>\n\n\n\n<p class=\"has-ast-global-color-8-color has-ast-global-color-4-background-color has-text-color has-background has-small-font-size\">opatch prereq CheckConflictAgainstOHWithDetail -ph .\/<br>Installer de Parche Temporal de Oracle versi\u00f3n 12.2.0.1.40<br>Copyright (c) 2023, Oracle Corporation. Todos los Derechos Reservados.<br>PREREQ session<br>Directorio ra\u00edz de Oracle : \/u01\/sw<br>Inventario central: \/u01\/oraInventory<br>de : \/u01\/sw\/oraInst.loc<br>Versi\u00f3n de OPatch : 12.2.0.1.40<br>Versi\u00f3n de OUI : 12.2.0.7.0<br>Ubicaci\u00f3n del archivo log : \/u01\/sw\/cfgtoollogs\/opatch\/opatch2023-11-15_18-17-30PM_1.log<br>Invoking prereq \u00abcheckconflictagainstohwithdetail\u00bb<br>Prereq \u00abcheckConflictAgainstOHWithDetail\u00bb passed.<br><strong>OPatch succeeded.<\/strong><\/p>\n\n\n\n<p>En entornos RAC, el parche se instalar\u00e1 en modo rolling (no downtime). Si no estamos en entornos RAC, c\u00f3mo es nuestro ejemplo, es necesario realizar un shutdown de todas las bases de datos pertenecientes al ORACLE_HOME a parchear, al igual que los listener asociados a dichas Bases de datos antes de poder aplicar el parche.<br><\/p>\n\n\n\n<p class=\"has-ast-global-color-8-color has-ast-global-color-4-background-color has-text-color has-background has-small-font-size\">[oracle@localhost 35320081]$ sqlplus \/ as sysdba<br>SQL*Plus: Release 19.0.0.0.0 &#8211; Production on Wed Nov 15 23:39:23 2023<br>Version 19.3.0.0.0<br>Copyright (c) 1982, 2019, Oracle. All rights reserved.<br>Connected to:<br>Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 &#8211; Production<br>Version 19.3.0.0.0<br>SQL&gt; shutdown immediate;<br>Database closed.<br>Database dismounted.<br>ORACLE instance shut down.<\/p>\n\n\n\n<p class=\"has-ast-global-color-8-color has-ast-global-color-4-background-color has-text-color has-background has-small-font-size\">[oracle@localhost 35320081]$ lsnrctl stop<br>LSNRCTL for Linux: Version 19.0.0.0.0 &#8211; Production on 15-NOV-2023 23:40:10<br>Copyright (c) 1991, 2019, Oracle. All rights reserved.<br>Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))<br>The command completed successfully<\/p>\n\n\n\n<p>En este momento es posible aplicar el parcheo.<br>La forma m\u00e1s sencilla es ir al directorio donde est\u00e1 localizado el parche que hemos descomprimido y ejecutar la utilidad OPatch de la siguiente manera:<br><\/p>\n\n\n\n<p class=\"has-ast-global-color-8-color has-ast-global-color-4-background-color has-text-color has-background has-small-font-size\">unzip -d &lt;PATCH_TOP_DIR&gt; p35320081_&lt;version&gt;_<em>&lt;platform&gt;<\/em>.zip<br>cd &lt;PATCH_TOP_DIR&gt; 35320081<br>opatch apply<\/p>\n\n\n\n<p>Aqu\u00ed mostramos la salida:<\/p>\n\n\n\n<p class=\"has-ast-global-color-8-color has-ast-global-color-4-background-color has-text-color has-background has-small-font-size\">[oracle@localhost 35320081]$<strong> opatch apply<\/strong><br>Installer de Parche Temporal de Oracle versi\u00f3n 12.2.0.1.40<br>Copyright (c) 2023, Oracle Corporation. Todos los Derechos Reservados.<br>Directorio ra\u00edz de Oracle : \/u01\/sw<br>Inventario central: \/u01\/oraInventory<br>de : \/u01\/sw\/oraInst.loc<br>Versi\u00f3n de OPatch : 12.2.0.1.40<br>Versi\u00f3n de OUI : 12.2.0.7.0<br>Ubicaci\u00f3n del archivo log : \/u01\/sw\/cfgtoollogs\/opatch\/opatch2023-11-15_23-48-57PM_1.log<br>Verifying environment and performing prerequisite checks\u2026<br>OPatch continues with these patches: 35320081<br>\u00bfDesea continuar? [y|n]<br>y<br>User Responded with: Y<br>All checks passed.<br>Cierre las instancias Oracle que se est\u00e9n ejecutando fuera de este ORACLE_HOME en el sistema local.<br>(Directorio Ra\u00edz de Oracle = &#8216;\/u01\/sw&#8217;)<br>\u00bfEst\u00e1 el sistema local listo para aplicarle un parche? [y|n]<br>y<br>User Responded with: Y<br>Backing up files\u2026<br><br>Aplicando parche a componente oracle.xdk.rsf, 19.0.0.0.0\u2026<br>Aplicando parche a componente oracle.ldap.client, 19.0.0.0.0\u2026<br>Aplicando parche a componente oracle.mgw.common, 19.0.0.0.0\u2026<br>Aplicando parche a componente oracle.odbc, 19.0.0.0.0\u2026<br>.<br>.<br><strong>Patch 35320081 successfully applied.<\/strong><\/p>\n\n\n\n<p>En este punto, podemos <strong>abrir la base de datos ORACLE_HOME parcheado<\/strong>.<\/p>\n\n\n\n<p class=\"has-ast-global-color-8-color has-ast-global-color-4-background-color has-text-color has-background has-small-font-size\">[oracle@localhost 35320081]$ sqlplus \/ as sysdba<br>SQL*Plus: Release 19.0.0.0.0 \u2013 Production on Wed Nov 15 23:39:23 2023<br>Version 19.20.0.0.0<br>Copyright (c) 1982, 2019, Oracle. All rights reserved.<br>Connected to:<br>Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 \u2013 Production<br>Version 19.20.0.0.0<br>SQL&gt; startup<br>Database started.<\/p>\n\n\n\n<p>4) Pasos post-instalaci\u00f3n.<\/p>\n\n\n\n<p>Una vez aplicado el parche, hay que realizar la siguiente acci\u00f3n (no es necesario para Oracle Database client).<\/p>\n\n\n\n<p class=\"has-ast-global-color-8-color has-ast-global-color-4-background-color has-text-color has-background has-small-font-size\">% cd $ORACLE_HOME\/OPatch<br>% <strong>.\/datapatch -verbose<\/strong><\/p>\n\n\n\n<p>Levantamos el listener.<\/p>\n\n\n\n<p class=\"has-ast-global-color-8-color has-ast-global-color-4-background-color has-text-color has-background has-small-font-size\">[oracle@localhost 35320081]$ lsnrctl start<\/p>\n\n\n\n<p>Comprobamos que el parche de base de datos ha sido correctamente aplicado.<\/p>\n\n\n\n<p class=\"has-ast-global-color-8-color has-ast-global-color-4-background-color has-text-color has-background has-small-font-size\">[oracle@localhost 35320081]$ opatch lspatches<br>35320081<strong>;Database Release Update : 19.20<\/strong>.0.0.230718 (35320081)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En esta entrada vamos a describir c\u00f3mo aplicar un parche a nuestra base de datos. En este ejemplo, nuestra base de datos se encuentra en la versi\u00f3n 19.3.0.0 y vamos a aplicar el parche 19.20.0.0 (Patch 35320081: DATABASE RELEASE UPDATE 19.20.0.0.0), aunque el procedimiento suele ser similar recomiendo siempre leer el README de los parches<\/p>\n<div class=\"more-link\">\n\t\t\t\t <a href=\"https:\/\/oracleconraul.com\/index.php\/2023\/11\/16\/como-aplicar-parche-19-20-0-0-en-base-de-datos-oracle\/\" class=\"link-btn theme-btn\"><span>Read More <\/span> <i class=\"fa fa-caret-right\"><\/i><\/a>\n\t\t\t<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"wpupg_custom_link":[],"wpupg_custom_link_behaviour":[],"wpupg_custom_link_nofollow":[],"wpupg_custom_image":[],"wpupg_custom_image_id":[],"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[14],"tags":[15],"class_list":["post-4385","post","type-post","status-publish","format-standard","hentry","category-oracle","tag-rdbmsoracle"],"_links":{"self":[{"href":"https:\/\/oracleconraul.com\/index.php\/wp-json\/wp\/v2\/posts\/4385","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oracleconraul.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oracleconraul.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oracleconraul.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oracleconraul.com\/index.php\/wp-json\/wp\/v2\/comments?post=4385"}],"version-history":[{"count":43,"href":"https:\/\/oracleconraul.com\/index.php\/wp-json\/wp\/v2\/posts\/4385\/revisions"}],"predecessor-version":[{"id":5129,"href":"https:\/\/oracleconraul.com\/index.php\/wp-json\/wp\/v2\/posts\/4385\/revisions\/5129"}],"wp:attachment":[{"href":"https:\/\/oracleconraul.com\/index.php\/wp-json\/wp\/v2\/media?parent=4385"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oracleconraul.com\/index.php\/wp-json\/wp\/v2\/categories?post=4385"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oracleconraul.com\/index.php\/wp-json\/wp\/v2\/tags?post=4385"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}