Oracle RAC(Real Application Clusters)とは

RAC環境とは複数のサーバで一つのデータベースを構成するクラスタ環境です。 RAC環境は従来のアクティブ/スタンバイ(HA)構成ではなくアクティブ/アクティブで構成されるためサーバのリソースを100%活用できることが特徴です。 複数のサーバから構成されているため以下のようなメリットがあります。

耐障害性の向上
複数サーバで構成しているため、特定のサーバで障害が発生してもサービスを継続することができる。
※DBのデータ等の領域はサーバの外(共有DISKやNAS上)に配置され冗長化されていないためDISK障害の対策は別途必要

拡張性の向上
サーバを後から追加することができるため既存のサーバ資源を生かしながら処理能力を向上させることができる。

負荷分散の実現
RACのクラスタ方式はアクティブ/アクティブであるため複数台のサーバで処理を分散させることができる。

全体構成

以下は2ノードで構成したRACとなりますが、以下のように複数のインスタンスが一つの共有ストレージを参照する構成であること、 サーバ間のLANケーブル接続(インターコネクト通信用LAN)が特徴です。

RAC構成

記憶域の構成

・クラスタウエア及びデータベースのソフトウエアインストール記憶域
ソフトウエアは各ノードのローカルディスクにインストールする構成が一般的です。 この場合、ext3やNTFS等のローカルファイルシステムへインストールすることができます。

・クラスタウエアのデータ(投票ディスク、OCR)記憶域
投票ディスクとOCR領域は全てのノードから参照できるようにする必要があるため共有ストレージにデータを配置する必要があります。 また複数のノードから同時にアクセスされるためext3やNTFSといったファイルシステム上にデータを配置することはできません。 これらのファイルシステムは複数のノードからMOUNTされることを想定していないためクラスタ環境で使用するとファイルシステムが破損します。 データは以下のような記憶域上に配置しますが、11gR1まではRAW、11gR2以降はASMを使用する構成が一般的です。

- ASM(11gR2~、Standard Editionの場合は必須)
- RAW(11gR2以降はGUIのインストーラが非対応)
- NFS(バージョンによっては一部のOSは非対応、NASデバイス自体もORACLEの動作保障がされている必要がある)
- その他、サポートされるファイルシステム(OCFS2等)

・データベースのデータ(データファイル、制御ファイル、REDOログ等)記憶域
データベースのデータ記憶域も全てのノードから参照できるようにする必要があるため共有ストレージにデータを配置します。 データは以下のような記憶域上に配置しますが、11gR1まではRAWまたはASM、11gR2以降はASMを使用する構成が一般的です。

- ASM(Standard Editionの場合は必須)
- RAW(11gR2以降はGUIのインストーラが非対応)
- NFS(バージョンによっては一部のOSは非対応、NASデバイス自体もORACLEの動作保障がされている必要がある)
- その他、サポートされるファイルシステム(OCFS2等)

・アーカイブログの記憶域
アーカイブログの出力先にはRAWデバイスは不可ですがローカルDISK、共有ストレージどちらでも設定することができますが、 共有ストレージ上の共通のパスに出力すればリカバリ手順を簡略化することができます。

シングル(非RAC)環境との比較

RAC環境とシングル環境ではOSレベルでは以下のような点が異なります。

クラスタウエア(CRS、またはOracle Cluster Ware)関連
・通常の実IPの他にノード間通信用のインターコネクト用IP(プライベートIP)が必要です。また、パブリックIPに対してVIP、SCAN_IP(11.2~)と呼ばれる複数の仮想IPが起動します。

・クラスタウエアが管理する各リソース(データベース、VIP、リスナー等)を管理するRAC専用のクラスタウェアプロセス(crsd、cssd等)が起動します。 また、crsctl、srvctlといったクラスタウェアに付属するコマンドで各リソースやクラスタプロセスの管理ができます。

・クラスタ関連の情報を格納するOCRとVotingDisk(投票ディスク)という領域が作成されます。
これらの領域は破損するとRACが動作しなくなる可能性があるためシングル構成のデータベースで必要なバックアップのほかにこれらの領域に対してもバックアップリカバリの考慮が必要となります

データベース関連
・RACでは複数のノードが同じデータを参照、更新することができるため、各ノード間の整合性を保つため必要なノード間通信が走るようになります。 このことに起因してRACに特化したチューニングが必要になる場合があります。

・RAC専用のバックグラウンドプロセス(lmon等)が起動するようになります。

・GV$ビューによりRACを構成する全ノードのV$ビュー情報を確認することができます。
※シングル環境でもGV$ビュー自体は使用できますがインスタンスが一つなので使用する意味がありません

インストール方法

11gR2 Real Application Clusters(RAC) のインストールで紹介しています。 また、ORACLE社からは以下のようなドキュメントが公開されています。

Oracle Database 11gR2 RAC インストレーション・ガイド ASM 版 Microsoft Windows x86-64

なお、11.2のRACは11.1までと比較してかなりの変更が加えられており手順が異なります。 10.1~11.1までのRACのインストール手順はORACLE社より公開されている以下のドキュメントが参考になります。

意外と簡単!? Windowsソリューション:Real Application Clusters 編
はじめての方のためのStandard Edition でのReal Application Clustersセットアップ手順書

マニュアル

・10.2
マニュアル一覧
2日でReal Application Clustersガイド10g リリース2(10.2)
Oracle Clusterware および Oracle Real Application Clusters 管理およびデプロイメント・ガイド10g リリース2(10.2)

・11.1
11.1マニュアルTOP
2日でReal Application Clustersガイド11g リリース1(11.1)
Oracle Real Application Clusters管理およびデプロイメント・ガイド11g リリース1(11.1)
Clusterware管理およびデプロイメント・ガイド11g リリース1(11.1)

・11.2
11.2マニュアルTOP
2日でReal Application Clustersガイド11gリリース2(11.2)
Real Application Clusters管理およびデプロイメント・ガイド11g リリース2(11.2)
Clusterware管理およびデプロイメント・ガイド11gリリース2(11.2)
★ORACLE案件承ります