Di recente ho dovuto lavorare con il mio SysAdmin su un aggiornamento del sistema operativo minore su un cluster RAC a due nodi. Sto eseguendo Oracle Grid Infrastructure 11.2.0.2 con Oracle RDBMS 11.2.0.2 e stavamo eseguendo l'aggiornamento da Oracle Enterprise Linux 5.2 a 5.8.
Come la maggior parte dei DBA Oracle sanno, è una buona idea ricompilare il software Oracle dopo un aggiornamento del sistema operativo. Per il software Oracle RDMBS, questo è semplice come "$ORACLE_HOME/bin/relink all". Ma che dire del software Grid Infrastructure?
Se leggi Metallink Note 220970.1 RAC:Domande frequenti, afferma che per 11.2 e versioni successive, dovresti ricollegarti dopo un aggiornamento del sistema operativo (le versioni precedenti non richiedono il ricollegamento). Tuttavia, penso che i passaggi siano un po' fuorvianti, come ho scoperto ieri sera. I passaggi forniti da questa nota sono i seguenti:
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
Quello che le istruzioni non ti dicono è che l'ultima chiamata a rootcrs.pl avvierà Grid Infrastructure, che per la maggior parte delle persone significa un riavvio automatico delle istanze in esecuzione sotto il controllo di GI. Ma aspetta un minuto! Non ho avuto la possibilità di ricompilare il software Oracle RDBMS! Quindi ecco i miei passaggi modificati per ricompilare tutto:
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
In questo modo ricompiliamo il software Grid Infrastructure, quindi il software RDBMS. Quindi l'ultima chiamata a rootcrs.pl avvierà GI e avvierà le istanze.