En un episodio anterior mostramos cómo parchar Oracle Database Server out-of-place usando Gold Image, pero ¿qué ocurre si tenemos que parchar Oracle Grid Infrastructure?
Para aprender a hacerlo usaremos una instalación con Oracle Grid Infrastructure for a standalone server, también conocida como Oracle Restart, que opera con RU 19.24 y que deseamos actualizar a RU 19.26.
Ahora sí, veamos el procedimiento:
Situación inicial
El OH de Oracle Grid Infrastructure tiene aplicados los siguientes parches:
$ echo $ORACLE_HOME
/u01/app/grid/19.0.0/grid_1
36758186 | DBWLM RELEASE UPDATE 19.0.0.0.0 (36758186) |
36648174 | TOMCAT RELEASE UPDATE 19.0.0.0.0 (36648174) |
36590554 | ACFS RELEASE UPDATE 19.24.0.0.0 (36590554) |
36587798 | OCW RELEASE UPDATE 19.24.0.0.0 (36587798) |
36582781 | Database Release Update : 19.24.0.0.240716 (36582781) |
36538667 | JDK BUNDLE PATCH 19.0.0.0.240716 |
1
2
Creación de nuevo Oracle Home
Creamos un directorio que luego se asociará con un Oracle Home llamado GIHome2.
$ mkdir /u01/app/grid/19.0.0/grid_2
Instalación de Oracle Grid Infrastructure
Descomprimimos el software base de Oracle Grid Infrastructure 19c en el directorio recién creado.
$ export GI_HOME=/u01/app/grid/19.0.0/grid_2
$ export STAGE=/stage
$ unzip -oq ${STAGE}/LINUX.X64_193000_grid_home.zip -d ${GI_HOME}
$ rm -rf ${GI_HOME}/OPatch
$ unzip -oq ${STAGE}/p6880880_190000_Linux-x86-64.zip -d ${GI_HOME}
Luego de esto tenemos los binarios de Oracle Grid Infrastructure 19.3 en el nuevo directorio.
3
4
Parchado del nuevo Oracle Home
Aplicaremos los siguientes parches:
37257886 | GI release update 19.26.0.0.0 |
37542054 | JDK bundle patch 19.0.0.0.250415 |
37769929 | GI MRP 19.26.0.0.250415 |
$ ${GI_HOME}/gridSetup.sh -silent -printtime -waitforcompletion \
-ignorePrereqFailure -lenientInstallMode \
ORACLE_HOME_NAME="GIHome2" -applyRU ${STAGE}/37257886 \
-applyOneOffs ${STAGE}/37542054 \
-responseFile ${DB_HOME}/install/response/gridsetup.rsp \
INVENTORY_LOCATION=/u01/app/oraInventory \
oracle.install.option=CRS_SWONLY \
ORACLE_BASE=/u01/app/oracle \
oracle.install.asm.OSDBA=asmdba \
oracle.install.asm.OSOPER=asmoper \
oracle.install.asm.OSASM=asmadmin
$ ${GI_HOME}/OPatch/opatchauto apply ${STAGE}/37769929 \
-binary -oh ${GI_HOME} -target_type cluster
Preparando el cambio de Oracle Home
Como usuario root, confirmamos la versión en uso y el estado de los servicios.
# echo ORACLE_HOME
/u01/app/grid/19.0.0/grid_1
# crsctl query has releasepatch
Oracle Clusterware release patch level is [467891468].
The release patch string is [19.24.0.0.0].
# crsctl stat res -t
----------------------------------------------------------
Name Target State Server State details
----------------------------------------------------------
Local Resources
----------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE server STABLE
ora.LISTENER.lsnr
ONLINE ONLINE server STABLE
ora.asm
ONLINE ONLINE server Started,STABLE
ora.ons
OFFLINE OFFLINE server STABLE
---------------------------------------------------------
Cluster Resources
---------------------------------------------------------
ora.cssd
1 ONLINE ONLINE server STABLE
ora.diskmon
1 OFFLINE OFFLINE STABLE
ora.evmd
1 ONLINE ONLINE server STABLE
ora.orcl.db
1 ONLINE ONLINE server Open,HOME=/u01/app/o
racle/19.0.0/db_1,ST
ABLE
---------------------------------------------------------
Procedemos a ejecutar prepatch desde el OH actual, referenciando al nuevo OH.
Este paso no interrumpe los servicios ni de clusterware ni de base de datos.
# export GI_HOME_NEW=/u01/app/grid/19.0.0/grid_2
# ${ORACLE_HOME}/crs/install/roothas.sh -prepatch -dstcrshome ${GI_HOME_NEW}
Using configuration parameter file: /u01/app/grid/19.0.0/grid_1/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/oracle/crsdata/server/crsconfig/hapatch_2025-04-30_12-55-48AM.log
2025/04/30 12:55:54 CLSRSC-347: Successfully unlock /u01/app/grid/19.0.0/grid_2
2025/04/30 12:55:54 CLSRSC-671: Pre-patch steps for patching GI home successfully completed.
5
6
Suspensión del servicio de base de datos
Para poder usar el nuevo OH de Oracle Grid Infrastructure, obligatoriamente se tiene que bajar la base de datos como primer paso.
$ srvctl status database -db orcl
Database is running.
$ srvctl stop database -db orcl -stopmode immediate
$ srvctl status database -db orcl
Database is not running.
Actualización del Clusterware
Siempre como usuario root procedemos a ejecutar postpatch desde el OH actual, referenciando al nuevo OH.
Este paso interrumpe los servicios de clusterware.
# export GI_HOME_NEW=/u01/app/grid/19.0.0/grid_2
# ${ORACLE_HOME}/crs/install/roothas.sh -postpatch -dstcrshome ${GI_HOME_NEW}
Using configuration parameter file: /u01/app/grid/19.0.0/grid_1/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/oracle/crsdata/server/crsconfig/hapatch_2025-04-30_01-13-17PM.log
2025/04/30 13:13:59 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.service'
2025/04/30 13:14:49 CLSRSC-672: Post-patch steps for patching GI home successfully completed.
Confirmamos que se actualizó la versión en uso, verificamos el estado de los servicios y finalmente subimos la base de datos.
$ echo ORACLE_HOME
/u01/app/grid/19.0.0/grid_2
$ crsctl query has releasepatch
Oracle Clusterware release patch level is [2917480843].
The release patch string is [19.26.0.0.0].
$ crsctl stat res -t
----------------------------------------------------------
Name Target State Server State details
----------------------------------------------------------
Local Resources
----------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE server STABLE
ora.LISTENER.lsnr
ONLINE ONLINE server STABLE
ora.asm
ONLINE ONLINE server Started,STABLE
ora.ons
OFFLINE OFFLINE server STABLE
---------------------------------------------------------
Cluster Resources
---------------------------------------------------------
ora.cssd
1 ONLINE ONLINE server STABLE
ora.diskmon
1 OFFLINE OFFLINE STABLE
ora.evmd
1 ONLINE ONLINE server STABLE
ora.orcl.db
1 ONLINE ONLINE server Instance Shutdown,ST
ABLE
---------------------------------------------------------
$ echo $ORACLE_HOME
/u01/app/oracle/19.0.0/db_1
$ srvctl start database -db orcl
$ srvctl status database -db orcl
Database is running.
7
Conclusiones
En muy pocos minutos y con mínima suspensión del servicio, tenemos Oracle Grid Infrastructure operando desde GIHome2, parchado con RU 19.26.
Como ya lo habrás notado, la base de datos sigue operando con Oracle Database Server 19.24, y si bien es válido tener versiones distintas de Oracle Grid Infrastructure y Oracle Database Server, es recomendable actualizarlo también. El procedimiento ya lo detallamos en artículo previo, así que dale una mirada si no lo has hecho aún.
En el siguiente episodio veremos cómo usar el parchado out-of-place para Oracle Grid Infrastructure pero ahora usando Gold Image, así que estén atentos!
2 Responses
Interesante artículo. Consulta, no es necesario aplicar todos los parches que tenía el GI en la versión previa?
Hola, Elena. Gracias por la pregunta. No es necesario aplicarlos porque los RU son acumulativos, es decir: ya incluyen todos los patches previos.
Saludos.