Recientemente tuve que trabajar con mi SysAdmin en una actualización menor del sistema operativo en un clúster RAC de dos nodos. Ejecuto Oracle Grid Infrastructure 11.2.0.2 con Oracle RDBMS 11.2.0.2 y estábamos actualizando de Oracle Enterprise Linux 5.2 a 5.8.
Como saben la mayoría de los DBA de Oracle, es una buena idea volver a compilar el software de Oracle después de una actualización del sistema operativo. Para el software Oracle RDMBS, esto es tan simple como “$ORACLE_HOME/bin/relink all”. Pero, ¿qué pasa con el software Grid Infrastructure?
Si lee Metalink Note 220970.1 RAC:Preguntas frecuentes, indica que para 11.2 y versiones posteriores, debe volver a vincular después de una actualización del sistema operativo (las versiones inferiores no necesitan volver a vincular). Sin embargo, creo que los pasos son un poco engañosos como descubrí anoche. Los pasos que da esta nota son los siguientes:
As root:
cd $GRID_HOME/crs/install
perl rootcrs.pl -unlock
As GRID_HOME owner ("oracle" in my case):
export ORACLE_HOME=$GRID_HOME
$ORACLE_HOME/bin/relink
As root:
cd $GRID_HOME/crs/install
perl rootcrs.pl -patch
Lo que las instrucciones no le dicen es que la última llamada a rootcrs.pl iniciará Grid Infrastructure, lo que para la mayoría de las personas significa un reinicio automático de las instancias que se ejecutan bajo el control de GI. ¡Pero espera un minuto! ¡No tuve la oportunidad de volver a compilar el software Oracle RDBMS! Así que aquí están mis pasos modificados para recompilar todo:
As root:
cd $GRID_HOME/crs/install
perl rootcrs.pl -unlock
As GRID_HOME owner ("oracle" in my case):
export ORACLE_HOME=$GRID_HOME
$ORACLE_HOME/bin/relink
export ORACLE_HOME={rdbms home}
$ORACLE_HOME/bin/relink all
As root:
cd $GRID_HOME/crs/install
perl rootcrs.pl -patch
De esta manera, volvemos a compilar el software Grid Infrastructure y luego el software RDBMS. Luego, la última llamada a rootcrs.pl iniciará GI e iniciará las instancias.