Наскоро ми се наложи да работя с моя SysAdmin върху малка надстройка на ОС на RAC клъстер с два възела. Използвам Oracle Grid Infrastructure 11.2.0.2 с Oracle RDBMS 11.2.0.2 и надграждахме от Oracle Enterprise Linux 5.2 до 5.8.
Както повечето DBA на Oracle знаят, е добра идея да прекомпилирате софтуера на Oracle след надстройка на операционната система. За софтуера Oracle RDMBS това е толкова просто, колкото „$ORACLE_HOME/bin/relink all“. Но какво да кажем за софтуера Grid Infrastructure?
Ако прочетете Metalink Note 220970.1 RAC:Често задавани въпроси, в него се посочва, че за 11.2 и по-нови версии трябва да се свържете отново след надстройка на ОС (по-ниските версии не се нуждаят от повторното свързване). Въпреки това мисля, че стъпките са малко подвеждащи, както разбрах снощи. Стъпките в тази бележка са както следва:
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
Това, което инструкциите не ви казват, е, че последното извикване на rootcrs.pl ще стартира Grid Infrastructure, което за повечето хора означава автоматично рестартиране на екземплярите, работещи под контрола на GI. Но почакай малко! Нямах възможност да прекомпилирам софтуера на Oracle RDBMS! И така, ето моите модифицирани стъпки за прекомпилиране на всичко:
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
По този начин ние прекомпилираме софтуера за Grid Infrastructure, а след това и софтуера RDBMS. Тогава последното извикване към rootcrs.pl ще стартира GI и ще стартира екземплярите.