Oracle WebLogic Serverは、Oracle Real Application Clusters (RAC)を強力にサポートしており、これにより、データベース・アクセス時間が最小化され、その一方で、接続パフォーマンスと可用性の両方を最大化する高度なプール管理機能への透過的アクセスが可能になります。
この章には次の項が含まれます:
Oracle RACとWebLogic Serverはどちらも複雑なシステムです。これらを同時に使用するには、それぞれのシステムで特定の構成が必要なだけでなく、ソフトウェアと共有ストレージ・ソリューションのクラスタ化も必要になります。このドキュメントでは、高度な必須の構成について説明します。Oracle RACの構成、クラスタリング・ソフトウェア、オペレーティング・システム、およびストレージ・ソリューションの詳細は、それぞれのベンダーのドキュメントを参照してください。
Oracle Real Application Clusters (Oracle RAC)は高可用性ソリューションに追加できるソフトウェア・コンポーネントであり、複数のマシンを使用しているユーザーは単一のデータベースにアクセス可能になり、さらにパフォーマンスの向上も実現できます。Oracle RACは、2台以上のクラスタ化マシンで実行しており、クラスタ・テクノロジを使用して共有ストレージ・デバイスにアクセスする2つ以上のOracleデータベース・インスタンスで構成されています。このアーキテクチャをサポートするには、データベース・インスタンスをホストするマシンを高速相互接続でリンクして、クラスタを形成します。インターコネクトは、クラスタのノード間の通信手段として使用される物理ネットワークです。クラスタ機能は、オペレーティング・システムまたは互換性のあるサードパーティのクラスタリング・ソフトウェアが提供しています。
Oracle RACインストールは単一の標準Oracleデータベースのような外観であり、同じツールと手法でメンテナンスが行われます。クラスタ内のすべてのノードは同じデータベースに対してトランザクションを実行し、Oracle RACは共有データへの各ノードのアクセスを調整して一貫性を維持し、整合性を確保します。クラスタへのノードの追加は簡単であり、ノードを追加する際にデータをパーティション化する必要がありません。つまり、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の新機能 12.2.1.2.0のサポートされる構成を参照してください。Oracle RACソフトウェアの実行に必要なハードウェア要件およびソフトウェア要件については、Oracleドキュメントを参照してください。
WebLogic ServerでOracle RACを使用するには、WebLogic JDBCデータ・ソースでOracle JDBC Thinドライバ11g以上を使用してデータベース接続を作成する必要があります。
標準的なWebLogic Server/Oracle RACシステムには、WebLogic Serverクラスタ、Oracle RACクラスタ、および共有ストレージ用のハードウェアが組み込まれています。
WebLogic Serverクラスタの構成方法は多数あり、様々なハードウェア・オプションも使用できます。WebLogic Serverクラスタの構成の詳細は、『Oracle WebLogic Serverのクラスタ管理』を参照してください。
Oracle RACの最新のハードウェア要件については、Oracle RACドキュメントを参照してください。ただし、Oracle RACをWebLogic Serverで使用するには、Oracle RACインスタンスを強力な、本番品質のハードウェア上で実行する必要があります。Oracle RAC構成によって、合理的に予想されるアプリケーション・ロード要件に適したデータベース処理パフォーマンスが生成される必要があります。データベース応答に異常な遅延が生じると、データベース・フェイルオーバー・シナリオの際に予想外の動作が発生する可能性があります。
WebLogic ServerでOracle RACを使用する場合、WebLogicドメインがOracle RACインスタンスと対話でき、適切に実行されるようにするために、WebLogicドメインを構成する必要があります。次の各項では、構成オプションと要件について説明します。
次の選択肢を考慮します。
Active Gradient (AGL)データ・ソースの使用。『Oracle® Fusion Middlewareライセンス情報』.を参照してください。AGLは、RACインスタンスの自動追加および削除をサポートしています。ノードがダウンし、アップするとき、接続の失敗および成功を待機することなく、自動的に処理が行われます。「Active GridLinkデータ・ソースの使用方法」を参照してください
グローバル・トランザクション(XA)使用時に複数のOracle RACインスタンスに接続するために、トランザクション対応WebLogic JDBCマルチ・データ・ソースを使用してOracle RACノードに接続することをお薦めします。このマルチ・データ・ソースは、フェイルオーバーおよびロード・バランシングをサポートしています。詳細は、「グローバル・トランザクションを使用したマルチ・データ・ソースの使用」を参照してください
XA不使用時に複数のOracle RACインスタンスに接続するために、(トランザクション非対応の)マルチ・データ・ソースを使用してOracle RACノードに接続することをお薦めします。フェイルオーバーおよびロード・バランシングをサポートする標準マルチ・データ・ソース構成を使用します。詳細は、「グローバル・トランザクションを使用しないマルチ・データ・ソースの使用」を参照してください
WebLogicでは、Oracle Data Guardとマルチ・データ・ソースおよびAGLとの併用をサポートしています
プライマリおよびスタンバイの単一インスタンスとマルチ・データ・ソースを併用する場合、アルゴリズム・タイプをFAILOVER
に設定する必要があります。プライマリのインスタンスに障害が発生した場合、プライマリの接続は失敗し、スタンバイで接続が作成されます。
次の表は、特定のアプリケーションにどの構成が適切か判別するのに役立ちます。
表16-1 Oracle RACを使用するための構成の選択
ロード・バランシングが必要ですか | フェイルオーバーが必要ですか | グローバル・トランザクション(XA)が必要ですか | Oracle RACサービスの使用 | 参照先 |
---|---|---|---|---|
はい |
はい |
はい |
はい |
|
はい |
はい |
はい |
いいえ |
|
はい |
はい |
はい |
はい |
|
はい |
はい |
いいえ |
はい |
|
はい |
はい |
いいえ |
いいえ |
WebLogicでは、Oracle Data Guardとマルチ・データ・ソースおよびAGLとの併用をサポートしています。マルチ・データ・ソースと併用する場合は、次の制限事項があります。
フェイルオーバー・ポリシーのみがサポートされています。
プライマリ・データ・センターでは1つのRACインスタンスのみが許可されています。マルチ・データ・ソースのメンバーである単一の汎用データ・ソースが、プライマリ・データ・センター用に構成されます。SCAN
を使用する場合は、INSTANCE_NAME
も指定する必要があります。
各スタンバイ・インスタンスに対して、マルチ・データ・ソースのメンバーである汎用データ・ソースを構成する必要があります。SCAN
を使用する場合は、各インスタンスに対してINSTANCE_NAME
も指定する必要があります。マルチ・データ・ソースのメンバーは、RACクラスタにおいて複数のインスタンスを表すことはできません。
アプリケーションでJDBC 4.0 Connection.isValid APIを使用して接続の実行可能性を検証できます。
注意:
WebLogic Serverは、oracle.ucp.jdbc.ValidConnection.isValid
またはoracle.ucp.jdbc.ValidConnection.setInvalid
はサポートしていません。
AGLデータ・ソースまたはマルチ・データ・ソースでOracle RACを使用する場合、トランザクションを調整するために、データベース・サービス上の分散トランザクション処理(DTP)属性を使用しないでください。このオプションによって、サービスが常に1つのRACインスタンス上のみで実行されることが保証されます。単一のインスタンスへのトランザクション・アフィニティは、WebLogic ServerによってAGLまたはマルチ・データ・ソースに対して自動的に管理されます。DTPではサービス用のすべてのトランザクションが単一のRACインスタンスに制限されるのとは対照的に、これによってRACクラスタ全体が分散トランザクションで使用可能になります。