Hola a todos, hoy vamos contar cómo aplicar patch 19.14 en una Infraestructura Grid 19.3. Cuando descargamos el Motor Grid 19c para Linux nos vendrá con la versión 19.3. Nosotros queremos llevar el motor de Grid a la versión 19.14. Para ello, debemos aplicar un patch (33509923). Comencemos.
Chequear el entorno Actual
Lo primero que debemos hacer es ejecutar el comando “opatch lspatches”
$ORACLE_HOME/OPatch/opatch lspatches 29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399) 29517247;ACFS RELEASE UPDATE 19.3.0.0.0 (29517247) 29517242;Database Release Update : 19.3.0.0.190416 (29517242) 29401763;TOMCAT RELEASE UPDATE 19.0.0.0.0 (29401763) OPatch succeeded.

Aplicar Patch 19.14 Debemos utilizar la última versión de OPatch
Lo primero que debemos hacer es un Backup al OPatch actual. Una vez realizado el backup debemos descargar la última versión de opatch desde la siguiente url: p6880880_190000_Linux-x86-64.zip y realizar estos pasos:
# cd =/u01/app/19.0.0/grid # cp OPatch OPatch_bkp_04082023 # rm -rf $ORACLE_HOME/OPatch # su – grid $ export ORACLE_HOME=/u01/app/19.0.0/grid $ cp /u01/app/oracle/PATCH_ORACLE/p6880880_190000_Linux-x86-64.zip /u01/app/19.0.0/grid $ unzip p6880880_190000_Linux-x86-64.zip $ $ORACLE_HOME/OPatch/opatch version OPatch Version: 12.2.0.1.36 OPatch succeeded.
Descomprimir el parche 33509923
Una vez actualizado OPatch a la última versión, descomprimiremos el parche.
su - grid $ cd /u01/app/oracle/PATCH_ORACLE/ $ unzip p33509923_190000_Linux-x86-64.zip
Ejecutar el comando opatch prereq
Ejecutaremos el comando «opatch prereq» para ver si algún parche único actualmente instalado entra en conflicto con el parche descargado: 33509923.
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/app/oracle/PATCH_ORACLE/33509923/33515361 Oracle Interim Patch Installer version 12.2.0.1.36 Copyright (c) 2023, Oracle Corporation. All rights reserved. PREREQ session Oracle Home : /u01/app/19.0.0/grid Central Inventory : /u01/app/oraInventory from : /u01/app/19.0.0/grid/oraInst.loc OPatch version : 12.2.0.1.36 OUI version : 12.2.0.7.0 Log file location : /u01/app/19.0.0/grid/cfgtoollogs/opatch/opatch2023-08-04_09-38-19AM_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded. $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/app/oracle/PATCH_ORACLE/33509923/33529556 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/app/oracle/PATCH_ORACLE/33509923/33534448 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/app/oracle/PATCH_ORACLE/33509923/33239955 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/app/oracle/PATCH_ORACLE/33509923/33575402
Nota: Si se observa conflicto por favor detener la instalación del Patch, si se observa que la instalación no presenta error, entonces puede continuar.
Detener la instancia de base de datos
Antes de instalar el parche, detendremos la instancia de base de datos.
$ sqlplus / as sysdba SQL > shutdown immediate
Aplicar Patch usando opatchauto
Aplicamos el parche usando opatchauto de la siguiente manera:
Con el usuario de root seteamos las variables de Grid y aplicamos el parche con el comando «opatchauto apply«:
# cd /u01/app/oracle/PATCH_ORACLE/33509923/ # export ORACLE_HOME=/u01/app/19.0.0/grid # export PATH=$ORACLE_HOME/bin:$PATH # $ORACLE_HOME/OPatch/opatchauto apply Patching is completed successfully. Please find the summary as follows: Host:xxxxxxxxxxxxxx SIHA Home:/u01/app/19.0.0/grid Version:19.0.0.0.0 Summary: ==Following patches were SUCCESSFULLY applied: Patch: /u01/app/oracle/PATCH_ORACLE/33509923/33239955 Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2023-08-04_09-53-29AM_1.log Patch: /u01/app/oracle/PATCH_ORACLE/33509923/33515361 Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2023-08-04_09-53-29AM_1.log Patch: /u01/app/oracle/PATCH_ORACLE/33509923/33529556 Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2023-08-04_09-53-29AM_1.log Patch: /u01/app/oracle/PATCH_ORACLE/33509923/33534448 Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2023-08-04_09-53-29AM_1.log Patch: /u01/app/oracle/PATCH_ORACLE/33509923/33575402 Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2023-08-04_09-53-29AM_1.log OPatchauto session completed at Fri Aug 4 10:02:20 2023 Time taken to complete the session 10 minutes, 5 seconds $ $ORACLE_HOME/OPatch/opatch lspatches 33575402;DBWLM RELEASE UPDATE 19.0.0.0.0 (33575402) 33534448;ACFS RELEASE UPDATE 19.14.0.0.0 (33534448) 33529556;OCW RELEASE UPDATE 19.14.0.0.0 (33529556) 33515361;Database Release Update : 19.14.0.0.220118 (33515361) 33239955;TOMCAT RELEASE UPDATE 19.0.0.0.0 (33239955) OPatch succeeded.
Levantamos la instancia de base de datos después de aplicar el patch
Una vez aplicado el parche, levantaremos nuevamente la instancia.
$ sqlplus / as sysdba SQL > startup
Nota: Después de finalizar el parche, se recomienda realizar una copia de seguridad de los componentes del clusterware
Al aplicar un parche en Oracle, o en cualquier base de datos, el comportamiento de las queries puede cambiar, ya sea a mejor o peor. Si esto te preocupa y quieres comprobar antes de aplicar el parche, si afectará al rendimiento de tu entorno, nuestra herramienta GPS Query Performance te ayudará. Esta herramienta, te permitirá medir, comparar, y ejecutar queries en un entorno con el nuevo parche instalado para ver si hay diferencias entre una versión otra. No te la juegues en entornos de producción, confía en GPS Query Performance.