Oracle RAC についてまとめました。
Oracle RAC ← Oracle Real Application Clusters の略です。
Oracle RACの特徴
Oracle RAC には以下の3つの特徴があります。
- 可用性
- 負荷分散
- 拡張性
可用性とは?
「可用性」とは、障害が発生してもサービスを継続できることです。
またはサーバに障害が発生してもダウンタイムを短く出来ることです。
たとえばサーバ2台構成の場合、1台のサーバでHW障害が発生しても他のサーバ上の Oracle インスタンスは処理を継続できます。
※しかしデータベースが入っている共有ディスクが1つの場合、それが故障すれば全滅します。→その場合は共有ディスクにも可用性を持たせる必要があります。
負荷分散とは?
「負荷分散」とは、負荷を分散する機能のことを言います。
Active/StandBy ではなく Active/Active で処理を複数のサーバに分散します。
RACの場合は複数インスタンスで1つのデータベースに対して処理をしています。
拡張性とは?
「拡張性」とは、スケールアウトのしやすさです。
スケールアップをする場合は、サーバを停止してメモリを増設したりマザーボードを交換したり大変な作業になりますが、スケールアウトなら単純にサーバを追加すればいいだけだから簡単です。
- スケールアウト ← サーバーの台数を増やすこと
- スケールアップ ← メモリやCPUを増強すること
キャッシュフュージョン(Cache Fusion)の機能
キャッシュフュージョン(Cache Fusion)の目的は複数インスタンス間でのデータの一貫性を確保するためです。
Oracle RAC の場合は複数インスタンスが1つのデータベースに対してアクセスをしてデータ更新等の処理をするため、タイミングによっては1つのデータを複数のインスタンスが更新する場合が考えられます。
そのため、データに不整合が発生させないために「キャッシュフュージョン機能」を利用してインスタンス間で同期を取ります。
具体的にはインターコネクト・ネットワークでブロック・バッファをやり取りして同期処理をします。
インスタンス同士でデータ更新を調整し合うイメージです。
共有ディスクだけでなく共有キャッシュも
全インスタンスがデータベースの全データにアクセス可能です。
Oracle Grid Infrastructure
「Oracle Grid Infrastructure」 → Oracle RAC を使用する際の必須コンポーネントです。
Oracle Grid Infrastructureは2つのコンポーネントで構成されています。
- Oracle Clusterware
- Oracle Automatic Storage Management (ASM)
Oracle Clusterware
クラスタ機能を提供します。
リソース管理をします。
Oracle Automatic Storage Management
自動ストレージ管理です。
複数の物理ディスク(ASMディスク)を仮想的に1つのストレージプールにします。
ハートビート
正確に障害検知をして適切な処理をするため、ハートビートは複数あります。
- インターコネクト・ネットワーク上のハートビート
- 共有ディスク間でのハートビート
ネットワーク
Oracle RAC 構築時には、以下の3種類のネットワークが必要になります。
- パブリック・ネットワーク ← サービス用
- インターコネクト・ネットワーク ← キャッシュ・フュージョン用、ハートビート用
- ストレージ・ネットワーク ← データベースアクセス用
Oracle Database と Oracle RAC データベースの2つがあります。
- Oracle Database ← Oracle Databaseとインスタンス間 1対1の関係
- Oracle RAC ← データベースとインスタンス間 1対多の関係
Oracle RAC へのアクセス方法
特に変わったところはなく、通常の Oracle インスタンスに接続する方法で可能です。
sqlplus username/password@hostname |
※パスワードとホスト名は@でくっつけます。(スペースをいれません)
【例】
sqlplus test01/Password_1234@192.168.1.100:1521/service01 |
- アカウント :test01
- パスワード :Password_1234
- ホスト名 :192.168.1.100(IPアドレスでもOK)
- ポート番号 :1521
- サービス名(SID) :service01
SIDとインスタンスの違い
- SID ← ホスト内でインスタンスにアクセスするための識別子
- インスタンス ← ホスト外よりネットワーク経由でインスタンスにアクセスするための名前
RAC One Nodeもある
Oracle RAC は Active/Active 型で負荷分散ができますが、Active/StandBy 型の「RAC One Node」が登場し、片方だけのライセンスでも利用可能になりました。
コメント