プライマリ・コンテンツに移動
Oracle® Real Application Clusters管理およびデプロイメント・ガイド
11g リリース2 (11.2)
B56290-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

1 Oracle RACの概要

この章では、Oracle Real Application Clusters(Oracle RAC)の概要について説明し、インストール、管理およびデプロイする方法を示します。

内容は次のとおりです。

Oracle RACの概要

クラスタは、相互に接続された複数のコンピュータまたはサーバーで構成され、エンド・ユーザーおよびアプリケーションからは1つのサーバーとして認識されます。Oracle RACを使用すると、Oracle Databaseをクラスタ化できます。Oracle RACでは、インフラストラクチャとしてOracle Clusterwareを使用し、複数のサーバーを関連付けてそれらが単一のシステムとして動作するように構成します。

Oracle Clusterwareは、Oracle Databaseと統合された、ポータブルなクラスタ管理ソリューションです。また、Oracle Clusterwareは、Oracle RACを使用する際の必須コンポーネントです。さらに、Oracle Clusterwareによって、非クラスタのOracle DatabaseとOracle RACデータベースの両方で、Oracle高可用性インフラストラクチャを使用できます。Oracle Clusterwareを使用すると、非クラスタ・データベースとOracle RACデータベースの任意の組合せで使用可能な、クラスタ化された記憶域のプールを作成できます。

Oracle RACが動作するほとんどのプラットフォームにおいて、必要なクラスタウェアはOracle Clusterwareのみです。Oracle RACでのクラスタウェアの動作が保証されている場合、他のベンダーのクラスタウェアも使用できます。


関連項目:

詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』および『Oracle Grid Infrastructureインストレーション・ガイド』を参照してください。

非クラスタのOracle Databaseには、Oracle Databaseとインスタンス間に1対1関係があります。しかし、Oracle RAC環境では、データベースとインスタンス間に1対多の関係があります。Oracle RACデータベースには最大100のインスタンスが存在でき、Foot 1 それらすべてが1つのデータベースにアクセスします。すべてのデータベース・インスタンスは同じインターコネクトを使用する必要があり、Oracle Clusterwareもこれを使用します。

各Oracle RACデータベース・インスタンスには次のものも存在するため、Oracle RACデータベースは、非クラスタのOracle Databaseとアーキテクチャが異なります。

  • 各インスタンスの1つ以上の追加REDOスレッド

  • インスタンス固有のUNDO表領域

複数のサーバーの処理能力を組み合せることによって、単一のサーバーの場合よりも優れたスループットおよびOracle RACスケーラビリティを実現できます。

図1-1に、Oracle DatabaseのオプションであるOracle RACにより、複数のサーバーが1つのOracle Databaseにアクセスするための単一のシステム・イメージが提供される方法を示します。Oracle RACでは、各Oracleインスタンスは異なるサーバー上で実行する必要があります。

図1-1 Oracle RACアーキテクチャでのOracle Database

図1-1の説明が続きます。
「図1-1 Oracle RACアーキテクチャでのOracle Database」の説明

従来、Oracle RAC環境は、1つのデータ・センターにあります。しかし、Oracle RACを拡張遠距離クラスタに構成でき、これは、サイト障害からの非常に高速なリカバリを実現し、すべてのサイトのすべてのノードで単一のデータベース・クラスタの一部としてアクティブにトランザクションを処理できるアーキテクチャです。拡張クラスタでは、クラスタの各ノードを遠く離れた2つの建物に配置します(通りの反対側、キャンパスの反対側、街の反対側など)。可用性の理由から、データを両方のサイトに配置する必要があり、これにより、記憶域に対してディスク・ミラーリング技術の実装が必要になります。

このアーキテクチャの実装を選択する場合、特に距離、待機時間および提供される保護の程度を考慮し、このアーキテクチャがビジネスに対してよい解決策となるかどうかを評価する必要があります。拡張クラスタ上のOracle RACは、ローカルのOracle RACクラスタで可能となるよりも優れた高可用性を実現しますが、組織の障害時リカバリ要件を満たすとはかぎりません。適切な分離は一部の災害(局所的停電、サーバー室の冠水など)に対する有効な保護策となりますが、あらゆる種類の障害に効果があるわけではありません。破損や地域災害に対する防御を含む災害に対する包括的な保護策として、『Oracle Database高可用性概要』および次のMaximum Availability Architecture(MAA) Webサイトで説明するように、Oracle RACとともにOracle Data Guardを使用することをお薦めします。

http://www.oracle.com/technology/deploy/availability/htdocs/maa.htm

Oracle RACは、すべてのタイプのアプリケーションに対して高可用性および高スケーラビリティを提供する特殊な技術です。また、Oracle RACインフラストラクチャは、Oracleエンタープライズ・グリッド・コンピューティング・アーキテクチャを実装するための主要なコンポーネントです。複数のインスタンスが単一のデータベースにアクセスすることで、サーバーがシングル・ポイント障害になることを防止できます。Oracle RACを使用すると、小規模な汎用サーバーをクラスタに組み込んで、ミッション・クリティカルなビジネス・アプリケーションをサポートするスケーラブルな環境を構築できます。Oracle RACデータベースにデプロイするアプリケーションは、コードを変更せずに使用できます。

Oracle ClusterwareおよびOracle RACの概要

Oracle Clusterwareは、すべてのOracle Databaseプラットフォームを対象とした完全な統合クラスタウェア管理ソリューションです。このクラスタウェア機能は、クラスタ・データベースの管理に必要なすべての機能(ノードのメンバーシップ、グループ・サービス、グローバル・リソース管理および高可用性機能)を提供します。

Oracle Clusterwareは、単独でインストールすることも、Oracle RACインストール・プロセスの前提条件としてインストールすることもできます。サービスなどのOracle Database機能は、基盤となるOracle Clusterwareメカニズムを使用して高度な機能を提供します。特定のプラットフォームについては、一部のサード・パーティ製クラスタウェア製品も引き続きサポートされます。

Oracle Clusterwareは、Oracle RACのために設計され、Oracle RACに密接に統合されています。Oracle Clusterwareを使用して、クラスタで高可用性操作を管理できます。任意の管理ツールを使用してOracle RACデータベースを作成すると、データベースは他の必要なコンポーネント(仮想インターネット・プロトコル(VIP)・アドレス、単一クライアント・アクセス名(SCAN)、SCANリスナー、Oracle Notification Service、Oracle Netリスナーなど)とともにOracle Clusterwareに登録され、管理されます。Oracle Clusterwareによってノードが起動されると、これらのリソースが自動的に起動され、障害が発生すると、Oracle Clusterwareによって自動的に再起動されます。Oracle Clusterwareデーモンは各ノードで実行されます。

Oracle Clusterwareが管理するものはすべてCRSリソースと呼ばれます。CRSリソースには、データベース、インスタンス、サービス、リスナー、VIPアドレス、アプリケーション・プロセスがあります。Oracle Clusterwareは、Oracle Cluster Registry(OCR)に格納されているリソースの構成情報に基づいてCRSリソースを管理します。SRVCTLコマンドを使用して、すべてのOracle定義のCRSリソースを管理できます。Oracle Clusterwareは、クラスタ内のOracleによって事前定義されていないサーバー上で動作するすべてのプロセスを管理するためのCRSリソースを作成できるフレームワークを提供します。Oracle Clusterwareには、『Oracle Clusterware管理およびデプロイメント・ガイド』で説明するとおり、管理可能なOCRのこれらのコンポーネントの構成に関する情報が格納されます。

Oracle RACのアーキテクチャおよび処理の概要

Oracle RACの最小要件として、Oracle Clusterwareソフトウェア・インフラストラクチャが満たしている必要があるのは、同じ記憶域および同じ一連のデータ・ファイルにクラスタ内のすべてのノードから同時にアクセスできること、クラスタ内のノード同士でプロセス間通信(IPC)ができる通信プロトコルが用意されていること、論理的に結合された単一のキャッシュ上にデータが存在するかのように、複数のデータベース・インスタンスでデータを処理できること、およびクラスタ内のノードのステータスを監視して通信するメカニズムが用意されていることです。

詳細は、次の項を参照してください。

クラスタを認識する記憶域ソリューション

Oracle RACデータベースは、Shared Everythingデータベースです。Oracle RAC環境のすべてのデータ・ファイル、制御ファイル、SPFILE脚注2 およびREDOログ・ファイルは、すべてのクラスタ・データベース・インスタンスがこれらのストレージ・コンポーネントにアクセスできるように、クラスタで認識される共有ディスク上に存在する必要があります。Oracle RACデータベースはShared Everythingアーキテクチャを使用するため、Oracle RACでは、すべてのデータベース・ファイルに対して、クラスタで認識される記憶域が必要です。

Oracle RACでは、Oracle Databaseソフトウェアによってディスク・アクセスが管理され、様々な記憶域アーキテクチャでの使用が保証されています。記憶域の構成方法は自由に選択できますが、サポートされているクラスタを認識する記憶域ソリューションを使用する必要があります。Oracle Databaseでは、次のようなOracle RAC用のファイル記憶域オプションが提供されています。

  • Oracle Automatic Storage Management(Oracle ASM)

    記憶域の管理にはこのソリューションをお薦めします。

  • OCFS2やOracle Cluster File System(Windows用のOCFS)など、動作保証済のクラスタ・ファイル・システム

    OCFS2はLinuxで使用でき、Windows用のOCFSはWindowsプラットフォームで使用できます。ただし、Oracle RACで認定されているサード・パーティのクラスタ・ファイル・システムやクラスタを認識するボリューム・マネージャを使用することもできます。

  • 動作保証されたネットワーク・ファイル・システム(NFS)・ファイル・サーバー

サービスおよびVIPアドレスを使用したOracle Databaseへの接続の概要

Oracle RAC環境内のすべてのノードは、ユーザーおよびアプリケーションがデータベースにアクセスできるように、Local Area Network(LAN)に接続する必要があります。アプリケーションは、Oracle Databaseサービス機能を使用して、Oracle Databaseに接続する必要があります。サービスでは、規則および特性を定義して、ユーザーおよびアプリケーションからデータベース・インスタンスへの接続方法を制御できます。これらの特性には、一意の名前、ワークロード・バランシング、フェイルオーバー・オプションおよび高可用性特性が含まれます。Oracle Net Servicesでは、Oracle RACデータベース内のすべてのインスタンス間で、アプリケーション接続のロード・バランシングが可能です。

ユーザーは、クライアント/サーバー構成を使用するか、または接続プーリングを任意に使用し、1つ以上の中間層を介してOracle RACデータベースにアクセスします。ユーザーは、データベース管理者、開発者、アプリケーション・ユーザー、パワー・ユーザー(たとえば、独自の検索を作成してデータ・マイニングを行うユーザー)などである場合があります。

通常、ほとんどのパブリック・ネットワークではTCP/IPが使用されますが、サポートされている任意のハードウェアとソフトウェアの組合せを使用できます。Oracle RACデータベース・インスタンスは、クラスタの単一クライアント・アクセス名(SCAN)を使用してアクセスされる必要があります。


関連項目:

SCANの詳細は、「自動ワークロード管理の概要」を参照してください。

インターコネクト・ネットワークは、クラスタ内のすべてのサーバーに接続するプライベート・ネットワークです。インターコネクト・ネットワークでは、クラスタ内のノードのみがアクセスできる1つまたは複数のスイッチが使用されます。クラスタ・インターコネクトには、ギガビット・イーサネットでユーザー・データグラム・プロトコル(UDP)を構成してください。LinuxおよびUNIXシステムでは、UDPまたはリライアブル・データ・ソケット(RDS)プロトコルのいずれかを使用するようにOracle Clusterwareを構成できます。Windowsクラスタでは、TCPプロトコルが使用されます。Oracle Clusterwareインターコネクトでは、クロスオーバー・ケーブルの使用はサポートされていません。


注意:

キャッシュ・フュージョンによってインターコネクトがインスタンス間通信で使用されるため、ユーザー通信でインターコネクト(プライベート・ネットワーク)を使用しないでください。

ノード障害が発生した場合は、そのノードのVIPアドレスが、TCP接続受入れ可能な別のノードにフェイルオーバーされますが、Oracle Databaseへの接続は受け入れられません。通常、VIPアドレスは次の場合にフェイルオーバーされます。

  • VIPアドレスが実行されているノードで障害が発生した場合

  • VIPアドレスのすべてのインタフェースに障害が発生した場合

  • VIPアドレスのすべてのインタフェースがネットワークから切断された場合

そのVIPアドレスへの接続を試行するクライアントは、TCP接続のタイムアウト・メッセージを待機するかわりに、すぐにconnection refusedエラーを受け取ります。VIPが構成されたネットワークがオンラインに戻ると、Oracle Clusterwareは接続が受け入れられたホーム・ノードにVIPをフェイルバックします。

Network Attached Storage(NAS)を使用する場合、2つ目のプライベート・ネットワークを構成する必要があります。通常、このネットワークへのアクセスは、ベンダーのソフトウェアに制御されています。プライベート・ネットワークでは、静的IPアドレスが使用されます。

Oracle RAC 11gリリース2(11.2)では、複数のパブリック・ネットワークがサポートされます。各ネットワークにはそれぞれ固有のサブネットがあり、各データベース・サービスは特定のネットワークを使用してOracle RACデータベースにアクセスします。各ネットワークのリソースはOracle Clusterwareで管理されます。

また、クラスタごとにSCANを作成する必要があり、これは、組織のドメイン・ネーム・サーバー(DNS)、または3つのIPアドレスでラウンド・ロビンするグリッド・ネーミング・サービス(GNS)のいずれかに定義された単一のネットワーク名です。Oracle RACデータベースへのすべての接続で、クライアント接続文字列にSCANを使用することをお薦めします。受信する接続は、3つのSCANリスナーを介して、要求されたサービスを提供するアクティブなインスタンス間でロード・バランシングされます。SCANを使用すると、クラスタの構成を変更(ノードの追加や削除)した場合にも、クライアント接続を変更する必要はありません。

Oracle RACソフトウェア・コンポーネント

通常、Oracle RACデータベースには、それぞれにメモリー構造およびバックグラウンド・プロセスが含まれる複数のデータベース・インスタンスがあります。Oracle RACデータベースには、非クラスタOracle Databaseと同じプロセスおよびメモリー構造があり、さらに、Oracle RAC固有の追加プロセスおよびメモリー構造があります。1つのインスタンスのデータベース・ビューは、同じOracle RACデータベース内の他のインスタンスのビューとほぼ同じで、ビューはその環境の単一のシステム・イメージです。

各インスタンスのシステム・グローバル領域(SGA)には、バッファ・キャッシュが存在します。キャッシュ・フュージョンの使用によって、Oracle RAC環境で各インスタンスのバッファ・キャッシュが論理的に結合され、論理的に結合された単一のキャッシュにデータが存在する場合と同様に、インスタンスでデータを処理できます。


注意:

キャッシュ・フュージョンによって、Oracle RACでのSGAのサイズ要件は、非クラスタOracle DatabaseでのSGAのサイズ要件より大きくなります。

問合せまたはトランザクションを正しく処理するために必要なブロックを、各Oracle RACデータベース・インスタンスが確実に取得できるようにするために、Oracle RACインスタンスでは、グローバル・キャッシュ・サービス(GCS)およびグローバル・エンキュー・サービス(GES)の2つのプロセスが使用されます。GCSおよびGESは、グローバル・リソース・ディレクトリ(GRD)を使用して、各データ・ファイルおよび各キャッシュ・ブロックのステータスのレコードをメンテナンスします。GRDの内容はすべてのアクティブ・インスタンス間で分散され、Oracle RACインスタンスのSGAのサイズが実質的に増加します。

1つのインスタンスがデータをキャッシュした後は、同じクラスタ・データベース内の他のインスタンスは、ディスクからブロックを読み取るよりも高速に、同じデータベース内の別のインスタンスからブロック・イメージを取得できるようになります。そのため、キャッシュ・フュージョンは、ディスクからブロックを再読取りするのではなく、現行のブロックをインスタンス間で移動します。一貫性のあるブロックや変更されたブロックが別のインスタンスで必要な場合、キャッシュ・フュージョンは、影響を受けるインスタンス間でブロック・イメージを直接転送します。Oracle RACは、インスタンス間通信およびブロック転送にプライベート・インターコネクトを使用します。GES Monitorおよびインスタンス・エンキュー・プロセスは、キャッシュ・フュージョン・リソースへのアクセスおよびエンキューのリカバリ・プロセスを管理します。

Oracle RACバックグラウンド・プロセス

GCSプロセス、GESプロセスおよびGRDが連係してキャッシュ・フュージョンを実現しています。Oracle RACプロセスおよびその識別子は次のとおりです。

  • ACMS: メモリー・サービスへのアトミック制御ファイル(ACMS)

    Oracle RAC環境では、ACMSのインスタンスごとのプロセスは、分散SGAメモリー更新が成功時にグローバルにコミットされるようにしたり、障害発生時にグローバルに強制終了されるようにするエージェントです。

  • GTX0-j: グローバル・トランザクション・プロセス

    GTX0-jプロセスは、Oracle RAC環境でXAグローバル・トランザクションを透過的にサポートします。これらのプロセスの数は、データベースによって、XAグローバル・トランザクションのワークロードに基づいて自動調整されます。

  • LMON: グローバル・エンキュー・サービス・モニター

    LMONプロセスでは、グローバル・エンキューおよびクラスタ全体のリソースが監視され、グローバル・エンキュー・リカバリ操作が実行されます。

  • LMD: グローバル・エンキュー・サービス・デーモン

    LMDプロセスでは、各インスタンス内の受信リモート・リソース要求が管理されます。

  • LMS: グローバル・キャッシュ・サービス・プロセス

    LMSプロセスでは、情報をグローバル・リソース・ディレクトリ(GRD)に記録することにより、データファイルのステータスおよび各キャッシュ・ブロックのレコードがメンテナンスされます。LMSプロセスでは、リモート・インスタンスへのメッセージ・フローの制御、グローバル・データ・ブロック・アクセスの管理、異なるインスタンスのバッファ・キャッシュ間のブロック・イメージの送信も行われます。この処理は、キャッシュ・フュージョン機能の一部です。

  • LCK0: インスタンス・エンキュー・プロセス

    LCK0プロセスでは、ライブラリや行キャッシュ要求などの非キャッシュ・フュージョン・リソース要求が管理されます。

  • RMSn: Oracle RAC管理プロセス(RMSn)

    RMSnプロセスでは、Oracle RACの管理性タスクが実行されます。RMSnプロセスによって実行されるタスクには、新規インスタンスがクラスタに追加された際のOracle RAC関連リソースの作成があります。

  • RSMN: リモート・スレーブ・モニターは、リモート・インスタンスでのバックグラウンド・スレーブ・プロセスの作成と通信を管理します。これらのバックグラウンド・スレーブ・プロセスでは、別のインスタンスで実行されている調整プロセスのためのタスクが実行されます。


注意:

この項で説明する多くのOracle Databaseコンポーネントは、『Oracle Database概要』で説明する非クラスタOracle Databaseの追加コンポーネントです。

自動ワークロード管理の概要

自動ワークロード管理によってワークロードの分散を管理し、ユーザーおよびアプリケーションに対してパフォーマンスを最適化できます。この処理によって、データベース接続に対する高可用性の提供、迅速な障害リカバリ、アクティブな構成内での最適なワークロード・バランシングなどが可能になります。Oracle RACを使用したOracle Databaseには、接続時ロード・バランシング、高速接続フェイルオーバー、ロード・バランシング・アドバイザ、ランタイム接続ロード・バランシングなど、自動ワークロード管理を向上させる多くの機能が含まれています。自動ワークロード管理を使用すると、Oracle RAC環境で多くのメリットが得られます。ただし、非クラスタOracle DatabaseでOracle Databaseサービスを使用することによって(特にOracle Data GuardまたはOracle Streamsを使用するサービスによって)、自動ワークロード管理を使用できます。

自動ワークロード管理を構成するコンポーネントは次のとおりです。

  • 高可用性フレームワーク: Oracle Databaseでコンポーネントを常に稼働状態に維持できるOracle RAC高可用性フレームワークのことです。Oracleの高可用性は、Oracle Clusterwareは、重要なコンポーネントを監視し、ユーザーが再起動プロセスをオーバーライドしないかぎり、それらが停止した場合は再起動することを意味します。構成が変更されると、Oracle ClusterwareおよびOracle RACでもクライアントに対してアラートを表示するため、クライアントはすぐに変更に対応でき、アプリケーション開発者は停止および再構成をエンド・ユーザーに見えないようにすることができます。Oracleの高可用性の範囲は、Oracle Databaseインスタンス内の停止したOracle Databaseの再起動から、他の使用可能なインスタンスへのインスタンス全体のプロセスのフェイルオーバーまで及びます。

  • 単一クライアント・アクセス名(SCAN): Oracle RACデータベースにアクセスするためにすべてのクライアントが使用する、DNSまたはGNSのいずれかに定義された単一のネットワーク名とIPアドレスのことです。SCANを使用すると、クラスタ構成に変更が発生してもクライアントを変更する必要がなくなります。また、クライアントでは、Oracle RACデータベースでロード・バランシングやフェイルオーバー接続を行うためのEasy Connect文字列も使用できるようになります。


    注意:

    GNSを使用するかどうかに関係なく、SCANは必須です。GNSを使用する場合は、Oracleで自動的にSCANが作成されます。GNSを使用しない場合は、DNSでSCANを定義する必要があります。

  • ロード・バランシング・アドバイザ: データベースおよびデータベース・インスタンスが現在提供しているサービス・レベルについての情報をアプリケーションに提供する、データベースの機能です。アプリケーションではこの情報を利用して、アプリケーション要求に対して最適なサービス品質で処理を実行可能なインスタンスに、接続要求を割り当てることができます。Oracle Databaseでは、Java Database Connectivity(JDBC)とOracle Data Provider for .NET(ODP.NET)の接続プールは、ロード・バランシング情報に基づいて機能するように統合されています。アプリケーションでは、プログラムを変更することなく、統合された接続プールを使用できます。

  • サービス: 企業のグリッド構想を可能にするために、Oracle Databaseでは、サービスと呼ばれる強力な自動ワークロード管理機能が導入されています。サービスはOracle RACデータベースで定義可能なエンティティです。サービスによって、データベースのワークロードをグループ化し、サービスを処理するために割り当てられた最適なインスタンスに作業をルーティングできます。さらに、サービスを使用して、Oracle Databaseがワークロードの処理およびワークロード・リソースの監視に割り当てるリソースを定義できます。サービスに割り当てたアプリケーションは、高可用性およびロード・バランシングの規則を含む、定義済の自動ワークロード管理の特性を透過的に取得します。多くのOracle Database機能は、リソース・マネージャなどのサービスに統合され、これによって、インスタンス内でサービスが使用できるリソースを制限できます。一部のデータベース機能も、Oracle Streams、Advanced Queuing(キューの位置の透過性を実現)およびOracle Scheduler(特定のジョブ・クラスにサービスをマップ)に統合されています。

    Oracle RACデータベースでは、構成したサービス・パフォーマンス規則によって、Oracle Databaseがそのサービスに使用可能な各インスタンスに割り当てられる作業の量を制御できます。ノード、アプリケーション、アプリケーション・コンポーネントなどの追加によってデータベースを拡張すると、より多くのサービスを追加できます。

  • サーバー・プール: サーバー・プールにより、CRS管理者は、Oracle Clusterwareがどのようにリソースを割り当てるかを定義するポリシーを作成できます。Oracle RACのポリシー管理データベースは、サーバー・プールで実行されます。Oracle Clusterwareは、必要な数のサーバー(つまり、Oracle RACデータベースに必要な数のインスタンス)をサーバー・プール内に保持しようとします。1つのサーバーが同時に存在できるのは、1つのサーバー・プール内のみです。ただし、1つのデータベースは複数のサーバー・プールで実行できます。クラスタ管理サービスは、UNIFORM(サーバー・プールのすべてのインスタンスでアクティブ)またはSINGLETON(サーバー・プール内の1つのインスタンスでのみアクティブ)のいずれかとして定義されているサーバー・プール内で実行されます。

  • 接続時ロード・バランシング: Oracle Net Servicesによって、データベース接続の接続時ロード・バランシングが実行されます。接続時ロード・バランシングは、接続が作成されると実行されます。指定したサービスの接続は、サービスを提供する実行中のすべてのインスタンス間で調整されます。接続のバランシング方法は、サービス定義で定義する必要があります。ただし、Oracle Net Servicesも構成する必要があります。ロード・バランシング・アドバイザを有効にすると、リスナーは、ロード・バランシング・アドバイザを使用して接続時ロード・バランシングを行います。

Oracle RACのインストールの概要

Oracle Universal Installerを使用してOracle ClusterwareとOracle Databaseソフトウェアをインストールし、Database Configuration Assistant(DBCA)を使用してデータベースを作成します。データベースの作成によって、Oracle RAC環境のネットワーク構成、データベース構造およびパラメータ設定が、選択された環境に最適なものになります。インストール後、データベース管理者が行うOracle RAC環境の管理タスクには、次の3つのレベルがあります。

  • インスタンスの管理

  • データベースの管理

  • クラスタの管理

この項では、Oracle RACのインストール・プロセスについて説明します。内容は次のとおりです。

Oracle RAC環境の互換性

同じクラスタ内に異なるバージョンのデータベースを含む構成のOracle RACを実行する場合は、クラスタウェアもインストールする必要があります。たとえば、同じクラスタ内でOracle9i とOracle Database 10g を実行する場合を次に示します。

  • Oracle9iデータベースを実行しているOracle RACノードの場合、Oracle9iクラスタをインストールする必要があります。

    • UNIXでは、クラスタウェアは、HACMP、Serviceguard、Sun ClusterwareまたはVeritas SFのいずれかです。

    • WindowsおよびLinuxの場合、クラスタはOracle Cluster Managerを使用します。

  • Oracle Database 10g以降を実行しているOracle RACをインストールする場合は、Oracle Clusterwareもインストールする必要があります。Oracle Database 11gリリース2(11.2)では、最初にクラスタ用のOracle Grid Infrastructureをインストールする必要があることを意味します。詳細は、プラットフォームに固有の『Oracle Grid Infrastructureインストレーション・ガイド』および『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

  • Oracle RAC 10gとOracle RAC 11gを同じクラスタで実行する場合は、Oracle Clusterware 11g(のみ)を実行する必要があります。

Oracle RAC 10gまたはOracle RAC 11gとともにクラスタで実行する場合は、Oracle9i RACソフトウェアを最初にインストールする必要があります。


注意:

クラスタの一部であるサーバーにOracle RACを追加する場合は、Oracle Clusterwareに移行するか、または実行しているクラスタウェアが10g 以降のリリースのOracle RACと組み合せて実行できることを確認し、その2つを連動させるための適切なオプションがインストールされていることを確認します。連動することが保証されていないかぎり、異なるクラスタ・ソフトウェアを同じサーバーで実行しないでください。

Oracle RACのインストールおよびデータベース作成の概要

Oracle Clusterwareのインストールが終了し、稼働できる状態になった後、Oracle Universal Installerを実行して、Oracle RACコンポーネントとともにOracle Databaseソフトウェアをインストールします。

インストールの実行中、データベース・ホームのインストール時にデータベースの作成を選択できます。Oracle Universal InstallerはDBCAを実行し、選択したオプションに従ってOracle RACデータベースを作成します。


注意:

データベース作成の前提条件として、デフォルト・リスナーがOracle Grid Infrastructureホームで実行されている必要があります。デフォルトのリスナーがOracle Grid Infrastructureホームに存在しない場合は、デフォルトのリスナーを作成するためにOracle Grid InfrastructureホームからNETCAを実行することを指示したエラーがDBCAから返されます。


関連項目:

NetCAの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

Oracle RACソフトウェアはOracle Databaseインストール・メディアの一部として配布されます。Oracle Databaseソフトウェアのインストール・プロセスでは、クラスタ上でインストールを実行していることが認識されると、デフォルトでOracle RACオプションもインストールされます。Oracle Universal Installerでは、Oracle RACがOracleホームと呼ばれるディレクトリ構造にインストールされます(これは、システムで実行中の他のOracleソフトウェアのOracleホーム・ディレクトリとは別のものです)。Oracle Universal Installerはクラスタを認識するため、クラスタの一部として定義されたすべてのノードにOracle RACソフトウェアをインストールします。

インストール時にOracle ASMを選択して、記憶域管理を簡素化することをお薦めします。Oracle ASMを使用すると、ディスク・グループ内のすべてのデータベース・ファイルの記憶域を自動的に管理できます。Oracle Standard Editionを使用してOracle RACデータベースを作成する場合は、Oracle ASMを使用してすべてのデータベース・ファイルを格納する必要があります。


注意:

Oracle RACデータベースを作成する前に、Oracle ASMを個別に構成する必要があります。

デフォルトでは、Oracle Databaseによって1つのサービスがOracle RACインストール用に作成されます。このサービスはデータベース用です。デフォルトのデータベース・サービスは、通常、DB_NAMEおよびDB_DOMAIN初期化パラメータの組合せdb_name.db_domainを使用して識別されます。データベースが制限モードになっていないかぎり、このデフォルトのサービスはOracle RAC環境のすべてのインスタンスで使用できます。


注意:

Oracle Clusterwareをインストールした後で、ドメイン修飾子の追加や削除を含め、ホスト名を変更しないでください。ホスト名が変更されたノードは、クラスタから削除して、新しい名前で再度追加する必要があります。

Oracle Grid InfrastructureおよびOracle RACソフトウェアの拡張の概要

Oracle RACデータベース・ホームのクローン・イメージをクラスタ内の他のノードにコピーして、グリッド環境でOracle RACを追加のノードに拡張することができます。Oracleクローニングでは、ソフトウェアのイメージが、類似のハードウェアおよびソフトウェアがある他のノードにコピーされます。クローニングは、Oracle RAC環境を同じ構成の複数のノードに迅速に拡張する必要がある場合のシナリオに最適です。

Oracle RAC環境の拡張には、次の方法が提供されています。


注意:

Oracleクローニングは、Provisioning Packに含まれるOracle Enterprise Managerクローニングにかわるものではありません。Oracle Enterprise Managerクローニングの間、プロビジョニング・プロセスには、取得するホームに関する詳細、デプロイする場所およびその他の各種パラメータを収集する一連の手順が含まれます。

新規インストール、または1つのOracle RACデータベースのみをインストールする場合は、Oracle Universal InstallerやOracle Enterprise ManagerのProvisioning Pack機能などの従来の自動化された対話式インストール方法を使用する必要があります。クラスタ内のノードにOracle RACを追加したり削除することが目的の場合は、第10章「LinuxおよびUNIXシステムのノードでのOracle RACの追加と削除」に説明されている手順を実行します。

クローニングのプロセスは、Oracle ClusterwareホームおよびOracle RACを含むOracleホームが1つ以上のノードに正常にインストールされていることを前提としています。さらに、クラスタ・データベースの拡張元となるノードですべてのルート・スクリプトが正常に実行されている必要があります。

高レベルでは、Oracleクローニングには次の主なタスクが含まれます。

  1. 『Oracle Clusterware管理およびデプロイメント・ガイド』の説明に従ってOracle Clusterwareホームをクローニングします。

  2. Oracle RACソフトウェアを使用してOracleホームをクローニングします。

    Oracleホームを新規ノードにクローニングするプロセスも、Oracle Clusterwareホームをクローニングするプロセスとほぼ同じです。

  3. まだデータベースを作成していない場合は、DBCAを実行してデータベースを作成します。

  4. クローニング後の手順を実行して、Oracle RAC環境の新規ノードへの拡張を終了します。


関連項目:


Oracle RAC環境の管理の概要

この項では、Oracle RAC環境の管理について説明します。内容は次のとおりです。

Oracle RAC環境の設計およびデプロイ

Oracle RACによる高可用性計画を設計および実装しているすべての企業は、高可用性を必要とするビジネス要因を綿密に分析することから始める必要があります。高可用性を実現するためのビジネス要件を分析し、様々な高可用性ソリューションの実装に必要な投資レベルについて理解しておくことによって、ビジネスと技術の両方の目的を達成する高可用性アーキテクチャの開発が可能になります。


関連項目:

可用性の要件に最適なアーキテクチャを選択および実装するには、次の情報が役立ちます。
  • 第12章「設計およびデプロイ方法」では、ビジネスの高可用性要件を評価する場合に使用できる高水準の概要を示しています。

  • 『Oracle Database高可用性概要』では、組織に最適なアーキテクチャを選択する方法および複数の高可用性アーキテクチャについて説明し、要件を満たす最適なアーキテクチャを選択するためのガイドラインを示しています。

  • Oracle Maximum Availability Architectureに関する情報は、次を参照してください。

    http://www.oracle.com/technetwork/database/features/availability/maa-090890.html


Oracle RACでは、新しい方法でクラスタ・データベースを管理できます。これまでは、データベースを管理するのは管理者であったため、DBAは特定のインスタンスがクラスタ内の特定のノードで実行されるように定義して、データベースの各インスタンスを管理していました。動的なグリッド構成の実装に役立つように、Oracle RAC 11g リリース2(11.2)ではポリシー管理のデータベースが導入され、DBAが定義するのはカーディナリティ(必要なデータベース・インスタンス数)のみになりました。インスタンスを実行するノードの割当てはOracle Clusterwareによって管理され、REDOスレッドおよびUNDO表領域は必要に応じてOracle RACによって割り当てられます。


注意:

必要なREDOスレッドとUNDO表領域の自動割当ては、データベースがOracle Managed Filesを使用している場合にのみ実行されます。

Oracle RAC環境の管理ツール

Oracle Enterprise Manager、SQL*PlusまたはOracle RACのコマンドライン・インタフェース(サーバー制御ユーティリティ(SRVCTL)など)を使用して、クラスタ・データベースを単一のシステム・イメージとして管理できます。

  • Oracle Enterprise Manager: Enterprise Managerには、非クラスタ・データベースを管理するDatabase Controlと、Oracle RACデータベース環境を管理するGrid Controlの2つのGUIインタフェースがあります。可能な場合は、Oracle Enterprise Managerを使用して管理タスクを実行することをお薦めします。

    Oracle Enterprise Manager Database Controlを使用して、Oracle RAC One Nodeデータベースを管理することもできます。

  • サーバー制御ユーティリティ(SRVCTL): シングル・ポイントからOracle RACデータベースを管理するためのコマンドライン・インタフェース。SRVCTLを使用して、データベースおよびインスタンスの起動と停止、インスタンスおよびサービスの削除または移動を実行できます。SRVCTLを使用して、構成情報、Oracle Real Application Clusters One Node(Oracle RAC One Node)Oracle ClusterwareおよびOracle ASMの管理もできます。

  • SQL*Plus: SQL*Plusコマンドは、現行のインスタンスで動作します。現行のインスタンスは、SQL*Plusセッションを開始したローカルのデフォルト・インスタンスまたはOracle Net Servicesの接続先リモート・インスタンスです。

  • クラスタ検証ユーティリティ(CVU): クラスタとOracle RACの様々なコンポーネント(共有ストレージ・デバイスなど)、ネットワーク構成、システム要件、Oracle Clusterware、およびオペレーティング・システムのグループやユーザーの検証に使用するコマンドライン・ツール。インストール前およびインストール後のクラスタ環境のチェックにも使用できます。CVUは、Oracle ClusterwareおよびOracle RACコンポーネントのインストール前およびインストール時に特に役立ちます。Oracle ClusterwareおよびOracle Databaseのインストール後に、CVUを実行して環境を検証します。

    Oracle RACをインストールする前にCVUをインストールして、構成がOracle RACのインストールの最小要件を満たしていることを確認します。また、CVUを使用して、ノードの追加や削除などの管理タスクの完了を検証できます。

  • DBCA: Oracle RAC、Oracle RAC One NodeおよびOracleの非クラスタ・データベースを作成し、最初に構成する場合の推奨方法。

  • NETCA: Oracle RAC環境のネットワークを構成します。


関連項目:


Oracle RAC環境の監視

WebベースのOracle Enterprise Manager Database ControlおよびGrid Controlを使用すると、Oracle RACデータベースを監視できます。Oracle Enterprise Manager Consoleでは、Graphical User Interface(GUI)によって、アクセスするOracle環境を集中的に制御できます。Oracle Enterprise Managerを使用したOracle RAC環境の監視の詳細は、「Oracle RACおよびOracle Clusterwareの監視」および『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

Oracle RAC環境を監視する場合の推奨事項は次のとおりです。

  • Oracle Enterprise Manager Consoleを使用して、クラスタ・データベース管理タスクを開始します。

  • 複数のOracle RACデータベースの管理には、Oracle Enterprise Manager Grid Controlを使用します。Oracle Enterprise Manager Database Controlを使用して、個々のOracle RACデータベースを管理できます。

  • V$ビューに基づいたグローバル・ビュー(GV$ビュー)を使用します。GV$ビューは、catclustdb.sqlスクリプトによって作成されます。データベースの作成にDBCAを使用しない場合は、このスクリプトを実行します。それ以外の場合は、DBCAによってこのスクリプトが実行されます。

    ほとんどのV$ビューに対して、対応するGV$グローバル・ビューが存在します。V$情報に加えて、各GV$ビューにはINST_IDという名前の追加の列があり、ここにインスタンス番号が表示され、この番号に基づいて関連するV$ビュー情報が取得されます。

  • Automatic Database Diagnostic Monitor(ADDM)およびAWRを含む、Oracle Enterprise ManagerのOracle Database Diagnostic and Tuningパックの高度な管理および監視機能を使用します。


    注意:

    Statspackは下位互換性に使用できますが、Statspackで実行できるのはレポートのみです。ブロック競合およびセグメント・ブロックの待機に関連する統計を収集するには、Statspackをレベル7で実行する必要があります。


関連項目:

  • 『Oracle Databaseパフォーマンス・チューニング・ガイド』では、ADDMなどのパフォーマンスの診断およびチューニングのOracle Database自動機能について説明しています。

  • パフォーマンスの監視およびトラブルシューティングの詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。


Oracle RAC環境でのパフォーマンス評価

Oracle RACに対して特別なチューニングは必要ありません。Oracle RACは特別な構成変更がなくてもスケーラビリティが向上します。アプリケーションが非クラスタOracle RACデータベースで正常に動作する場合は、Oracle RAC環境でも正常に動作します。非クラスタOracle Databaseで実行する多くのチューニング・タスクによって、Oracle RACデータベースのパフォーマンスも向上できます。これは、より多くのCPUをまたいだスケーラビリティが必要な環境にとって特に当てはまることです。

Oracle RAC固有のパフォーマンス機能には、次のものがあります。

  • 動的リソース割当て

    • 必要に応じて、キャッシュ・フュージョン・リソースが動的に割り当てられます。

    • リソースを動的にマスター化すると、リソースをデータ・ブロックに対してローカルなままに保持できるため、パフォーマンスが向上します。

  • キャッシュ・フュージョンによる簡素化されたチューニング方法

    • キャッシュ・フュージョン用にパラメータをチューニングする必要はありません。

    • アプリケーション・レベルのチューニングは必要ありません。

    • 既存のアプリケーションに対してほとんど影響を及ぼすことなく、ボトムアップ・チューニングを実行できます。

  • 詳細なパフォーマンス統計

    • Oracle RACパフォーマンスを監視するために様々なビューを使用できます。

    • Oracle Enterprise Manager Database ControlおよびGrid ControlがOracle RACと統合されています。



脚注の凡例

脚注1: Oracle Database 10gリリース2(10.2)以上を実行する構成では、Oracle Clusterwareはクラスタ内で100ノードをサポートし、Oracle RACはOracle RACデータベース内で100インスタンスをサポートします。
脚注2: PFILEファイルを共有する必要はありません。