Use OPatch to Install a Patch

1. Documentación en Tahiti -> Masters Book List -> Universal Installer and OPatch User’s Guide for Windows and UNIX -> 7 Patching Oracle Software with OPatch

2. Este es uno de los nuevos objetivos que han aparecido tras los cambios en el programa del examen del OCM. En general, instalar un parche no tiene ningún misterio. Te bajas el parche, descomprimes, te metes en la carpeta, ejecutas «opatch apply» y listo. Si algo va mal, «opatch rollback».

La instalación de un parche se puede complicar cuando tienes arquitecturas más complejas como RAC o Oracle Restart. En nuestro caso, vamos a instalar el último PSU (Patch Set Update) a la fecha de este artículo (Patch 16083653: GRID INFRASTRUCTURE PATCH SET UPDATE 11.2.0.3.6 – INCLUDES DB PSU 11.2.0.3.6). Además, cuando se instala un parche reciente, muchas veces es necesario actualizar la propia herramienta OPatch. Así que instalaremos también la última versión de OPatch. Este paso requiere que hayáis instalado GI, si no lo habéis hecho todavía, tendréis que esperar hasta que hayáis completado la sección de Grid Infrastructure.

3. Descargamos el parche para Linux x86 (p16083653_112030_LINUX.zip) y la herramienta OPatch actualizada (p6880880_112000_LINUX.zip) y los copiamos a la carpeta /u02/stage de la máquina OCM.

· p16083653_112030_LINUX.zip -> /u02/stage
· p6880880_112000_LINUX.zip -> /u02/stage

4. Actualizamos la herramienta OPatch en el HOME de GI y en el de la BD.

# Descomprimimos el software
cd /u02/stage
unzip p6880880_112000_LINUX.zip
rm p6880880_112000_LINUX.zip

# Reemplazamos OPatch en el HOME de RDBMS
mv /u01/app/oracle/product/11.2.0/dbhome_1/OPatch /u01/app/oracle/product/11.2.0/dbhome_1/OPatch_bkp
cp -pR /u02/stage/OPatch /u01/app/oracle/product/11.2.0/dbhome_1/OPatch

# Reemplazamos OPatch en el HOME de GI
# Estos comandos debemos ejecutarlos como root, ya que el HOME de GI tiene root como propietario
mv /u01/app/11.2.0/grid/OPatch /u01/app/11.2.0/grid/OPatch_bkp
cp -pR /u02/stage/OPatch /u01/app/11.2.0/grid/OPatch

5. Comprobamos que OPatch ha sido actualizado correctamente. En mi caso he actualizado a la versión 11.2.0.3.4.

/u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch version
/u01/app/11.2.0/grid/OPatch/opatch version

6. Por último instalamos el PSU 11.2.0.3.6. He seguido los pasos que aparecen en la nota de MOS 1494646.1. El punto más importante es que estamos instalando el parche sobre Oracle Restart, luego el propio parche se encargar de parar y levantar todos los recursos de forma automática.

# Descomprimimos el parche
cd /u02/stage
unzip p16083653_112030_LINUX.zip
rm p16083653_112030_LINUX.zip

# Generamos el fichero de respuestas OCM necesario para la instalación del parche (MOS 966023.1)
# Algunos usuarios han reportado que el comando emocmrsp falla al no encontrar JAVA
# La siguiente variable de sesión arregla el problema (Credits to Robert Davtyan)
export JAVA_HOME=/u01/app/oracle/<wbr />product/11.2.0/dbhome_1/jdk
/u01/app/11.2.0/grid/OPatch/ocm/bin/emocmrsp -no_banner -output /u02/stage/config.rsp

# Instalación del parche (ejecutamos como root en la VM OCM)
/u01/app/11.2.0/grid/OPatch/opatch auto /u02/stage -ocmrf /u02/stage/config.rsp

7. Dentro de las tareas post-instalación del parche, debemos actualizar el catálogo de la BD. Realizamos las siguientes tareas.

# Entramos en la BD
sqlplus / as sysdba

Y ejecutamos:

@catbundle.sql psu apply

8. Validamos la correcta instalación del parche en ambos HOME (GI y RDBMS).

/u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch lsinventory
/u01/app/11.2.0/grid/OPatch/opatch lsinventory

9. Borramos los ficheros de la instalación del parche.

rm -Rf /u02/stage/*

10. Ahora vamos a hacer una instalación rápida de un parche simple (Ej. p13429702_112030_LINUX).

# Ubicamos el parche en el directorio /u01/stage
ls -l /u01/stage/p13429702_112030_LINUX.zip

# Lo descomprimimos y nos situamos en el directorio descomprimido
cd /u01/stage
unzip p13429702_112030_LINUX.zip
cd 13429702

# Repasamos el fichero README.txt para ver los detalles de la instalación del parche
cat README.txt

# Lanzamos la instalación modo ONLINE (sustiumos la cadena ********** por la clave que tengamos)
$ORACLE_HOME/OPatch/opatch apply online -connectString OCM:sys:***********:

# Validamos que está correctamente instalado
$ORACLE_HOME/OPatch/opatch lsinventory | grep 13429702