ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server JDBCデータ・ソースの構成と管理の構成と管理
11gリリース1 (10.3.6)
B60997-10
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

D Oracle RACでの接続時フェイルオーバーの使用(非推奨)

この章では、接続時フェイルオーバーとロード・バランシングを使用するように構成されたデータ・ソースを使用している従来のアプリケーションに対してWebLogic Serverで接続時フェイルオーバー(非推奨)が機能する方法について説明します。


注意:

新規アプリケーションでは、同じ機能を持つGridLinkデータ・ソースを使用する必要があります。GridLinkデータ・ソースについておよび『データベースJDBC開発者ガイド』暗黙的な接続キャッシングに関する項を参照してください。


グローバル・トランザクションを使用しない接続時フェイルオーバーの使用

接続時フェイルオーバーおよびロード・バランシング用に構成されたデータ・ソースを使用してWebLogic Serverを複数のOracle RACノードに接続するには、次の各項で説明するように、Oracle RACクラスタでOracle Thinドライバを使用して、Oracle RACインスタンス別にJDBCデータ・ソースを構成します。図D-1は、システムの概要を示しています。

図D-1 Oracle Thinドライバの接続時フェイルオーバーを使用するデータ・ソース構成

図D-1の説明が続きます
「図D-1 Oracle Thinドライバの接続時フェイルオーバーを使用するデータ・ソース構成」の説明

管理コンソール、またはドメインの構成に優先的に使用したいその他の手段、たとえばWebLogic Scripting Tool (WLST)またはJMXプログラムが使用できます。

データ・ソースに接続が作成されると、使用するOracle RACインスタンスがOracle Thinドライバによって決定されます。アプリケーションは、接続を取得すると、JNDIツリー上でデータ・ソースを検索して、そのデータ・ソースからの接続をリクエストします。データ・ソースは、データ・ソース内の接続プールから使用可能な接続の1つを配信します。

次の各項では、Oracle RACの接続時フェイルオーバー機能を使用して接続の失敗を処理する構成について説明します。この構成では、失敗した場合のフェイルオーバー時間はTCPタイムアウトの時間になりますが、これは使用環境に応じて数分かかる場合もあります。

グローバル・トランザクションを使用しない接続時フェイルオーバー構成の属性

この構成を使用するには、次の属性が指定されているWebLogicドメインにJDBCデータ・ソースを作成します。

構成コードのサンプル

接続コードのサンプルを次に示します。


注意:

読みやすさのために追加された改行。


<jdbc-data-source xmlns="http://xmlns.oracle.com/weblogic/jdbc-data-source"
  xmlns:sec="http://xmlns.oracle.com/weblogic/security"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:wls="http://xmlns.oracle.com/weblogic"
  xsi:schemaLocation="http://xmlns.oracle.com/weblogic/domain/1.0/domain.xsd">
  <name>oracleRACNonXAPool</name> 
  <jdbc-driver-params>
    <url>jdbc:oracle:thin:@(DESCRIPTION=
         (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)
         HOST=lcqsol24)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)
         (HOST=lcqsol25)(PORT=152))(FAILOVER=on)
         (LOAD_BALANCE=off))(CONNECT_DATA=(SERVER=DEDICATED)
         (SERVICE_NAME=snrac)))</url> 
    <driver-name>oracle.jdbc.OracleDriver</driver-name> 
    <properties>
      <property>
        <name>user</name> 
        <value>wlsqa</value> 
      </property>
    </properties>
    <password-encrypted>{3DES}aP/xScCS8uI=</password-encrypted> 
  </jdbc-driver-params>
  <jdbc-connection-pool-params>
    <test-connections-on-reserve>true</test-connections-on-reserve> 
    <test-table-name>SQL SELECT 1 FROM DUAL</test-table-name> 
    <profile-type>4</profile-type> 
  </jdbc-connection-pool-params>
  <jdbc-data-source-params>
    <jndi-name>oracleRACJndiName</jndi-name> 
    <global-transactions-protocol>OnePhaseCommit
         </global-transactions-protocol> 
  </jdbc-data-source-params>
</jdbc-data-source>