【DB】Oracle RAC(Oracle Real Application Clusters)の説明

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」が登場し、片方だけのライセンスでも利用可能になりました。

 

 

Posted by 100%レンタルサーバーを使いこなすサイト管理人