Oracle Real Application Clusters(Oracle RAC)を使用すると、Oracle Databaseをサーバーのクラスタ全体に実行することが可能になり、アプリケーションを変更せずにフォルト・トレランス、パフォーマンスおよびスケーラビリティを向上できます。Oracle RACでは、単一サーバーでのシングル・ポイント障害を取り除くことによって、アプリケーションの高可用性が提供されます。
この章では、Oracle Real Application Clusters(Oracle RAC)環境の概要について説明します。この章の内容は次のとおりです。
これは、Oracle Real Application Clusters(Oracle RAC)データベース管理のためのタスク指向のマニュアルです。このマニュアルでは、Oracle ClusterwareおよびOracle RACの環境を構成および管理する方法を示します。このマニュアルに示す管理の手順および例では、オペレーティング・システムがOracle Linuxであることを前提としています。手順および例では、このマニュアルの目的に合わせて、2ノードのクラスタを使用します。
このマニュアルは、基本的なトラブルシューティング、パフォーマンスの監視、バックアップおよびリカバリ作業の実行など、Oracle RAC環境のインストールおよび保守に必要な基本的な手順の理解を目的としています。このマニュアルでは、Oracle Linuxをベースに説明しますが、このマニュアルの使用にあたっては、Linuxに精通している必要はありません。
このガイドはOracle RACを総合的に解説するものではありません。概念は、特定のタスクの完了に必要な場合にのみ説明しています。
参照:
|
このマニュアルは、Oracle Databaseの管理を目的とした一連の総合的な学習教材の一部であり、これらの教材には、Webで利用可能な2日でデータベース管理者のOracle by Example(OBE)シリーズおよびOracle University講師による研修コースが含まれます。OBEシリーズには、Webブラウザを使用して表示するビューレット(アニメーション・デモ)も含まれます。
次のWebサイトでOracle RAC用のOBEの内容を表示できます。
http://www.oracle.com/technetwork/tutorials/
「拡張検索」機能を使用して、次の基準を使用します。
製品ファミリ: Database
製品: Database 11g
タグ: RAC
このマニュアルでは、Oracle RAC、Oracle ClusterwareおよびOracle Automatic Storage Management(Oracle ASM)をインストール、構成および管理する方法について説明します。ここには、Oracle Linuxオペレーティング・システムを使用して2ノード・クラスタにOracle RACをデプロイできる方法について、例が示されています。Oracle Linuxは、ソースとバイナリの両方でRed Hat Enterprise Linuxと完全な互換性があります。これには、Red Hatディストリビューションと同じソース・コードで同じバージョン・レベルの同一パッケージ・セットが含まれます。
このマニュアルは、単一インスタンスのOracle環境での作業経験があり、『Oracle Database 2日でデータベース管理者』をすでに読んでいるDBAを対象としています。
他にも、次のOracle RACガイドまたは関連ドキュメントが役に立ちます。
『Oracle Clusterware管理およびデプロイメント・ガイド』
『Oracle Real Application Clustersインストレーション・ガイドfor Linux and UNIX Systems』(または他のオペレーティング・システム)
『Oracle Grid Infrastructureインストレーション・ガイドfor Linux』(または他のオペレーティング・システム)
注意: 今回のリリースに関する追加情報は、Oracle Database 11gリリース2(11.2)の『Oracle Databaseプラットフォーム共通日本語README』または『Oracle Databaseリリース・ノートfor Linux』を参照してください。これらのドキュメントは、Oracle製品のインストール・メディアまたはOracle Technology NetworkのWebサイトで確認できます。 |
このマニュアルでは、『Oracle Database 2日でデータベース管理者』以外にも、次のリストに示すOracleドキュメント・ライブラリにあるマニュアルが参照されています。
『Oracle Database概要』
『Oracle Database管理者ガイド』
『Oracle Database Net Services管理者ガイド』
『Oracle Database管理者リファレンスfor Linux and UNIX-Based Operating Systems』
『Oracle Databaseライセンス情報』
『Oracle Databaseリファレンス』
『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』
『Oracle Database 2日でJava開発者ガイド』
『Oracle Database 2日でパフォーマンス・チューニング・ガイド』
『Oracle Databaseパフォーマンス・チューニング・ガイド』
『Oracle Universal InstallerおよびOpatchユーザーズ・ガイドfor Microsoft Windows and UNIX Systems』
『Oracle Databaseアップグレード・ガイド』
Oracle Database 11gリリース2以上では、Gridホームという名前の単一のホーム・ディレクトリに、Oracle ClusterwareおよびOracle ASMがインストールされます。この結合した製品のインストールは、クラスタ用Oracle Grid Infrastructureと呼ばれます。Oracle ClusterwareおよびOracle ASMは、これまでどおり個別の製品であり、それぞれの名前で呼ばれます。
Oracle Clusterwareを使用すると、複数のサーバー(ホストまたはノードと呼ばれる)が、1つのサーバー(通常、クラスタと呼ばれる)であるかのように機能します。これらのサーバーはスタンドアロン・サーバーですが、各サーバーには他のサーバーと通信する追加のプロセスがあります。これにより、アプリケーションおよびエンド・ユーザー側からは、個別のサーバーが1つのサーバーのように見えます。Oracle Clusterwareによって、Oracle RACを実行するためのインフラストラクチャが提供されます。複数のサーバーの処理能力を結合することによって、単一サーバーの場合よりも可用性、スループットおよびスケーラビリティを向上させることができます。
注意: デフォルトでは、指定されたユーザーがサーバー・プールを作成できます。この権限を持つオペレーティング・システム・ユーザーを制限するには、特定のユーザーをCRS管理者のリストに追加することをお薦めします。CRS管理者のリストへのユーザーの追加の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。 |
リソース管理を向上させるために、クラスタ内のノードをサーバー・プールに編成できます。各サーバー・プールには、次のプロパティがあります。
サーバー・プール内に含める必要のある最小ノード数
サーバー・プール内に含めることができる最大ノード数
他のサーバー・プールに対するこのサーバー・プールの相対的重要度
クラスタ用Oracle Grid Infrastructureのインストール時に、デフォルトのサーバー・プール(空きプールと呼ばれる)が自動的に作成されます。新規インストールのすべてのサーバーは、最初、空きサーバー・プールに割り当てられます。新しいサーバー・プールを作成した場合、サーバーは空きプールから新しいサーバー・プールに自動的に移動します。
ポリシー管理データベースとしてOracle RACデータベースを作成する場合は、データベースに必要なサーバーの数を指定すると、そのデータベースに対して1つのサーバー・プールが自動的に作成されます。Oracle Clusterwareでは、このサーバー・プールに使用可能なサーバーを含めます。サーバー・プールを使用しない場合は、管理者管理型のデータベースを作成できます。このマニュアルでは、管理者が管理するOracle RACデータベースを使用します。
参照:
|
Oracle ASMは、統合された高パフォーマンスのボリューム・マネージャおよびファイル・システムです。Oracle Database 11gリリース2では、Oracle ASMによって、Oracle Clusterware OCRおよび投票ディスク・ファイルを格納するためのサポートと、Oracle Automatic Storage Managementクラスタ・ファイル・システム(Oracle ACFS)と呼ばれる汎用目的のクラスタ・ファイル・システムが追加されます。Oracle ASMでは、管理者を必要とせずにデータベースで記憶域の管理を行うことを原則としています。Oracle ASMにより、場合によっては数千もの数になるOracle Databaseファイルを直接管理することが不要になります。
Oracle ASMは、ストレージ・システムにある複数のディスクを1つ以上のディスク・グループにグループ化します。ユーザーはわずかな数のディスク・グループ・セットを管理し、Oracle ASMはこれらのディスク・グループ内でのデータベース・ファイルの配置を自動化します。Oracle Cluster Registry(OCR)および投票ディスクもOracle ASMディスク・グループに配置できます。Oracle Real Application Clusters(Oracle RAC)を使用するときには、各インスタンスがOracle RACデータベース用のデータ・ファイルとリカバリ・ファイルにアクセスできる必要があります。Oracle Automatic Storage Management(Oracle ASM)を使用すると、この要件を簡単に満たすことができます。
図1-1のOracle ASMに格納されている通常の冗長性のディスク・グループには、Oracle Clusterwareの投票ディスクとOCRファイルを格納するために、(3台のディスクで示されている)3つの障害グループが含まれています。投票ディスクには、現在どのノードがクラスタ・メンバーであるかが記録されるため、2ノード・クラスタの場合には少なくとも3つの投票ディスクが必要です。Oracle ASMディスク・グループに投票ディスクとOCRファイルが含まれない場合は、2つの障害グループのみで通常の冗長性のディスク・グループを構成することができます。
図1-1 Oracle ASMディスク・グループに格納されているOracle Clusterwareファイル
Oracle ASMを使用すると、次のメリットがあります。
ストライプ化: Oracle ASMは、ディスク・グループ内のすべてのディスクにデータを均等に分散して、パフォーマンスと使用率を最適化します。このようにデータベース・ファイルを均等に分散することにより、定期的な監視およびI/Oパフォーマンス・チューニングが不要になります。
ミラー化: Oracle ASMは、オプションでファイルをミラー化することにより、データの可用性を高めています。Oracle ASMは、ディスク・レベルでミラー化するオペレーティング・システムのミラー化とは異なり、ファイル・レベルでミラー化を行います。ミラー化は、ファイルの各エクステントの冗長コピー(ミラー化コピー)を保持することであり、ディスク障害によるデータ損失を回避するために役立ちます。各ファイル・エクステントのミラー化コピーは、常に元のコピーとは異なるディスクで保持されます。ディスクに障害が発生した場合、Oracle ASMは、ディスク・グループ内の別の使用可能なディスクにあるミラー化コピーにアクセスすることで、影響を受けたファイルに継続してアクセスします。
オンライン・ストレージ再構成および動的リバランス: Oracle ASMを使用すると、データベースの動作中にディスク・ストレージ・システムのディスクを追加または削除できます。ディスク・グループにディスクを追加すると、データが自動的に再分散され、ディスク・グループ内で新規ディスクも含むすべてのディスクに均等に分散されます。新たに追加したディスクにもデータが分散されるようにデータの再分散を行うプロセスはリバランスと呼ばれます。リバランスはデータベース・パフォーマンスへの影響を最小限に抑えてバックグラウンドで実行されます。
Oracle Managed Filesの作成および削除: Oracle ASMは、Oracle ASMディスク・グループに格納されるファイルをOracle Databaseで管理できるようにすることで、管理タスクをさらに削減します。ファイルが作成されると、Oracle ASMによって自動的にファイル名が割り当てられ、ファイルが不要になると、そのファイルは自動的に削除されます。
Oracle Automatic Storage Managementクラスタ・ファイル・システム(Oracle ACFS)は、マルチプラットフォームでスケーラブルな新しいファイル・システムであり、Oracle ASM機能を拡張するストレージ管理テクノロジとして、Oracle Database外で維持されているカスタム・ファイルをサポートします。Oracle ACFSでサポートされるファイルには、データベースとアプリケーションの実行可能ファイル、トレース・ファイル、アラート・ログ、アプリケーション・レポート、BFILEおよび構成ファイルが含まれます。Oracle ACFSは、Oracle ASM機能を活用して動的なファイル・システムのサイズ変更、ストライプ化、ミラー化を可能にします。
Oracle ASMは、独自のシステム・グローバル領域とバックグラウンド・プロセスを備えた、特殊なOracleインスタンスとして実装されています。Oracle ASMインスタンスは、Oracle ClusterwareおよびOracle Databaseと密接に統合されています。記憶域にOracle ASMを使用する、1つ以上のデータベース・インスタンスを実行するすべてのサーバーには、Oracle ASMインスタンスがあります。Oracle RAC環境では、各ノードに1つのOracle ASMインスタンスがあり、Oracle ASMインスタンスが、ピアツーピア・ベースで相互に通信します。各ノードでは1つのOracle ASMインスタンスのみがサポートされますが、同じノードにOracle ASMを使用する複数のデータベース・インスタンスを持つことができます。図1-2「OracleインスタンスおよびOracle ASM記憶域」は、2ノードのOracle RACデータベースに一般に使用される記憶域構成を示しています。
Oracle ClusterwareファイルおよびOracle RACデータファイルには、RAWデバイスまたはオペレーティング・システムのファイル・システムではなく、Oracle ASMを使用することをお薦めします。Oracle Databaseでは、Oracle ASMファイルおよびOracle ASM以外のファイルの両方を使用できます。Oracle ACFSを使用したファイル・システムを作成して、データベースOracleホームや、クラスタの他の外部ファイル(データベース以外)を格納することもできます。
参照:
|
Oracle RACは、Oracle Databaseを拡張することで、異なるサーバー上の複数のデータベース・インスタンスを使用してデータを同時に格納、更新および効率的に取得できるようにします。Oracle RACは、複数のサーバーをインスタンスおよび1つのグループとして管理するソフトウェアを提供します。データベースを構成するデータファイルは、クラスタに含まれるすべてのサーバーからアクセス可能な共有記憶域に存在する必要があります。クラスタ内の各サーバーでOracle RACソフトウェアが実行されます。
Oracle Databaseではデータファイルとデータベース・インスタンスが1対1の関係にあります。それに対し、Oracle RACデータベースではデータファイルとデータベース・インスタンスは1対多の関係にあります。Oracle RACデータベースでは、複数のインスタンスによって単一のデータベース・ファイル・セットにアクセスできます。
Oracle RACデータベース内の各データベース・インスタンスは、独自のメモリー構造およびバックグラウンド・プロセスを使用します。Oracle RACは、キャッシュ・フュージョンを使用して、各データベース・インスタンスのバッファ・キャッシュに格納されたデータを同期化します。キャッシュ・フュージョンを使用すると、あるデータベース・インスタンスがディスクにデータ・ブロックを書き込み、他のデータベース・インスタンスがそのデータ・ブロックをディスクから読み取るのではなく、データベース・インスタンス間で(メモリーに存在する)現行のデータ・ブロックが移動されます。あるインスタンスのバッファ・キャッシュにあるデータ・ブロックが別のインスタンスで必要になると、キャッシュ・フュージョンによってインターコネクトを使用してインスタンス間で直接データ・ブロックの転送が行われるため、Oracle RACデータベースは、データが単一のバッファ・キャッシュにあるかのようにデータにアクセスおよび修正を行うことができます。
Oracle RACは、Oracleソフトウェアを使用してエンタープライズ・グリッド・コンピューティング・アーキテクチャを実装する上で重要なコンポーネントです。複数のデータベース・インスタンスを単一のデータファイル・セットにアクセスさせることで、サーバーがシングル・ポイント障害となることを防止します。クラスタ内のノードが停止した場合、Oracle Databaseはその他のノードで稼働し続けます。アプリケーションのユーザーが作業中でも、個々のノードを停止してメンテナンスを行うことができます。
Oracle RACは、主流ビジネス・アプリケーション(OLTP、DSSなど)、一般的なパッケージ製品(SAP、PeopleSoft、Siebel、Oracle E*Business Suiteなど)、およびカスタム・アプリケーションをサポートします。Oracle Database上でスケーラビリティを持つパッケージ・アプリケーションやカスタム・アプリケーションは、アプリケーション・コードの変更を行わなくてもOracle RACでも適切なスケーラビリティを持ちます。
クラスタ内のOracle RACデータベースの動作、クラスタの構築方法およびOracle RACデータベースの構造の詳細は、このマニュアルの他の項を参照してください。
参照:
|
Oracle Real Application Clusters One Node(Oracle RAC One Node)は、クラスタ内の1つのノードで実行されるOracle RACデータベースの単一インスタンスです。この機能により、最小限のオーバーヘッドで、多数のデータベースを1つのクラスタに統合し、計画および計画外停止から保護することができます。統合されたデータベースはフェイルオーバー保護、アプリケーションのオンライン・ローリング・パッチ適用、オペレーティング・システムおよびOracle Clusterwareのローリングアップグレードという、高可用性の利点を得ます。この機能は、Oracle Database 11gリリース2(11.2.0.2)から使用可能です。Oracle RAC One Nodeでは、オンライン・データベース再配置と呼ばれるOracleテクノロジにより、単一インスタンス・データベースのコールド・フェイルオーバーよりも高い可用性が可能になり、このテクノロジは高可用性とロード・バランシングのためにデータベース・インスタンスと接続を別のクラスタ・ノードへとインテリジェントに移行します。オンライン・データベース再配置はServer Control Utility(SRVCTL)を使用して実行されます。
Oracle RAC One Nodeでアプリケーションを実行していて、必要とされるリソースを単一のノードが供給できないところまでアプリケーションが増大した場合は、Oracle RAC One NodeをオンラインでOracle Real Application Clustersにアップグレードできます。Oracle RAC One Nodeデータベースを実行しているノードがオーバーロードした場合、オンライン・データベース再配置を使用することにより、アプリケーション・ユーザーの停止時間なしで、クラスタ内の別のノードにデータベース・インスタンスを移行できます。
Oracle RACをOracle Linux以外のオペレーティング・システムにインストールして構成する場合にも、このガイドでOracle RACのデプロイ方法に関する一般的な情報を得られます。このマニュアルは、Oracle RACを3つ以上のノードを持つクラスタにデプロイする場合にも使用できます。このマニュアルで説明する環境に一致しない環境の場合は、その環境に応じて例を読み替えてください。
Oracle RACをOracle LinuxまたはRed Hat Enterprise Linux以外の異なるプラットフォームや異なるバージョンのオペレーティング・システムにインストールする場合は、そのプラットフォームのインストールおよび構成に関するガイドを参照する必要があります。たとえば、Oracle RACをOracle Solarisオペレーティング・システムにインストールする場合は、次のマニュアルを使用します。
『Oracle Grid Infrastructureインストレーション・ガイドfor Solaris Operating System』
『Oracle Real Application Clustersインストレーション・ガイドfor Linux and UNIX Systems』
Oracle ClusterwareおよびOracle RACは同じクラスタ内の異機種プラットフォームをサポートしていません。たとえばOracle Linuxを実行しているクラスタ内のノードとOracle Solarisを実行している同じクラスタ内の他のノードを同時に持つことはできません。すべてのノードが同じオペレーティング・システムを実行する必要があり、つまりバイナリ互換である必要があります。Oracle RACは、同じクラスタ内で異なるチップアーキテクチャを持つマシンをサポートしていません。ただし、同じクラスタ内でスピードとサイズが異なるマシンは持つことができます。
参照:
|
この項では、Oracle Clusterware、Oracle Automatic Storage Management (Oracle ASM)およびOracle Real Application Clusters(Oracle RAC)のインストール、構成および管理に使用するツールについて説明します。
Oracle Universal Installer(OUI): OUIは、(Oracle ClusterwareおよびOracle ASMから構成される)クラスタ用Oracle Grid InfrastructureソフトウェアおよびOracle DatabaseソフトウェアをOracle RACとともにインストールします。クラスタで使用するノードを構成した後、OUIはネットワーク接続を使用して指定したノードにOracleソフトウェアをインストールします。
クラスタ検証ユーティリティ(CVU): 様々なクラスタとOracle RAC コンポーネント(共有ストレージ・デバイスなど)、ネットワーク構成、システム要件、Oracle Clusterware、およびオペレーティング・システムのグループやユーザーの検証に使用するコマンドライン・ツールです。また、クラスタ環境のインストール前およびインストール後のチェックにもCVUが使用できます。CVUは、特に、Oracle ClusterwareおよびOracle RACコンポーネントのインストール前およびインストール中に有効です。OUIでは、Oracle Clusterwareのインストール後にCVUを実行して環境を検証します。
Oracle Enterprise Manager: Oracle Enterprise Managerには、単一インスタンス環境およびOracle RAC環境を管理するための2つのグラフィカル・ユーザー・インタフェース(GUI)、Database ControlおよびGrid Controlがあります。
SQL*Plus: SQL文およびPL/SQL文をOracle Databaseへ発行するために、SQL*Plusを使用します。このツールは、データベースに対してデータベース管理操作を行ったり、データベースでデータを直接問合せ、挿入、更新または削除するための、コマンドライン・インタフェースです。
Server Control(SRVCTL): SRVCTLは、Oracle Cluster Registry(OCR)で定義されているリソースを管理するために使用できるコマンドライン・インタフェースです。これらのリソースにはnodeappsと呼ばれるノード・アプリケーションが含まれ、これによって、Oracle Notification Service(ONS)、グローバル・サービス・デーモン(GSD)および仮想IP(VIP)を含むOracle Clusterwareが構成されます。SRVCTLによって管理できるその他のリソースには、データベース、インスタンス、リスナー、サービスおよびアプリケーションがあります。SRVCTLを使用すると、nodeapps、データベース、インスタンス、リスナーおよびサービスの起動と停止、インスタンスおよびサービスの削除または移動、サービスの追加、および構成情報の管理を行うことができます。
クラスタ・レディ・サービス・コントロール(CRSCTL): CRSCTLは、Oracle Clusterwareデーモンの管理に使用できるコマンドライン・ツールです。これらのデーモンには、クラスタ同期サービス(CSS)、クラスタ・レディ・サービス(CRS)、イベント・マネージャ(EVM)などがあります。CRSCTLを使用すると、Oracle Clusterwareの起動と停止、およびOracle Clusterwareインストールの現行のステータスの確認を行うことができます。
Database Configuration Assistant(DBCA): DBCAは、Oracle Databaseの作成および構成に使用するユーティリティです。選択したインストール・タイプによっては、DBCAをOUIで起動できます。また、Oracle Databaseをインストール後は、スタンドアロン・ツールとして、いつでもDBCAを起動できます。DBCAは、対話型モードまたは非対話型(サイレント)モードで実行できます。対話型モードには、データベースを作成して構成するためのグラフィカル・インタフェースおよびガイド付きワークフローが用意されています。DBCAはより自動化されていて、DBCAが終了したときにはデータベースを使用できるようになっているため、データベースを作成する推奨の方法です。
自動ストレージ管理コンフィギュレーション・アシスタント(ASMCA): ASMCAは、Oracle ASMのインスタンス、ディスク・グループ、ボリュームおよびOracle Automatic Storage Managementクラスタ・ファイル・システム(Oracle ACFS)のインストールと構成を支援するユーティリティです。ASMCAには、GUIと、GUI以外のインタフェースの両方があります。
Oracle Automatic Storage Managementコマンドライン・ユーティリティ(ASMCMD): ASMCMDは、Oracle ASMインスタンス、Oracle ASMディスク・グループ、ディスク・グループのファイル・アクセス制御、Oracle ASMディスク・グループ内のファイルおよびディレクトリ、ディスク・グループのテンプレートおよびOracle ASMボリュームの管理に使用する、コマンドライン・ユーティリティです。
リスナー制御(LSNRCTL): リスナー制御ユーティリティは、リスナーを管理するために使用するコマンドライン・インタフェースです。このユーティリティのコマンドを使用して、1つ以上のリスナーに対して基本的な管理機能を実行できます。また、リスナーのパラメータ設定を表示および変更できます。
Oracle Database 11gリリース2(11.2)のクラスタ用Oracle Grid Infrastructureがインストールされている場合は、クラスタ、データベース、データベース・インスタンス、Oracle ASMおよびリスナーの管理にユーティリティを使用する際に、管理対象のオブジェクトやコンポーネントのホーム・ディレクトリにある適切なバイナリを使用します。たとえば、このディレクトリを指すようにORACLE_HOME
環境変数を設定するには、次のようにします。
ASMCMD、srvctl
、sqlplus
またはlsnrctl
を使用してOracle ASMまたはそのリスナーを管理する場合は、Oracle DatabaseホームではなくGridホームにあるバイナリを使用します。ORACLE_HOME
環境変数は、Gridホームの場所に設定します。
srvctl
、sqlplus
またはlsnrctl
を使用してデータベース・インスタンスまたはそのリスナーを管理する場合は、データベース・インスタンスやリスナーが実行されているOracleホームにあるバイナリを使用し、ORACLE_HOME
環境変数にはそのOracleホームの場所を設定します。
参照:
|