Nedávno jsem musel pracovat se svým SysAdminem na menším upgradu OS na dvouuzlovém clusteru RAC. Používám Oracle Grid Infrastructure 11.2.0.2 s Oracle RDBMS 11.2.0.2 a upgradovali jsme z Oracle Enterprise Linux 5.2 na 5.8.
Jak většina Oracle DBA ví, po upgradu operačního systému je dobré znovu zkompilovat software Oracle. U softwaru Oracle RDMBS je to tak jednoduché jako „$ORACLE_HOME/bin/relink all“. Ale co software Grid Infrastructure?
Pokud si přečtete Metalink Note 220970.1 RAC:Frequently Asked Questions, uvádí se v něm, že pro verzi 11.2 a vyšší byste měli po upgradu operačního systému znovu propojit (Nižší verze opětovné propojení nepotřebují). Myslím si však, že kroky jsou trochu zavádějící, jak jsem včera večer zjistil. Kroky uvedené v této poznámce jsou následující:
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
To, co vám instrukce neřeknou, je, že poslední volání rootcrs.pl spustí infrastrukturu Grid, což pro většinu lidí znamená automatický restart instancí běžících pod kontrolou GI. Ale počkej chvíli! Nedostal jsem příležitost překompilovat software Oracle RDBMS! Zde jsou mé upravené kroky k překompilování všeho:
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
Tímto způsobem znovu zkompilujeme software Grid Infrastructure a poté software RDBMS. Pak poslední volání rootcrs.pl spustí GI a spustí instance.