この章では、Oracle Real Application Clusters(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 Clusterwareのインストール・ガイドを参照してください。 |
シングル・インスタンスのOracle Databaseでは、Oracle Databaseとインスタンスは1対1の関係です。これに対して、Oracle RAC環境では、データベースとインスタンスは1対多の関係です。1つのOracle RACデータベースは、最大100のインスタンスを持つことができます。脚注1 すべてのインスタンスが1つのデータベースにアクセスします。すべてのデータベース・インスタンスは、Oracle Clusterwareが使用することもできる、1つのインターコネクトを使用する必要があります。
各Oracle RACデータベース・インスタンスには次のものも存在するため、Oracle RACデータベースは、シングル・インスタンスのOracle Databaseとアーキテクチャが異なります。
各インスタンスの1つ以上の追加REDOスレッド
インスタンス固有のUNDO表領域
複数のサーバーの処理能力を組み合せることによって、単一のサーバーの場合よりも優れたスループットおよびOracle RACスケーラビリティを実現できます。
図1-1に、Oracle DatabaseのオプションであるOracle RACにより、複数のサーバーが1つのOracle Databaseにアクセスするための単一のシステム・イメージが提供される方法を示します。通常、Oracle RACでは、各Oracleインスタンスは異なるサーバー上で実行されます。
Oracle RAC環境は1つのデータ・センター上にあります。 ただし、Oracle RACは、拡張遠距離クラスタ上に構成することができます。拡張遠距離クラスタでは、サイトの障害から迅速にリカバリでき、すべてのサイトですべてのノードが単一データベース・クラスタの一部としてアクティブにトランザクションを処理できます。拡張遠距離クラスタでは、クラスタ内のノードは遠く離れた2つの建物の中にあります(通りの反対側、キャンパスの反対側、街の反対側などの任意の場所)。可用性の理由から、データは両方のサイトに置く必要があります。このため、記憶域のディスクのミラー化技術を実装する必要が生じます。
このアーキテクチャを実装する場合、このアーキテクチャが特に距離、待機時間および提供する保護の程度に関して、業務に適したソリューションであるかどうかを評価する必要があります。拡張遠距離クラスタのOracle RACは、高可用性の点でローカルOracle RAC構成よりも優れていますが、拡張遠距離クラスタは、組織の災害時リカバリ要件の一部を満たさない場合があります。適切な分離は一部の災害(局所的停電、飛行機の墜落事故、サーバー室の冠水など)に対する有効な保護策となりますが、あらゆる種類の障害に効果があるわけではありません。 破損や地域災害に対する保護を含む災害に対する包括的な保護策として、Oracle RACとともにOracle Data Guardを使用することをお薦めします。詳細は、『Oracle Database高可用性概要』および次のMaximum Availability Architecture(MAA)Webサイトを参照してください。
http://www.oracle.com/technology/deploy/availability/htdocs/maa.htm
Oracle RACは、すべてのタイプのアプリケーションに対して高可用性および高スケーラビリティを提供する特殊な技術です。また、Oracle RACインフラストラクチャは、Oracleエンタープライズ・グリッド・コンピューティング・アーキテクチャを実装するための主要なコンポーネントです。複数のインスタンスが単一のデータベースにアクセスすることで、サーバーがシングル・ポイント障害になることを防止できます。Oracle RACを使用すると、小規模な汎用サーバーをクラスタに組み込んで、ミッション・クリティカルなビジネス・アプリケーションをサポートするスケーラブルな環境を構築できます。Oracle RACデータベースにデプロイするアプリケーションは、コードを変更せずに使用できます。
Oracle Clusterwareは、すべてのOracle Databaseプラットフォームを対象とした完全な統合クラスタウェア管理ソリューションです。このクラスタウェア機能は、クラスタ・データベースの管理に必要なすべての機能(ノードのメンバーシップ、グループ・サービス、グローバル・リソース管理および高可用性機能)を提供します。Oracle Clusterwareは、単独でインストールすることも、Oracle RACインストール・プロセスの前提条件としてインストールすることもできます。サービスなどのOracle Database機能は、基盤となるOracle Clusterwareメカニズムを使用して提供されます。特定のプラットフォームについては、一部のサード・パーティ製クラスタウェア製品も引き続きサポートされます。
Oracle Clusterwareは、Oracle RACのために設計され、Oracle RACに密接に統合されています。いずれかの管理ツールを使用してOracle RACデータベースを作成する場合、データベースはOracle Clusterwareに登録され、他のOracle Databaseプロセス(仮想インターネット・プロトコル(VIP)・アドレス、グローバル・サービス・デーモン(GSD)、Oracle Notification Service(ONS)、Oracle Netリスナーなど)とともにOracle Clusterwareによって管理されます。Oracle Clusterwareによってノードが起動されると、これらのリソースが自動的に起動され、障害が発生すると、Oracle Clusterwareによって自動的に再起動されます。Oracle Clusterwareデーモンは各ノードで実行されます。
Oracle Clusterwareを使用して、クラスタで高可用性操作を管理できます。Oracle Clusterwareが管理する対象はCRSリソースと呼ばれ、データベース、インスタンス、サービス、リスナー、VIPアドレス、アプリケーション・プロセスなどが含まれます。Oracle Clusterwareは、Oracle Cluster Registry(OCR)に格納されているリソースの構成情報に基づいて、CRSを管理します。 Oracle Clusterwareでは、これらのコンポーネントの構成に関する情報はOCRに格納されます。OCRの管理方法については、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。
Oracle RACでは、Oracle Clusterwareによって、複数のサーバーが連動するためのクラスタ・インフラストラクチャが提供される必要があります。 Oracle Clusterwareは、グループ・メンバーシップ、通信インフラストラクチャ、イベントの監視および高可用性フレームワークを提供します。
詳細は、次の項を参照してください。
Oracle RACデータベースは、Shared Everythingデータベースです。Oracle RAC環境のすべてのデータ・ファイル、制御ファイル、SPFILE脚注2 およびREDOログ・ファイルは、すべてのクラスタ・データベース・インスタンスがこれらのストレージ・コンポーネントにアクセスできるように、クラスタで認識される共有ディスク上に存在する必要があります。すべてのデータベース・インスタンスは、Oracle Clusterwareが使用することもできる、1つのインターコネクトを使用する必要があります。Oracle RACデータベースはShared Everythingアーキテクチャを使用するため、Oracle RACでは、すべてのデータベース・ファイルに対して、クラスタで認識される記憶域が必要です。
Oracle RACでは、Oracle Databaseソフトウェアによってディスク・アクセスが管理されます。Oracle Databaseソフトウェアは、様々な記憶域アーキテクチャでの使用が保証されています。ディスクの構成方法は任意に選択できますが、クラスタを認識するサポートされたストレージ・ソリューションを使用する必要があります。Oracle Databaseは、Oracle RACに次のファイル格納オプションを提供します。
Oracle RAC環境内のすべてのノードは、ユーザーおよびアプリケーションがデータベースにアクセスできるように、Local Area Network(LAN)に接続する必要があります。アプリケーションは、Oracle Databaseサービス機能を使用して、Oracle Databaseに接続する必要があります。サービスでは、規則および特性を定義して、ユーザーおよびアプリケーションからデータベース・インスタンスへの接続方法を制御できます。これらの特性には、一意の名前、ワークロード・バランシング、フェイルオーバー・オプションおよび高可用性特性が含まれます。Oracle Net Servicesでは、Oracle RACデータベース内のすべてのインスタンス間で、アプリケーション接続のロード・バランシングが可能です。
ユーザーは、クライアント/サーバー構成を使用するか、または接続プーリングを任意に使用し、1つ以上の中間層を介してOracle RACデータベースにアクセスします。ユーザーは、データベース管理者、開発者、アプリケーション・ユーザー、パワー・ユーザー(たとえば、独自の検索を作成してデータ・マイニングを行うユーザー)などである場合があります。
通常、ほとんどのパブリック・ネットワークではTCP/IPが使用されますが、サポートされている任意のハードウェアとソフトウェアの組合せを使用できます。Oracle RACデータベース・インスタンスには、データベースのデフォルトIPアドレスおよびVIPアドレスを介してアクセスできます。
インターコネクト・ネットワークは、クラスタ内のすべてのサーバーに接続するプライベート・ネットワークです。インターコネクト・ネットワークでは、クラスタ内のノードのみがアクセスできる1つまたは複数のスイッチが使用されます。クラスタ・インターコネクトには、ギガビット・イーサネットでユーザー・データグラム・プロトコル(UDP)を構成してください。LinuxおよびUNIXシステムでは、UDPまたはリライアブル・データ・ソケット(RDS)プロトコルのいずれかを使用するようにOracle Clusterwareを構成できます。Windowsクラスタでは、TCPプロトコルが使用されます。Oracle Clusterwareインターコネクトでは、クロスオーバー・ケーブルの使用はサポートされていません。
ノードのホスト名およびIPアドレスに加え、各ノードに仮想ホスト名および仮想IPアドレスを割り当てる必要があります。仮想ホスト名またはVIPアドレスは、データベース・インスタンスへの接続に使用します。たとえば、tnsnames.ora
ファイルのアドレス・リストに、仮想ホスト名CRM
を入力する場合があります。
仮想IPアドレスは、クライアント接続で標準のパブリックIPアドレスのかわりに使用される代替パブリック・アドレスです。VIPアドレスを構成するには、各ノードに対して予備のIPアドレスを予約し、IPアドレスでパブリック・ネットワークと同じサブネットを使用する必要があります。
ノードで障害が発生した場合、そのノードのVIPアドレスは別のノードにフェイルオーバーされます。そのVIPアドレスはTCP接続を受け入れることはできますが、Oracle接続を受け入れることはできません。通常、VIPアドレスは次の場合にフェイルオーバーされます。
VIPアドレスが実行されているノードで障害が発生した場合
VIPアドレスのすべてのインタフェースに障害が発生した場合
VIPアドレスのすべてのインタフェースがネットワークから切断された場合
そのVIPアドレスへの接続を試行するクライアントは、TCP接続のタイムアウト・メッセージを待機するかわりに、すぐにconnection refused
エラーを受け取ります。データベース接続定義用のアドレス・リストにVIPアドレスを構成し、接続を有効化します。
Network Attached Storage(NAS)を使用する場合、2つ目のプライベート・ネットワークを構成する必要があります。通常、このネットワークへのアクセスは、ベンダーのソフトウェアに制御されています。プライベート・ネットワークでは、静的IPアドレスが使用されます。
Oracle RACデータベースには複数のデータベース・インスタンスが存在し、それぞれのインスタンスにはメモリー構造およびバックグラウンド・プロセスが含まれます。Oracle RACデータベースには、シングル・インスタンスのOracle Databaseと同じプロセスおよびメモリー構造に加えて、Oracle RAC固有の追加プロセスおよびメモリー構造が存在します。いずれか1つのインスタンスのデータベース・ビューは、同じOracle RACデータベース内の他のインスタンスのビューとほぼ同じです。ビューは、環境の単一のシステム・イメージです。
各インスタンスのシステム・グローバル領域(SGA)には、バッファ・キャッシュが存在します。キャッシュ・フュージョンの使用によって、Oracle RAC環境で各インスタンスのバッファ・キャッシュが論理的に結合され、論理的に結合された単一のキャッシュにデータが存在する場合と同様に、インスタンスでデータを処理できます。
各Oracle RACデータベース・インスタンスが問合せまたはトランザクションを満たすために必要なブロックを可能なかぎり速く取得し、データの整合性を保証するために、Oracle RACインスタンスで、グローバル・キャッシュ・サービス(GCS)およびグローバル・エンキュー・サービス(GES)の2つのプロセスが使用されます。GCSおよびGESは、グローバル・リソース・ディレクトリ(GRD)を使用して、各データ・ファイルおよび各キャッシュ・ブロックのステータスのレコードをメンテナンスします。 GRDの内容はすべてのアクティブ・インスタンス間で分散され、Oracle RACインスタンスのSGAのサイズは増加します。
あるインスタンスがデータをキャッシュすると、同じクラスタ・データベース内の他のインスタンスは、同じデータベース内の他のインスタンスからブロック・イメージを取得できます。これは、ディスクからブロックを読み取るよりも高速です。すなわち、キャッシュ・フュージョンでは、ディスクからブロックを再度読み取るかわりに、インスタンス間で現行ブロックが移動されます。他のインスタンスで、一貫性のあるブロックまたは変更されたブロックが必要な場合、キャッシュ・フュージョンによって、影響を受けるインスタンス間でブロック・イメージが直接転送されます。Oracle RACは、インスタンス間の通信およびブロックの転送にプライベート・インターコネクトを使用します。GESモニターおよびインスタンス・エンキュー・プロセスは、キャッシュ・フュージョン・リソースへのアクセスおよびエンキューのリカバリ処理を管理します。
Oracle RACプロセスおよびその識別子は次のとおりです。
ACMS
: メモリー・サービスへのアトミック制御ファイル(ACMS)
Oracle RAC環境では、メモリー・サービスへのアトミック制御ファイル(ACMS)のインスタンスごとのプロセスは、分散SGAメモリー更新が成功時にグローバルにコミットされるようにしたり、障害発生時にグローバルに強制終了されるようにするエージェントです。
GTX0-jプロセスは、RAC環境でXAグローバル・トランザクションを透過的にサポートします。これらのプロセスの数は、データベースによって、XAグローバル・トランザクションのワークロードに基づいて自動調整されます。
LMONプロセスでは、グローバル・エンキューおよびクラスタ全体のリソースが監視され、グローバル・エンキュー・リカバリ操作が実行されます。
LMDプロセスでは、各インスタンス内の受信リモート・リソース要求が管理されます。
LMSプロセスでは、情報をグローバル・リソース・ディレクトリ(GRD)に記録することにより、データ・ファイルのステータスおよび各キャッシュ・ブロックのレコードがメンテナンスされます。LMSプロセスでは、リモート・インスタンスへのメッセージ・フローの制御、グローバル・データ・ブロック・アクセスの管理、異なるインスタンスのバッファ・キャッシュ間のブロック・イメージの送信も行われます。この処理は、キャッシュ・フュージョン機能の一部です。
LCK0プロセスでは、ライブラリや行キャッシュ要求などの非キャッシュ・フュージョン・リソース要求が管理されます。
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 RACの高可用性フレームワークによって、Oracle Clusterwareでコンポーネントを常に稼働状態に維持できます。Oracleの高可用性機能によって、Oracle Clusterwareで重要なコンポーネントを監視し、コンポーネントが停止した場合には再起動します。この処理は、ユーザーによって再起動処理が無効化されないかぎり実行されます。 また、高可用性フレームワークは、構成が変更されるとクライアントにアラートを通知します。この通知によって、クライアントでは変更にただちに対処することができ、アプリケーション開発者は、エンド・ユーザーに影響を及ぼすことなく、システムを停止して再構成を行うことができます。 Oracle RACの高可用性機能では、Oracle Databaseの停止したプロセス(いくつかのインスタンスのバックグラウンド・プロセスを含む)の再起動から、サービスの再配置を介して、使用可能な他のインスタンスへのインスタンス全体の処理のフェイルオーバーまで、様々な機能を実行できます。
ロード・バランシング・アドバイザ: データベースおよびデータベース・インスタンスが現在提供しているサービス・レベルについての情報をアプリケーションに提供する、データベースの機能です。アプリケーションではこの情報を利用して、アプリケーション要求に対して最適なサービス品質で処理を実行可能なインスタンスに、接続要求を割り当てることができます。 Oracle Databaseでは、Java Database Connectivity(JDBC)とOracle Data Provider for .NET(ODP.NET)の接続プールおよびOCIセッション・プールは、ロード・バランシング情報に基づいて機能するように統合されています。アプリケーションでは、プログラムを変更することなく、統合された接続プールを使用できます。 すべてのアプリケーションは、Oracleリスナーとロード・バランシング・アドバイザの統合によって、接続時ロード・バランシングを実現します。
サービス: クラスタ管理サービスでは、企業のグリッド構想を実現する強力な自動ワークロード管理機能が導入されています。サービスは、Oracle RACデータベースで定義可能なエンティティです。 クラスタでは、サービスによって、データベースのワークロードをグループ化し、サービスの処理に割り当てられた最適なインスタンスに作業をルーティングできます。さらに、Oracle Databaseでは、サービスを使用して、ワークロードの処理およびワークロード・リソースの監視に割り当てるリソースを定義できます。サービスに割り当てたアプリケーションは、高可用性およびロード・バランシングの規則を含む、定義済の自動ワークロード管理の特性を透過的に取得します。 Oracle Databaseの多くの機能は、リソース・マネージャ(1つのインスタンス内でサービスが使用できるリソースを制限)、Oracle Streams、Advanced Queuing(キューの位置の透過性を実現)、Oracle Scheduler(サービスを特定のジョブ・クラスにマッピング)などのサービスと統合されています。
Oracle RACデータベースでは、構成したサービス・パフォーマンス規則によって、Oracle Databaseがそのサービスに使用可能な各インスタンスに割り当てられる作業の量を制御できます。
接続時ロード・バランシング: Oracle Net Servicesによって、データベース接続の接続時ロード・バランシングが実行されます。接続時ロード・バランシングは、接続が作成されると実行されます。 指定したサービスの接続は、サービスを提供する実行中のすべてのインスタンス間で、ロード・バランシング・アドバイザの情報を使用して調整されます。接続のバランシング方法は、サービス定義で定義する必要があります。ただし、Oracle Net Servicesも構成する必要があります。
Oracle Universal Installerを使用して、グリッド・インフラストラクチャ(Oracle ClusterwareとASMを含む)およびOracle Databaseソフトウェアをインストールし、Database Configuration Assistant(DBCA)を使用してデータベースを作成します。データベースの作成によって、Oracle RAC環境のネットワーク構成、データベース構造およびパラメータ設定が、選択された環境に最適なものになります。インストール後、データベース管理者が行うOracle RAC環境の管理タスクには、次の3つのレベルがあります。
インスタンスの管理
データベースの管理
クラスタの管理(データベース管理者に、クラスタの管理権限がない場合もあります)
この項では、Oracle RACのインストール・プロセスについて説明します。内容は次のとおりです。
Oracle ASMおよびOracle Real Application Clustersソフトウェアの拡張の概要
注意: Oracle RACをインストールする前に、まずOracle Clusterwareをインストールする必要があります。 詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。 |
特に複数のリリースのOracle Databaseを使用している場合に、クラスタで複数のデータベースを実行するには、ソフトウェアの互換性の要件を理解することが重要です。
Oracle9iデータベースを実行しているOracle RACノードの場合、Oracle9iクラスタをインストールする必要があります。
UNIXの場合、クラスタ・ソフトウェアとしてHACMP、Serviceguard、Sun ClusterまたはVeritas SFを使用できます。
WindowsおよびLinuxの場合、クラスタ・ソフトウェアはOracle Cluster Managerを使用します。
Oracle Database 10g以降を実行しているOracle RACをインストールする場合は、Oracle Clusterwareもインストールする必要があります。 Oracle Clusterwareは、Oracle Databaseの最新バージョンと同じリリースか、それ以上である必要があります。 詳細は、使用しているプラットフォーム固有のOracle Clusterwareインストレーション・ガイドおよび『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。
Oracle RAC 10gとOracle RAC 11gを同じクラスタで実行している場合は、Oracle Clusterware 11g(のみ)を実行する必要があります。
Oracle9i RACソフトウェアをOracle RAC 10gまたはOracle RAC 11gとともにクラスタで実行する場合は、Oracle9i RACソフトウェアを最初にインストールしてください。
注意: クラスタの一部であるサーバーにOracle RACを追加する場合は、Oracle Clusterwareに移行(およびサード・パーティのクラスタウェアを削除)するか、または実行しているクラスタウェアがインストールするOracle RACとともに実行できることを確認します。 サード・パーティのクラスタウェアとともにOracle Clusterwareをインストールする前に、これらの2つが連動するための正しいオプションがインストールされることを確認します。 連動することが保証されていないかぎり、異なるクラスタ・ソフトウェアを同じサーバーで実行しないでください。また、統合された方法でインストールすることをお薦めします。 |
グリッド・インフラストラクチャおよびOracle Clusterwareをインストールし、Oracle Clusterwareが稼働した後、Oracle Universal Installerを実行して、Oracle RACコンポーネントとともにOracle Databaseソフトウェアをインストールします。
インストール中、Oracle Universal InstallerによってDBCAが実行され、選択したオプションに従ってOracle RACデータベースが作成されます。また、DBCAによってNet Configuration Assistant(NetCA)が実行され、Oracle RAC環境のネットワークが構成されます。
関連項目: NetCAの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。 |
Oracle RACソフトウェアは、Oracle Databaseのインストール・メディアで配布されています。デフォルトでは、標準のOracle Databaseソフトウェアのインストール・プロセスによってクラスタへのインストールの実行が認識されると、Oracle RACオプションがインストールされます。Oracle RACは、OUIによって、システムで実行中の他のOracleソフトウェアとは別のディレクトリ構造にインストールされます。このディレクトリ構造はOracleホームと呼ばれます。OUIはクラスタを認識するため、Oracle RACソフトウェアは、クラスタの一部として定義されたすべてのノードにインストールされます。
インストール時にASMを選択して、記憶域管理を簡素化することをお薦めします。ASMを使用すると、ディスク・グループ内のすべてのデータベース・ファイルの記憶域を自動的に管理できます。Oracle Database Standard Editionを使用している場合は、すべてのデータベース・ファイルの格納にASMを使用する必要があります。また、処理要件に応じて、インストール中にサービスを構成することもできます。
デフォルトでは、Oracle Databaseによってデータベース用の1つのサービスが環境に作成されます。(デフォルトのデータベース・サービスは、通常、DB_NAME
およびDB_DOMAIN
初期化パラメータの組合せdb_name
.db_domain
を使用して識別されます)。データベースが制限モードになっていないかぎり、このデフォルトのサービスはOracle RAC環境のすべてのインスタンスで使用できます。 デフォルトのデータベース・サービス以外に、少なくとも1つのサービスを作成し、ワークロードを完全に制御できるようにそのサービスを使用することをお薦めします。
注意: Oracle Clusterwareのインストール後は、ホスト名を変更しないでください。この制限には、ドメイン修飾の追加と削除も含まれます。ホスト名が変更されたノードはクラスタから削除し、新しい名前を付けて再度追加する必要があります。 |
Oracle ASMおよびOracle RACデータベース・ホームのクローン・イメージをクラスタ内の他のノードにコピーして、グリッド環境でASMおよびOracle RACを追加のノードに拡張することができます。Oracleクローニングでは、ソフトウェアのイメージが、類似のハードウェアおよびソフトウェアがある他のノードにコピーされます。クローニングは、Oracle RAC環境を同じ構成の複数のノードに迅速に拡張する必要がある場合のシナリオに最適です。
Oracle Clusterware環境の拡張には、次の方法が提供されています。
クローニング・スクリプトを使用したOracleクローニング・プロシージャ
Oracle Enterprise Managerクローニング
addNode.sh
スクリプトおよびOUIクローニング
注意: Oracleクローニングは、Provisioning Packに含まれるOracle Enterprise Managerクローニングにかわるものではありません。Oracle Enterprise Managerクローニングの間、プロビジョニング・プロセスには、取得するホームに関する詳細、デプロイする場所およびその他の各種パラメータを収集する一連の手順が含まれます。 |
新規インストール、または1つのOracle RACデータベースのみをインストールする必要がある場合は、OUIやOracle Enterprise ManagerのProvisioning Pack機能などの従来の自動化された対話式インストール方法を使用する必要があります。クラスタ内のノードからOracle RACを削除する、または追加することが目的である場合は、addNode.sh
およびrootdelete.sh
スクリプトを使用できます。
クローニングのプロセスは、グリッド・インフラストラクチャ・ホームおよびOracle RACを含むOracleホームが1つ以上のノードに正常にインストールされていることを前提としています。さらに、クラスタ・データベースの拡張元となるノードですべてのルート・スクリプトが正常に実行されている必要があります。
高レベルでは、Oracleクローニングには次の主なタスクが含まれます。
『Oracle Clusterware管理およびデプロイメント・ガイド』の説明に従ってグリッド・インフラストラクチャ・ホームをクローニングします。
Oracle RACソフトウェアを使用してOracleホームをクローニングします。
Oracleホームを新規ノードにクローニングするプロセスも、Oracle Clusterwareホームをクローニングするプロセスとほぼ同じです。
各新規ノードでNetCAを実行してリスナーを作成します。
まだデータベースを作成していない場合は、DBCAを実行してデータベースを作成します。
クローニング後の手順を実行して、Oracle RAC環境の新規ノードへの拡張を終了します。
関連項目:
|
この項では、Oracle RAC環境の管理について説明します。内容は次のとおりです。
Oracle RACによる高可用性計画を設計および実装しているすべての企業は、高可用性を必要とするビジネス要因を綿密に分析することから始める必要があります。高可用性を実現するためのビジネス要件を分析し、様々な高可用性ソリューションの実装に必要な投資レベルについて理解しておくことによって、ビジネスと技術の両方の目的を達成する高可用性アーキテクチャの開発が可能になります。高可用性要件に最適なアーキテクチャを選択および実装する場合に役立つ次のリソースを参照してください。
第11章「設計およびデプロイ方法」では、ビジネスの高可用性要件を評価する場合に使用できる高水準の概要を示しています。
『Oracle Database高可用性概要』では、組織に最適なアーキテクチャを選択する方法および複数の高可用性アーキテクチャについて説明し、要件を満たす最適なアーキテクチャを選択するためのガイドラインを示しています。
Oracle Enterprise Manager、SQL*PlusまたはOracle RACのコマンドライン・インタフェース(サーバー制御ユーティリティ(SRVCTL
)など)を使用して、クラスタ・データベースを単一のシステム・イメージとして管理できます。
Oracle Enterprise Manager: Enterprise Managerには、シングル・インスタンス・データベースを管理するDatabase Controlと、Oracle RACデータベース環境を管理するGrid Controlの2つのGUIインタフェースがあります。可能な場合は、Oracle Enterprise Managerを使用して管理タスクを実行することをお薦めします。
サーバー制御ユーティリティ(SRVCTL
): シングル・ポイントからOracle RACデータベースを管理するためのコマンドライン・インタフェース。SRVCTL
を使用して、データベースおよびインスタンスの起動と停止、インスタンスおよびサービスの削除または移動を実行できます。SRVCTL
を使用して、構成情報、Oracle Clusterwareおよび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データベースを作成し、最初に構成する場合の推奨方法。
NetCA: 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 Real Application ClustersおよびOracle Clusterwareの監視」、『Oracle Database 2日でReal Application Clustersガイド』および『Oracle Enterprise Manager概要』を参照してください。
Oracle RAC環境を監視する場合の推奨事項は次のとおりです。
Oracle Enterprise Manager Consoleを使用して、クラスタ・データベース管理タスクを開始します。
複数のOracle RACデータベースの管理には、Oracle Enterprise Manager Grid Controlを使用します。
グローバル・ビュー、またはV$
ビューに基づいたGV$
ビューを使用します。GV$
ビューは、catclustdb.sql
スクリプトによって作成されます。データベースの作成にDBCAを使用しない場合は、このスクリプトを実行します。それ以外の場合は、DBCAによってこのスクリプトが実行されます。
Automatic Database Diagnostic Monitor(ADDM)およびAWRを含むOracle Database Diagnostic and Tuningパックの高度な管理および監視機能を使用します。
関連項目: 『Oracle Databaseパフォーマンス・チューニング・ガイド』では、ADDMなどのパフォーマンスの診断およびチューニングのOracle Database自動機能について説明しています。 |
Oracle RAC用にアプリケーションを変更する必要はありません。Oracle RACは、アプリケーションを変更しなくても動作します。 アプリケーションがシングル・インスタンスのOracle Databaseで正常に動作している場合は、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インスタンスをサポートします。