Jag var nyligen tvungen att arbeta med min SysAdmin på en mindre OS-uppgradering på ett RAC-kluster med två noder. Jag kör Oracle Grid Infrastructure 11.2.0.2 med Oracle RDBMS 11.2.0.2 och vi uppgraderade från Oracle Enterprise Linux 5.2 till 5.8.
Som de flesta Oracle DBA:s vet är det en bra idé att kompilera om Oracle-programvaran efter en OS-uppgradering. För Oracle RDMBS-programvaran är detta så enkelt som "$ORACLE_HOME/bin/relink all". Men hur är det med programvaran Grid Infrastructure?
Om du läser Metalink Note 220970.1 RAC:Frequently Asked Questions, står det att för 11.2 och högre bör du länka om efter en OS-uppgradering (lägre versioner behöver inte omlänken). Jag tycker dock att stegen är lite missvisande som jag fick reda på igår kväll. Stegen som denna not ger är följande:
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
Vad instruktionerna misslyckas med att berätta är att det sista anropet till rootcrs.pl kommer att starta Grid Infrastructure, vilket för de flesta innebär en automatisk omstart av de instanser som körs under GI:s kontroll. Men vänta lite! Jag fick inte en chans att kompilera om Oracle RDBMS-programvaran! Så här är mina modifierade steg för att kompilera om allt:
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
På detta sätt kompilerar vi om Grid Infrastructure-programvaran och sedan RDBMS-mjukvaran. Sedan kommer det sista anropet till rootcrs.pl att starta GI och starta instanserna.