14 WebLogic ServerでのOracle RACの使用

Oracle WebLogic Serverは、Oracle Real Application Clusters (RAC)を強力にサポートしており、これにより、データベース・アクセス時間が最小化され、その一方で、接続パフォーマンスと可用性の両方を最大化する高度なプール管理機能への透過的アクセスが可能になります。

Oracle RACとWebLogic Serverはどちらも複雑なシステムです。これらを同時に使用するには、それぞれのシステムで特定の構成が必要なだけでなく、ソフトウェアと共有ストレージ・ソリューションのクラスタ化も必要になります。このドキュメントでは、高度な必須の構成について説明します。Oracle RACの構成、クラスタリング・ソフトウェア、オペレーティング・システム、およびストレージ・ソリューションの詳細は、それぞれのベンダーのドキュメントを参照してください。

この章では、WebLogic ServerでOracle Real Application Clusters (Oracle RAC)を使用するための要件および構成タスクについて説明します。

Oracle Real Application Clustersの概要

Oracle RACは高可用性ソリューションに追加できるソフトウェア・コンポーネントであり、複数のマシンを使用しているユーザーは単一のデータベースにアクセス可能になり、さらにパフォーマンスの向上も実現できます。

Oracle RACは、2台以上のクラスタ化マシンで実行しており、クラスタ・テクノロジを使用して共有ストレージ・デバイスにアクセスする2つ以上のOracleデータベース・インスタンスで構成されています。このアーキテクチャをサポートするには、データベース・インスタンスをホストするマシンを高速相互接続でリンクして、クラスタを形成します。インターコネクトは、クラスタのノード間の通信手段として使用される物理ネットワークです。クラスタ機能は、オペレーティング・システムまたは互換性のあるサードパーティのクラスタリング・ソフトウェアが提供しています。

Oracle RACインストールは単一の標準Oracleデータベースのような外観であり、同じツールと手法でメンテナンスが行われます。クラスタ内のすべてのノードは同じデータベースに対してトランザクションを実行し、Oracle RACは共有データへの各ノードのアクセスを調整して一貫性を維持し、整合性を確保します。クラスタへのノードの追加は簡単であり、ノードを追加する際にデータをパーティション化する必要がありません。つまり、Oracle RACのノード、ストレージ、またはその両方を追加することによって、使用率と需要の増加に伴うデータベース層のスケーラビリティを水平に設定できます。

ソフトウェア要件

WebLogic ServerでOracle RACを使用するためのソフトウェア要件について学習します。

Oracle RACによってWebLogic Serverを使用するには、Oracle RACのノードごとに次のソフトウェアをインストールする必要があります。

  • Oracle RACのサポートに必要なオペレーティング・システムのパッチ。詳細は、Oracleのリリース・ノートを参照してください。

  • Oracleデータベース管理システム。『Oracle® Fusion Middlewareライセンス情報』を参照してください。

  • オペレーティング・システム用のクラスタリング・ソフトウェア。サポートされるクラスタリング・ソフトウェアとクラスタ構成については、Oracleドキュメントを参照してください。

  • Oracle自動ストレージ管理(ASM)などの共有ストレージ・ソフトウェア。クラスタリング・ソフトウェアの中にはファイル・ストレージ・ソリューションが組み込まれているものがあり、その場合は共有ストレージ・ソフトウェアを追加する必要がありません。

    ノート:

    最新のWebLogic Serverハードウェア・プラットフォームとオペレーティング・システムのサポート、およびWebLogic Serverの各種バージョンとサービス・パックによりサポートされるOracle RACバージョンについては、『Oracle WebLogic Serverの新機能』サポートされる構成に関する項を参照してください。Oracle RACソフトウェアの実行に必要なハードウェア要件およびソフトウェア要件については、Oracleドキュメントを参照してください。

JDBCドライバ要件

WebLogic ServerでOracle RACを使用するには、WebLogic JDBCデータ・ソースでOracle JDBC Thinドライバ11g以上を使用してデータベース接続を作成する必要があります。

ハードウェア要件

標準的なWebLogic Server/Oracle RAC構成には、WebLogic Serverクラスタ、Oracle RACクラスタ、および共有ストレージ用のハードウェアが組み込まれています。

WebLogic Serverクラスタ

WebLogic Serverクラスタの構成方法は多数あり、様々なハードウェア・オプションも使用できます。WebLogic Serverクラスタの構成の詳細は、『Oracle WebLogic Serverのクラスタ管理』を参照してください。

Oracle RACクラスタ

Oracle RACの最新のハードウェア要件については、Oracle RACドキュメントを参照してください。ただし、Oracle RACをWebLogic Serverで使用するには、Oracle RACインスタンスを強力な、本番品質のハードウェア上で実行する必要があります。Oracle RAC構成によって、合理的に予想されるアプリケーション・ロード要件に適したデータベース処理パフォーマンスが生成される必要があります。データベース応答に異常な遅延が生じると、データベース・フェイルオーバー・シナリオの際に予想外の動作が発生する可能性があります。

共有ストレージ

Oracle RAC構成では、すべてのデータ・ファイル、制御ファイル、パラメータ・ファイルは、すべてのOracle RACインスタンスで使用するために共有されます。次のいずれかのアーキテクチャを使用しているHAストレージ・ソリューションをお薦めします。

  • 直接アタッチ・ストレージ(DAS): デュアル・ポート・ディスク・アレイまたはストレージ・エリア・ネットワーク(SAN)など

  • ネットワーク接続ストレージ

サポートされるストレージ・ソリューションの詳細リストは、Oracleドキュメントを参照してください。

WebLogic ServerでOracle RACを使用するための構成オプション

WebLogic ServerでOracle RACを使用する場合、Oracle RACインスタンスとやりとりするようにWebLogicドメインを構成します。

Oracle RACを使用するためのWebLogic Server構成の選択

WebLogic ServerでOracle RACを使用する場合、次の選択肢を考慮してWebLogicデータ・ソースを構成できます:

  • Active GridLink (AGL)データ・ソースの使用。『Oracle® Fusion Middlewareライセンス情報』を参照してください。AGLは、最高のパフォーマンスと高可用性を提供することで、Oracle RACへの最適な統合を提供します。AGLでは、高速接続フェイルオーバー、自動的かつ透過的な追加、およびRACインスタンスの削除をサポートします。ノードがダウンし、アップするとき、接続の失敗および成功を待機することなく、自動的に処理が行われます。AGLでは、ランタイム接続ロード・バランシング(RCLB)は、データベースのトポロジに関係なく、データベースがAGLデータ・ソースを通じて接続のロード・バランシングを駆動するため、最高のパフォーマンスを提供します。「Active GridLinkデータ・ソースの使用方法」を参照してください。

WebLogic ServerでOracle RACを使用する場合の接続の検証

アプリケーションでJDBC 4.0 Connection.isValid APIを使用して接続の実行可能性を検証できます。

ノート:

WebLogic Serverは、oracle.ucp.jdbc.ValidConnection.isValidまたはoracle.ucp.jdbc.ValidConnection.setInvalidはサポートしていません。

WebLogic ServerでOracle RACを使用する場合の追加考慮事項

Active GridLinkまたはマルチ・データ・ソースでOracle RACを使用する場合、トランザクションを調整するために、データベース・サービス上の分散トランザクション処理(DTP)属性を使用しないでください。このオプションによって、サービスが常に1つのRACインスタンス上のみで実行されることが保証されます。単一のインスタンスへのトランザクション・アフィニティは、WebLogic ServerによってActive GridLinkまたはマルチ・データ・ソースに対して自動的に管理されます。DTPではサービス用のすべてのトランザクションが単一のRACインスタンスに制限されるのとは対照的に、これによってRACクラスタ全体が分散トランザクションで使用可能になります。