Ich musste kürzlich mit meinem SysAdmin an einem kleineren Betriebssystem-Upgrade auf einem RAC-Cluster mit zwei Knoten arbeiten. Ich verwende Oracle Grid Infrastructure 11.2.0.2 mit Oracle RDBMS 11.2.0.2 und wir haben ein Upgrade von Oracle Enterprise Linux 5.2 auf 5.8 durchgeführt.
Wie die meisten Oracle-DBAs wissen, ist es eine gute Idee, die Oracle-Software nach einem Betriebssystem-Upgrade neu zu kompilieren. Für die Oracle RDMBS-Software ist dies so einfach wie „$ORACLE_HOME/bin/relink all“. Aber was ist mit der Grid Infrastructure-Software?
Wenn Sie Metalink Note 220970.1 RAC:Frequently Asked Questions lesen, heißt es, dass Sie für 11.2 und höher nach einem Betriebssystem-Upgrade erneut verknüpfen sollten (niedrigere Versionen benötigen keine erneute Verknüpfung). Ich denke jedoch, dass die Schritte etwas irreführend sind, wie ich gestern Abend herausgefunden habe. Die Schritte, die dieser Hinweis enthält, lauten wie folgt:
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
Was die Anweisungen Ihnen nicht sagen, ist, dass der letzte Aufruf von rootcrs.pl die Grid-Infrastruktur starten wird, was für die meisten Leute einen automatischen Neustart der Instanzen bedeutet, die unter der Kontrolle von GI laufen. Aber Moment mal! Ich hatte keine Gelegenheit, die Oracle RDBMS-Software neu zu kompilieren! Hier sind also meine modifizierten Schritte, um alles neu zu kompilieren:
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
Auf diese Weise kompilieren wir die Grid Infrastructure-Software und dann die RDBMS-Software neu. Dann startet der letzte Aufruf von rootcrs.pl GI und startet die Instanzen.