Jeg var for nylig nødt til at arbejde med min SysAdmin på en mindre OS-opgradering på en to-node RAC-klynge. Jeg kører Oracle Grid Infrastructure 11.2.0.2 med Oracle RDBMS 11.2.0.2, og vi var ved at opgradere fra Oracle Enterprise Linux 5.2 til 5.8.
Som de fleste Oracle DBA’er ved, er det en god idé at genkompilere Oracle-softwaren efter en OS-opgradering. For Oracle RDMBS-softwaren er dette så simpelt som "$ORACLE_HOME/bin/relink all". Men hvad med Grid Infrastructure-softwaren?
Hvis du læser Metalink Note 220970.1 RAC:Frequently Asked Questions, står der, at for 11.2 og nyere skal du linke igen efter en OS-opgradering (lavere versioner behøver ikke genlinket). Jeg synes dog, at trinene er lidt misvisende, som jeg fandt ud af i aftes. Trinene i denne note er som følger:
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
Hvad instruktionerne ikke fortæller dig, er, at det sidste kald til rootcrs.pl vil starte Grid Infrastructure, hvilket for de fleste mennesker betyder en automatisk genstart af de forekomster, der kører under GI's kontrol. Men vent et øjeblik! Jeg fik ikke en chance for at genkompilere Oracle RDBMS-softwaren! Så her er mine ændrede trin til at omkompilere alt:
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å denne måde genkompilerer vi Grid Infrastructure-softwaren og derefter RDBMS-softwaren. Så vil det sidste kald til rootcrs.pl starte GI og starte forekomsterne.