最近、2ノードRACクラスターのマイナーOSアップグレードでSysAdminと連携する必要がありました。 OracleRDBMS11.2.0.2でOracleGridInfrastructure 11.2.0.2を実行しており、Oracle EnterpriseLinux5.2から5.8にアップグレードしていました。
ほとんどのOracleDBAが知っているように、OSのアップグレード後にOracleソフトウェアを再コンパイルすることをお勧めします。 Oracle RDMBSソフトウェアの場合、これは「$ ORACLE_HOME / bin/relinkall」と同じくらい簡単です。しかし、グリッドインフラストラクチャソフトウェアはどうですか?
Metalink Note 220970.1 RAC:Frequently Asked Questionsを読むと、11.2以降では、OSのアップグレード後に再リンクする必要があると記載されています(それより低いバージョンでは再リンクは必要ありません)。しかし、昨夜知ったように、手順は少し誤解を招くと思います。このメモの手順は次のとおりです。
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を最後に呼び出すと、グリッドインフラストラクチャが起動するということです。これは、ほとんどの人にとって、GIの制御下で実行されているインスタンスの自動再起動を意味します。しかし、ちょっと待ってください! OracleRDBMSソフトウェアを再コンパイルする機会がありませんでした。したがって、すべてを再コンパイルするための変更された手順は次のとおりです。
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
このようにして、グリッドインフラストラクチャソフトウェアを再コンパイルしてから、RDBMSソフトウェアを再コンパイルします。次に、rootcrs.plを最後に呼び出すと、GIが開始され、インスタンスが開始されます。