19
Oracle WebLogic Server 10.3 Oracle Real Application Clusters Oracle RACOracle ホワイト・ペーパー 2009 1

Oracle WebLogic Server 10.3とOracle Real Application Clusters(Oracle RAC)

Embed Size (px)

DESCRIPTION

Oracle WebLogic Server 10.3は、Oracle Database 11gのOracle Real Application Clusters(Oracle RAC)機能を強力にサポートします。Oracle WebLogic Server 10.3を利用すると、データベースへのアクセス時間を最小限に抑えられるうえに、充実したプーリング管理機能に透過的にアクセスできるようになるため、接続パフォーマンスと可用性を最大限に高めることができます。 Oracle WebLogic Server JDBCマルチ・データソースとOracle RACの組合せによって、高いスケーラビリティと可用性を提供するハイエンドでミッション・クリティカルな環境が実現します。ロードバランシングとフェイルオーバーは、Oracle WebLogic Server JDBCマルチ・データソースまたはOracle RACのどちらかで処理できます。 本書では、Oracle RACの概説と、Oracle WebLogic Server 10.3でサポートされているOracle RAC機能の概要から始めます。次に、Oracle WebLogic Server JDBCマルチ・データソースのOracle RACサポート構成オプションについて、実例を挙げて詳しく説明します。

Citation preview

Oracle WebLogic Server 10.3 とOracle Real Application Clusters(Oracle RAC)

Oracle ホワイト・ペーパー

2009 年 1 月

Oracle WebLogic Server 10.3 とOracle Real Application Clusters

(Oracle RAC)

1.0 はじめに ....................................................................................................... 3 2.0 ORACLE REAL APPLICATION CLUSTERS.............................................. 3

2.1 Oracle RAC 11g での新しいサポート ................................................... 4 3.0 ORACLE WEBLOGIC SERVER と ORACLE RAC.................................... 4

3.1 Oracle WebLogic Server マルチ・データソース................................... 4 3.2 Oracle WebLogic Server マルチ・データソースと Oracle RAC.......... 5

3.2.1 計画停止 ......................................................................................... 5 3.2.2 計画外停止 ..................................................................................... 5 3.2.3 高い可用性とフェイルオーバー ................................................. 6 3.2.4 ロードバランシング ..................................................................... 6

4.0 ORACLE WEBLOGIC SERVER と ORACLE RAC の構成....................... 6 4.1. Oracle RAC インスタンスに対するデータベース・リスナーの 構成................................................................................................................. 6 4.2. グローバル・トランザクションの有無を問わないマルチ・ データソースの構成..................................................................................... 7

4.2.1. グローバル・トランザクションとマルチ・データソース..... 7 4.2.2.グローバル・トランザクションのないマルチ・データソース8

4.3. 接続時フェイルオーバーの構成 ......................................................... 9 4.4. Fast Connection Failover(FCF)の構成............................................. 10

4.4.1 Oracle RAC と Fast Connection Failover ...................................... 10 4.4.2 Fast Connection Failover の構成 ................................................... 11

5.0 構成とアプリケーションの例.................................................................. 12 5.1. Oracle RAC の構成とデータベース・サービスの定義 ................... 12 5.2. Oracle WebLogic Server のマルチ・データソースの構成................ 13 5.3. 構成のテスト....................................................................................... 15

6.0 まとめ ......................................................................................................... 16 7.0 参考資料 ..................................................................................................... 16

Oracle WebLogic Server 10.3 と Oracle Real Application Clusters(Oracle RAC)

2

Oracle Corporation 発行「Oracle WebLogic Server 10.3 and Oracle Real Application Clusters (RAC)」の翻訳版です。

Oracle WebLogic Server 10.3 と Oracle Real Application Clusters(Oracle RAC)

1.0 はじめに

コスト効率のよいソリューションで顧客シナリオを実現する異種システムでは、

高い可用性とスケーラビリティが常に重要となります。JEE 中間層とバックエン

ド・データベースを伴う複雑な異種環境には、さまざまな問題が存在します。た

とえば、データベース・ノードが停止すると、アプリケーション・リクエストが

長時間ブロックされることがあります。アプリケーションが SQLException を受信

したあとに、新しい接続を取得するべきかを判断するのは容易ではありません。

中間層アプリケーションは新規または再起動したデータベース・ノードを認識し

ません。または、データベースの低速なノードやハング・ノード、あるいはデッ

ド・ノードで作業が実施されます。多くの場合、TCP/IP タイムアウトを待たなけ

ればなりません。

Oracle WebLogic Server 10.3 は、Oracle Database 11g の Oracle Real Application Clusters(Oracle RAC)機能を強力にサポートします。Oracle WebLogic Server 10.3を利用すると、データベースへのアクセス時間を 小限に抑えられるうえに、充

実したプーリング管理機能に透過的にアクセスできるようになるため、接続パ

フォーマンスと可用性を 大限に高めることができます。

Oracle WebLogic Server JDBC マルチ・データソースと Oracle RAC の組合せによっ

て、高いスケーラビリティと可用性を提供するハイエンドでミッション・クリティ

カルな環境が実現します。ロードバランシングとフェイルオーバーは、Oracle WebLogic Server JDBC マルチ・データソースまたは Oracle RAC のどちらかで処理

できます。

本書では、Oracle RAC の概説と、Oracle WebLogic Server 10.3 でサポートされてい

る Oracle RAC 機能の概要から始めます。次に、Oracle WebLogic Server JDBC マル

チ・データソースの Oracle RAC サポート構成オプションについて、実例を挙げて

詳しく説明します。すべての構成手順とアプリケーションの例は本書とリンクし

ている"How-To"ドキュメントに記載されています。

Oracle WebLogic Server 10.3 は、

Oracle Database 11g の Oracle Real Application Clusters(Oracle RAC)機

能を強力にサポートします。Oracle WebLogic Server 10.3 を利用すると、

データベースへのアクセス時間を最

小限に抑えられるうえに、充実した

プーリング管理機能に透過的にアク

セスできるようになるため、接続パ

フォーマンスと可用性を最大限に高

めることができます。

2.0 ORACLE REAL APPLICATION CLUSTERS Oracle RAC を利用して、Oracle データベースをクラスタ化できます。シングル・

インスタンス Oracle データベースの場合、Oracle データベースとインスタンスの

関係は 1 対 1 です。Oracle RAC 環境の場合、データベースとインスタンスの関係

は 1 対多となります。

次の図 1では、Oracle RACで 1つのOracleデータベースにアクセスする複数のサー

バーに単一システム・イメージを提供する Oracle Database オプションを表してい

ます。Oracle RAC では、それぞれの Oracle インスタンスは、通常別々のサーバー

上で実行されます。

Oracle WebLogic Server 10.3 と Oracle Real Application Clusters(Oracle RAC)

3

Oracle Corporation 発行「Oracle WebLogic Server 10.3 and Oracle Real Application Clusters (RAC)」の翻訳版です。

図 1

2.1 Oracle RAC 11g での新しいサポート

Oracle RAC 11g では、Oracle Enterprise Manager での Oracle RAC の監視と診断や、

Oracle RAC Configuration Assistant が強化されており、OCI ランタイム接続ロード

バランシング、データベース・インスタンス上で実行されるパラレル実行プロセ

スのサポート、複数の Oracle RAC インスタンスに分散されたトランザクションの

サポートなどの新しい機能が提供されています。

Oracle RAC 11g では、Oracle Enterprise Manager での Oracle RACの監視と診断や、Oracle RAC Configuration Assistant が強化されて

おり、OCI ランタイム接続ロードバラ

ンシング、データベース・インスタン

ス上で実行されるパラレル実行プロ

セスのサポート、複数の Oracle RACインスタンスに分散されたトランザ

クションのサポートなどの新しい機

能が提供されています。

Oracle WebLogic Server 10.3 での動作が完全に認定されている Oracle RAC 11g は、

可用性の高いソリューションを提供します。フェイルオーバーやランタイム接続

ロードバランシングなどの Oracle RAC サービスは、Oracle WebLogic Server JDBCマルチ・データソースの実装で利用できます。

3.0 ORACLE WEBLOGIC SERVER と ORACLE RAC

3.1 Oracle WebLogic Server マルチ・データソース

JEE アプリケーション・サーバーでは、データベース・インタラクションは通常

データソース実装によって処理されます。データベースへの接続を JDBC データ

ソースとして構成し、公開します。Oracle WebLogic Server では、JDBC データソー

スとマルチ・データソースを構成してから、WebLogic ドメインでサーバーまたは

クラスタに JDBC リソースを割り当てるか配置することにより、データベース接

続を構成します。構成された各データソースには、データソース・インスタンス

の作成、配置、または割当て時に作成されたデータベース接続プール、あるいは

Oracle WebLogic Server 10.3 と Oracle Real Application Clusters(Oracle RAC)

4

Oracle Corporation 発行「Oracle WebLogic Server 10.3 and Oracle Real Application Clusters (RAC)」の翻訳版です。

サーバーの起動時に作成されたデータベース接続プールが含まれます。

マルチ・データソースは、マルチ・データソースと関連するデータソース・セッ

トでロードバランシングまたはフェイルオーバー処理を提供する、特定のデータ

ソース・セットが抽象化されたものです。アプリケーションは、通常のデータソー

スの場合と同様に、JNDI またはローカル・アプリケーション・コンテキスト

(java:comp/env)でマルチ・データソースをルックアップしてから、データベー

ス接続をリクエストします。マルチ・データソースは、マルチ・データソース構

成で選択されたアルゴリズム(ロードバランシングまたはフェイルオーバー)に

応じて、どのデータソースを使用してリクエストを満たすかを決定します。

• ロードバランシング:標準的なラウンドロビン方法で Oracle WebLogic Serverのプールにアクセスします。新しい接続に移る時には、指定された順序で

Oracle WebLogic Server が次の接続プールをもとに接続を選択します。

• 高可用性:接続プールの切替え順に接続プールがリストされます。Oracle WebLogic Server は、リストの 初の接続プールからデータベース接続を

設定します。何らかの理由で接続プールに障害が生じた場合には、指定

された順序で次のプールが使用されます。

3.2 Oracle WebLogic Server マルチ・データソースと Oracle RAC

Oracle WebLogic Server マルチ・データソースと Oracle RAC は、プールされた接続

を管理して高い可用性を実現し、以下の機能を提供します。

3.2.1 計画停止

Oracle WebLogic Server は、データベース保守やそのほかのアクティビティを予定

された時点で実施する必要がある場合に、計画停止をサポートします。これは、

Oracle RAC サービスを正しく停止できる場合に利用可能です。そのようなシナリ

オでは、作業が完了し、接続のコントロールがプールへ戻るまで、借りている接

続や使用中の接続は中断されません。これにより、顧客の大規模な異種環境で計

画停止をきわめて効率よく管理できます。

3.2.2 計画外停止

Oracle WebLogic Server は、計画外停止をサポートします。Oracle RAC ノードに障

害が発生すると、Oracle WebLogic Server または Oracle THIN JDBC ドライバが実

行中のトランザクションを構成に応じてクラスタの別のノードへリダイレクトし

ます。

Oracle WebLogic Server 10.3 と Oracle Real Application Clusters(Oracle RAC)

5

Oracle Corporation 発行「Oracle WebLogic Server 10.3 and Oracle Real Application Clusters (RAC)」の翻訳版です。

3.2.3 高い可用性とフェイルオーバー

Oracle WebLogic Server と Oracle RAC で接続フェイルオーバーを処理するには、3つのオプションがあります。

オラクルが推奨する第 1 のオプションは、マルチ・データソースにフェイルオー

バーを処理させることです。マルチ・データソースが唯一の Oracle RAC インスタ

ンスへトランザクションを"固定"します。Oracle RAC インスタンスが使用できな

い状態になると、フェイルオーバーはマルチ・データソース・レベルで処理され

ます。2 フェーズ・コミット・シナリオの PREPARE フェーズ前に Oracle RAC イ

ンスタンスに障害が発生した場合、リトライ時間が経過するまで、オペレーショ

ンはリトライされます。PREPARE フェーズ後に障害が発生した場合には、トラン

ザクションは別のインスタンスにフェイルオーバーされます。グローバル・トラ

ンザクションの有無にかかわらず、このオプションはシナリオに適用されます。

第 2 のオプションでは、マルチ・データソースを使用できない環境に適用します。

ソケットからの読取り中の待機時間を指定するOracle JDBCドライバのプロパ

ティCONNECTION_PROPERTY_THIN_READ_TIMEOUT1を構成して、Oracleデー

タベース接続時フェイルオーバーとロードバランシングを使用します。

後のオプションは、Fast Connection Failover の Oracle JDBC Implicit Connection Cache 機能を使用して、無効な接続をすばやく検知し、接続プールをクリーンアッ

プしてから、接続をフェイルオーバーする方法です。

3.2.4 ロードバランシング

ロードバランシングには、Oracle RAC ノードで JDBC マルチ・データソースが使

用されます。マルチ・データソースを構成するデータソース・セットには、ラウ

ンドロビン・スキームを使用してアクセスします。接続の切替え時には、リスト

された順序で Oracle WebLogic Server が次のデータソースから接続を選択します。

マルチ・データソースがオプションでない場合、XA の使用時にロードバランシン

グはサポートされません。マルチ・データソースのない構成の場合、Oracle WebLogic Server は Oracle JDBC THIN ドライバで提供されている接続時フェイル

オーバー機能を使用して Oracle RAC と連動します。

4.0 ORACLE WEBLOGIC SERVER と ORACLE RAC の構成

4.1. Oracle RAC インスタンスに対するデータベース・リスナーの構成

すべての Oracle WebLogic Server RAC 構成オプションの 初には、Oracle RAC イ

ンスタンスに対するデータベース・リスナーを適切に構成しなければなりません。

各 Oracle RAC インスタンスに対してローカル・データベース・リスナーを構成す

る必要があります。クラスタ内のデータベース・インスタンスは、ローカル・リ

スナーにのみ登録できるように構成される必要があります。listener.ora ファイル

でリスナーに静的に登録できるように構成するか、インスタンス初期化パラメー

タ local_listener を使用して動的に登録できるように構成するか、あるいは両方の

方法で登録できるように、Oracle インスタンスを構成します。

1 このオプションは Oracle THIN ドライバのみに適用されます。

Oracle WebLogic Server 10.3 と Oracle Real Application Clusters(Oracle RAC)

6

Oracle Corporation 発行「Oracle WebLogic Server 10.3 and Oracle Real Application Clusters (RAC)」の翻訳版です。

4.2. グローバル・トランザクションの有無を問わないマルチ・データ

ソースの構成

Oracle RAC を使用するために Oracle WebLogic Server をどのように構成すべきか

を判断するには、3 つの基本事項を検討する必要があります。検討事項は次の表

のとおりです。

アプリケーションに必要なのは

ロード バ ラ ン シ ン

グ?

フェイル オーバー?

グローバル・ トランザクショ

ン(XA)?

JDBC ストア?

推奨:

• • •

グローバル・トランザク

ション構成オプションとマ

ルチ・データソースを使用

する

グローバル・トランザク

ション構成オプションなし

でマルチ・データソースを

使用する

• •

グローバル・トランザク

ション構成オプションなし

で接続時フェイルオーバー

を使用する

表 1:Oracle RAC とあわせて使用する構成の選択

4.2.1. グローバル・トランザクションとマルチ・データソース

Oracle RAC へのアクセス時にグローバル・トランザクション・サポートが必要な

アプリケーションの場合、分散トランザクション・サポート構成オプションとマ

ルチ・データソースの使用を検討してください。フェイルオーバーは、Oracle RACではなく、マルチ・データソースによって処理されます。

2 フェーズ・コミット・シナリオでは、PREPARE フェーズ前に Oracle RAC イン

スタンスに障害が発生した場合、リトライ時間が経過するまで、オペレーション

はリトライされます。PREPARE フェーズ後に障害が発生した場合には、トランザ

クションは別のインスタンスにフェイルオーバーされます。このオプションでは、

マルチ・データソースの定義されたすべてのデータソースで XA 対応ドライバを

使用するか、またはそれらのデータソースでは XA 対応ドライバを使用しないよ

うにする必要があります。さらに XA 関連のプロパティは、各データソースで同

じ値に設定しなくてはなりません。

Oracle RAC へのアクセス時にグローバ

ル・トランザクション・サポートが必要

なアプリケーションの場合、分散トラン

ザクション・サポート構成オプションと

あわせてマルチ・データソースを使用す

ることを検討してください。

構成しなくてはならない必須の属性がいくつかあります。これらはアプリケー

ションで使用される各データソースに必要です。

まず、接続には Oracle JDBC THIN ドライバが必要です。すなわち

Oracle WebLogic Server 10.3 と Oracle Real Application Clusters(Oracle RAC)

7

Oracle Corporation 発行「Oracle WebLogic Server 10.3 and Oracle Real Application Clusters (RAC)」の翻訳版です。

• KeepXAConnTillTxComplete="true"を設定するように構成します。データ

ソースは物理的なデータベース接続をリザーブし、この特定のアプリ

ケーションのライフ・サイクルを通じて同じトランザクション・スコー

プに留まります。

• XARetryDurationSeconds="300"を設定するように構成します。値は Oracle WebLogic Server トランザクション・マネージャが XA リカバリ、コミッ

ト、ロールバック・コールをリトライする時間です。

• TestConnectionsOnReserve="true"を設定するように構成します。これは

バックエンド・データベースへの接続をテストまたは検証するのに使用

できます。これには属性 TestTableName を伴うことがあります。

次に構成例の一部を挙げます。グローバル・トランザクション対応 Oracle RAC と

マルチ・データソースを使用できるように、この例にはマルチ・データソースの

構成に必要なプロパティが含まれています。

4.2.2.グローバル・トランザクションのないマルチ・データソース

グローバル・トランザクション・サポートが必要でないアプリケーションの場合、

フェイルオーバーとロードバランシングの処理でマルチ・データソースを使用す

るために構成できますが、XA 構成プロパティは指定しません。

この構成とセクション 4.2.1 の構成との唯一の違いは、XA に関連する属性を指定

する必要がない点です。次に構成例を示します。

Oracle WebLogic Server 10.3 と Oracle Real Application Clusters(Oracle RAC)

8

Oracle Corporation 発行「Oracle WebLogic Server 10.3 and Oracle Real Application Clusters (RAC)」の翻訳版です。

4.3. 接続時フェイルオーバーの構成

アプリケーションでのフェイルオーバー処理には、Oracle RAC の接続時フェイル

オーバーを使用できます。このオプションはロードバランシングとグローバル・

トランザクションをサポートしない点に注意してください。

このユースケースでは、各データソースは複数の Oracle RAC ノードに向けられる

ように構成されます。障害シナリオでは、データベース接続のフェイルオーバー

時間は、オペレーティング・システム・レベルで設定されている TCP タイムアウ

トの時間と同じです。

接続時フェイルオーバーを使用する構成は、JDBC ドライバの URL 属性に設定さ

れます。接続が利用できるようになるまでアプリケーションが待機する時間を指

定するには、プロパティ ConnectionReserveTimeoutSeconds も設定する必要があ

ります。

次に例を示します。

Oracle WebLogic Server 10.3 と Oracle Real Application Clusters(Oracle RAC)

9

Oracle Corporation 発行「Oracle WebLogic Server 10.3 and Oracle Real Application Clusters (RAC)」の翻訳版です。

4.4. Fast Connection Failover(FCF)の構成

Oracle JDBC ドライバの Implicit Connection Cache(ICC)実装内には、一般的に Fast Connection Failover(FCF)と呼ばれる機能があります。これは Oracle RAC/Fast Application Notification(FAN)クライアント実装です。Oracle JDBC ドライバと ICCを使用して、Java クライアントは Oracle RAC フェイルオーバー機能とロードバラ

ンシング機能を利用できます。

Oracle WebLogic Server には、ICC などの JDBC ドライバの実装とは無関係に、接

続管理、ロードバランシング、トランザクション管理のために、接続プーリング・

インフラストラクチャが組み込まれています。そのため、Oracle WebLogic Serverはユースケースが限定されており、ICC の FCF を使用する場合にのみ機能します。

具体的に言えば、ICC の FCF を使用するように Oracle WebLogic Server が構成され

ている場合、現在のリリースではグローバル・トランザクションはサポートされ

ません。大半の Oracle WebLogic Server と Oracle RAC の統合ユースケースに対し

て強く推奨されているベスト・プラクティスは、ICC の FCF を使用しない、ネイ

ティブ Oracle WebLogic Server マルチ・データソースです。

Oracle WebLogic Server で FCF を使用するには、マルチ・データソースを使用する

のではなく、単一データソースを使用します。このモードでは、フェイルオーバー、

ロードバランシング、トランザクション管理は、Oracle WebLogic Server のプーリ

ング・インフラストラクチャではなく、Oracle JDBC ICC 実装に委ねられます。次

のセクションでは、この方法を利用するために必要な詳細と手順をさらに説明し

ます。

4.4.1 Oracle RAC と Fast Connection Failover

FCF はプールされた接続を管理して高い可用性を実現し、次の機能を提供します。 FCF はプールされた接続を管理して

高い可用性を実現し、計画停止と計画

外停止をサポートします。 • FCF は計画外停止をサポートします。無効な接続はすばやく検知されて

終了され、プールから削除されます。接続の削除は、ハングを防止する

ために、ソケット接続をすみやかに切断する終了に依存します。借りて

いる接続と使用中の接続は、計画外停止の場合に限り中断されます。

• FCF は計画停止をサポートします。作業が完了し、接続のコントロール

がプールへ戻るまで、借りている接続や使用中の接続が中断されたり、

クローズされたりすることはありません。

• FCF は、堅牢で効率的なリトライのために、重大な接続エラーと例外を

isValid APIにカプセル化します。

Oracle WebLogic Server 10.3 と Oracle Real Application Clusters(Oracle RAC)

10

Oracle Corporation 発行「Oracle WebLogic Server 10.3 and Oracle Real Application Clusters (RAC)」の翻訳版です。

• サービスの品質を 大限に高めるために、FCF は Oracle RAC クラスタに

つながる新しいノードを認識し、必要に応じてそのノードと新しい接続

を関連づけます。これにより、Oracle RAC ノード結合の中間層統合と、

アプリケーション層からの作業リクエストのルーティングが容易になり

ます。

• FCF は、すべてのアクティブな Oracle RAC インスタンスにランタイム作

業リクエストを配信します。

4.4.2 Fast Connection Failover の構成

Oracle WebLogic Server のバージョンに関係なく、Oracle WebLogic Server データ

ソースとあわせて FCF を使用するには、Oracle Notification Service と Oracle RACを適切に設定する必要があります。これは、正しく FCF を構成するために、もっ

とも重要な部分です。中間層による JDBC 接続の検知とクリーンアップは、Oracle RAC ノードから中間層へのデータベース・イベントの正しい伝播に完全に依存し

ます。さまざまなリリースにさまざまな Oracle Notification Service バージョンがバ

ンドルされています。Oracle Database 10g(10.1.0.3)RAC 以降のバージョンが、

必須パッチとともに必要です。

Oracle WebLogic Server のバージョ

ンに関係なく、Oracle WebLogic Server データソースとあわせて FCFを使用するには、Oracle Notification Service と Oracle RAC を適切に設定

する必要があります。

Oracle Notification Service ライブラリで Oracle WebLogic Server を開始する必要が

あります。マネージド・サーバーの CLASSPATH にある ons.jar ファイルが必要で

す。それには、Servers(マネージド・サーバー)の下にある WLS Admin Consoleの"Server Start"タブで、"Class Path"フィールドに$CLASSPATH:<ons.jar への完全パ

ス>(たとえば$CLASSPATH:/home/oracle/ons.jar)を指定します。これにより、ノー

ド・マネージャが正しい CLASSPATH でマネージド・サーバーを開始します。

データソースで Fast Connection Failover を有効化するには、次の接続プール・プロ

パティを検討する必要があります。

SID ではなくサービス名を使用するように、URL パラメータを変更します。以下

に例を示します。

• Driver Class Name – クラス名を oracle.jdbc.pool.OracleDataSource に設定し

ます。

• プロパティを次の値に設定する必要があります。

connectionCachingEnabled:true(Oracle JDBC ドライバでの接続

キャッシングを有効化する) fastConnectionFailoverEnabled:true(FAN イベントを有効化する)

• Oracle RAC ノードを Oracle FAN/Oracle Notification Service イベントにリ

モート・サブスクライブするために、Oracle Notification Service 構成文字

列を設定します。次に例を示します。

Oracle WebLogic Server 10.3 と Oracle Real Application Clusters(Oracle RAC)

11

Oracle Corporation 発行「Oracle WebLogic Server 10.3 and Oracle Real Application Clusters (RAC)」の翻訳版です。

次に例を示します。

構成変更後には、Oracle WebLogic Server を再起動する必要があります。それには、

Admin Console を使用するか、WLS をスクリプトから直接起動します。詳細は

Oracle WebLogic Server ドキュメントに記載されています。

5.0 構成とアプリケーションの例

ここで、Oracle WebLogic Server JDBC マルチ・データソースとあわせて Oracle RACを使用する構成の実例を見てみましょう。参考資料セクションのリンクからは、

アプリケーションとすべての構成手順が記載されている"How-To"ドキュメントを

入手できます。

5.1. Oracle RAC の構成とデータベース・サービスの定義

まずは、Oracle RAC を中間層アプリケーションで使用できるように、適切に構成

する方法を見てみましょう。手順は以下のとおりです。

• Oracle Enterprise Manager Database Control に SYS としてログオンします。

• ページの上部にあるリンク「Availability」をクリックします。

• リンク「Cluster Managed Database Services」をクリックします。

• クラスタ資格証明とデータベース資格証明を入力します。

• サービスを作成します。

• 次の表に定義されているとおり、サービスを定義します。

Service Name MYHASERVICE

Enable Load Balancing Advisory SELECTED

Throughput Radio Option SELECTED

Connection Load Balancing Goal LONG

Oracle WebLogic Server 10.3 と Oracle Real Application Clusters(Oracle RAC)

12

Oracle Corporation 発行「Oracle WebLogic Server 10.3 and Oracle Real Application Clusters (RAC)」の翻訳版です。

サービスの作成後には、次のスクリーンショットのように、表示される"Cluster Managed Database Services"ページで、サービス・ステータスを確認またはチェッ

クできます。SQL Plus でサービスをテストすることも可能です。

マルチ・データソースは、Oracle RACバックエンドの 1つのインスタンスに

接続するように構成されている個別

データソースのコンポジットです。配

置されたアプリケーション・プログラ

ムは、マルチ・データソースの指定さ

れた JNDI 名を使用して、Oracle RACバックエンドへの接続を取得します。

5.2. Oracle WebLogic Server のマルチ・データソースの構成

次の構成例では、Oracle RAC に対する Oracle WebLogic Server マルチ・データソー

スを使用します。マルチ・データソースは、Oracle RAC バックエンドの 1 つのイ

ンスタンスに接続するように構成されている個別データソースのコンポジットで

す。配置されたアプリケーション・プログラムは、マルチ・データソースの指定

された JNDI 名を使用して、Oracle RAC バックエンドへの接続を取得します。

まず、使用する各 Oracle RAC ノードに対してデータソースを作成する必要がありま

す。次のとおり、Oracle WebLogic Admin Console でデータソースを作成できます。

Oracle WebLogic Server 10.3 と Oracle Real Application Clusters(Oracle RAC)

13

Oracle Corporation 発行「Oracle WebLogic Server 10.3 and Oracle Real Application Clusters (RAC)」の翻訳版です。

接続をテストし、特定のマネージド・サーバーにデータソースを割り当てること

ができます。

次のとおり、マルチ・データソースを作成する必要があります。

Oracle WebLogic Server 10.3 と Oracle Real Application Clusters(Oracle RAC)

14

Oracle Corporation 発行「Oracle WebLogic Server 10.3 and Oracle Real Application Clusters (RAC)」の翻訳版です。

作成後には、ドメインの config/jdbc ディレクトリは次のようになり、新しく作成

されたデータソースとマルチ・データソースが含まれます。 […/user_projects/domains/hadomain/config/jdbc]$ d total 56 -rw-r--r--1 oracle oinstall 135 Nov 26 09:40 readme.txt drwxr-xr-x 11 oracle oinstall 4096 Nov 27 12:31 ../ -rw-r--r--1 oracle oinstall 2259 Dec 3 07:48 jdbc2fscottDS-8614-jdbc.xml drwxr-xr-x 2 oracle oinstall 4096 Dec 4 11:14 ./ -rw-r--r--1 oracle oinstall 857 Dec 4 11:15 jdbc2fracDS-4177-jdbc.xml -rw-r--r--1 oracle oinstall 2508 Dec 4 12:23 Node1DS-0882-jdbc.xml -rw-r--r--1 oracle oinstall 2508 Dec 4 12:27 Node2DS-9921-jdbc.xml

作成されたマルチ・データソースは次のようになります。

本書にリンクされた How-To に記載されている簡易 Web アプリケーションを使用

して、構成をテストできます。

5.3. 構成のテスト

アプリケーションをテストするには、サンプル Web アプリケーションを配置する

必要があります。配置後のサンプル Web アプリケーションは次のように表示され

ます。

Oracle WebLogic Server 10.3 と Oracle Real Application Clusters(Oracle RAC)

15

Oracle Corporation 発行「Oracle WebLogic Server 10.3 and Oracle Real Application Clusters (RAC)」の翻訳版です。

これはメイン Web ページです。ここでは、データソースのロケーション、取得す

る接続の数、接続リクエスト間のスリープ・タイムを指定できます。Oracle RACノード間のロードバランシングが正しく機能し、Oracle RAC ノードの 1 つが停止

した際、フェイルオーバーが実行されるようにテストを実行できます。テスト手

順の詳細は How-To をご覧ください。

6.0 まとめ

Oracle WebLogic Server と Oracle RAC は、併用することによって可用性とスケーラ

ビリティの高いアプリケーションのための環境を提供できるように設計されてい

ます。各種ユースケース・シナリオの実現をサポートするために、さまざまな構

成オプションが提供されています。Oracle WebLogic Server 10.3 では、データベー

ス接続フェイルオーバーとロードバランシングの処理に JDBCマルチ・データソー

スを使用することを推奨します。

7.0 参考資料

Oracle RAC と併用するための Oracle WebLogic Server 10.3 の設定

http://www.oracle.com/technology/products/weblogic/howto/rac/index.html

Oracle RAC とあわせた Oracle WebLogic Server の使用

http://otndnld.oracle.co.jp/document/products/wls/docs103/jdbc_admin/oracle_rac.html - wp1080135

OC4J 10g(10.1.3)データソースでの暗黙的な接続キャッシュ・サポートについて

の OTN 記事

http://www.oracle.com/technology/pub/notes/technote_ds_caching.html

Oracle Database 11g ドキュメント

http://www.oracle.com/technology/global/jp/documentation/products/oracle11g/index.html

Oracle WebLogic Server 10.3 ドキュメント

http://otndnld.oracle.co.jp/document/products/wls/docs103/index.html

Oracle RAC 機能を使用した、Oracle Universal Connection Pool for JDBC 開発者ガイ

Oracle WebLogic Server 10.3 と Oracle Real Application Clusters(Oracle RAC)

16

Oracle Corporation 発行「Oracle WebLogic Server 10.3 and Oracle Real Application Clusters (RAC)」の翻訳版です。

http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/java.111/B51855-01/rac.htm - CHDCDFAC

Oracle WebLogic Server 10.3 と Oracle Real Application Clusters(Oracle RAC)

17

Oracle Corporation 発行「Oracle WebLogic Server 10.3 and Oracle Real Application Clusters (RAC)」の翻訳版です。

暗黙的接続キャッシュについての Oracle Database 10g JDBC ドキュメント

http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/java.102/B19275-03/concache.htm - sthref1688

高速接続フェイルオーバーについての Oracle Database 10g JDBC ドキュメント

http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/java.102/B19275-03/fstconfo.htm - sthref1896

Oracle WebLogic Server 10.3 と Oracle Real Application Clusters(Oracle RAC)

18

Oracle Corporation 発行「Oracle WebLogic Server 10.3 and Oracle Real Application Clusters (RAC)」の翻訳版です。

Oracle WebLogic Server 10.3 と Oracle Real Application Clusters(Oracle RAC) 2009 年 1 月 著者:Frances Zhao 共著者:Pas Apecilla Erik Bergenholtz Steve Button Mike Lehmann Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. 海外からのお問い合わせ窓口: 電話:+1.650.506.7000 ファクシミリ:+1.650.506.7200 www.oracle.com Copyright © 2005, Oracle.All rights reserved. 本文書は情報提供のみを目的として提供されており、ここに記載される内容は予告

なく変更されることがあります。本文書は、その内容に誤りがないことを保証する

ものではなく、また、口頭による明示的保証や法律による黙示的保証を含め、商品

性ないし特定目的適合性に関する黙示的保証および条件などのいかなる保証および

条件も提供するものではありません。 オラクルは本文書に関するいかなる法的責任も明確に否認し、本文書によって直接

的または間接的に確立される契約義務はないものとします。本文書はオラクル社の

書面による許可を前もって得ることなく、いかなる目的のためにも、電子または印

刷を含むいかなる形式や手段によっても再作成または送信することはできません。 Oracle、JD Edwards、PeopleSoft、および Retek は、米国 Oracle Corporation およ

びその子会社、関連会社の登録商標です。そのほかの名称はそれぞれの会社の商標

です。