Interstage Application Server J2EE ユーザーズガイド
目次 索引 前ページ

付録C Oracle Real Application Clustersとの連携

 本書では、Oracle Real Application ClustersをOracle RACと略して記します。

 Interstage Application Serverでは、V6.0以降よりOracleのオプションであるOracle Real Application Clusters(以降Oracle RAC)との連携をサポートしています。

■ 環境設定

 Oracle RACが動作可能な環境を作成するために、Oracle側の設定を行ってください。

 JDBCドライバのthinドライバを利用する場合は、通常のJDBCデータソースの作成に加えて.bindingsファイルへの登録作業が必要です。

 以下の手順で設定してください。

Oracle側の設定

 Oracle側の設定は、ロードバランスの使用有無で異なります。

【ロードバランスを使用しない場合】

 アプリケーション(JDBCデータソース)ごとにデフォルトの接続先ノードを決めておき、故障が発生した場合だけに他のノードに接続します。Oracleのサーバ側のlistener.oraに、以下の例のように設定してください。

Oracleサーバ1のlistener.ora の例
LISTENER =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = server1)(PORT = 1521))
  )
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = smpl)
      (SID_NAME = smpl1)
      (ORACLE_HOME = /opt/app/oracle/product/9.2.0)
    )

ociドライバを使用する場合

 ociドライバを使用する場合は、Oracleクライアント(Interstage)側のtnsnames.oraに、以下の例のように設定してください。thinドライバを使用する場合は不要です。
クライアント(Interstage)側のtnsnames.oraの例
SAMPLE.WORLD =
  (DESCRIPTION = (ENABLE = BROKEN)
    (FAILOVER = ON)
    (ADDRESS = (PROTOCOL = TCP)(HOST = server1)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = server2)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = server3)(PORT = 1521))
    (CONNECT_DATA = (SERVICE_NAME = smpl))
  )

【ロードバランスを使用する場合】

 ロードバランス機能により、通常運用時から負荷分散を行います。ロードバランスには、“クライアント・ロード・バランス”と“リスナー・ロード・バランス”があります。

クライアント・ロード・バランス
アプリケーション側から、Oracleのリスナーへの振り分けを行います。
リスナー・ロード・バランス
リスナーから、Oracleインスタンスへの振り分けを行います。

image

 “クライアント・ロード・バランス”および“リスナー・ロード・バランス”を使用した設定例を示します。以下の例のように設定してください。

image

Oracleサーバ1の初期化パラメータの例
注) 以下の例では関係する部分を抜粋しています。

local_listener = "(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(Host = server1)(Port = 1521)))"
remote_listener = "(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(Host = server2)(Port = 1521)) (ADDRESS = (PROTOCOL = TCP)(Host = server3)(Port = 1521)))"

Oracleサーバ1のlistener.ora の例
LISTENER =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(Host = server1)(Port = 1521))
  )

ociドライバを使用する場合

 ociドライバを使用する場合は、Oracleクライアント(Interstage)側のtnsnames.oraに、以下の例のように設定してください。thinドライバを使用する場合は不要です。
クライアント(Interstage)側のtnsnames.oraの例
SAMPLE.WORLD =
  (DESCRIPTION = (ENABLE = BROKEN)
    (LOAD_BALANCE = ON)
    (FAILOVER = ON)
    (ADDRESS = (PROTOCOL = TCP)(HOST = server1)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = server2)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = server3)(PORT = 1521))
    (CONNECT_DATA = (SERVICE_NAME = smpl))
  )

◆ Interstage側の設定

 ociドライバを使用する場合と、thinドライバを使用する場合で設定方法が異なります。

【ociドライバを使用する場合】

 通常のociドライバを使用する場合と同様です。

 Interstage管理コンソールの[サービス] > [JDBC] > [新規作成]画面より、“ドライバタイプ”に“oci”を選択してJDBCデータソースを登録してください。
 “SID”の項目には、tnsnames.oraに登録したネットサービス名を入力してください。

【thinドライバを使用する場合】

JDBCデータソースの登録

 Interstage管理コンソールの[サービス] > [JDBC] > [新規作成]画面より、“ドライバタイプ”に“thin”を選択してJDBCデータソースを登録してください。その際、“.bindingsファイル”の“作成する”のチェックを外してください。

.bindingsファイルの登録

  1. 登録済みのサンプルアプリケーションを、以下の手順で修正してください。
  2. 修正したサンプルアプリケーションをコンパイルしてください。
  3. 作成されたクラスファイルを実行してください。実行すると.bindingファイルが作成されます。

 登録アプリケーションのサンプルは、以下に格納されています。

image
C:\Interstage\J2EE\sample\datasource\ FJDSJNDILOCAL.java
imageimage
/opt/FJSVj2ee/sample/datasource/FJDSJNDILOCAL.java

image

  1. サンプルアプリケーションの太字部分“file:/tmp/JNDI”を、bindingsファイル格納場所(JDBCデータソース登録時に指定)に変更してください。

    env.put (Context.PROVIDER_URL, "file:/tmp/JNDI");

    デフォルト設定の場合、PROVIDER URLの指定例は以下のとおりです。

    image
    file:///C:\Interstage\J2EE\var\jndi
    imageimage
    file:/opt/FJSVj2ee/var/jndi

     

  2. サンプルアプリケーションの太字部分“jdbc:oracle:thin:@host1:1521:sid1”を、Oracle RAC用のサーバURLに変更してください。

    ods.setURL("jdbc:oracle:thin:@host1:1521:sid1");

    サーバURLの指定例は以下のとおりです。

    “jdbc:oracle:thin:@DESCRIPTION=(ENABLE=BROKEN)" +
      “(ADDRESS_LIST=" +
      “(FAILOVER=on)" +
      “(ADDRESS=(PROTOCOL=tcp)(HOST=server1)(PORT=1521))" +
      “(ADDRESS=(PROTOCOL=tcp)(HOST=server2)(PORT=1521)))" +
      “(ADDRESS=(PROTOCOL=tcp)(HOST=server3)(PORT=1521)))" +
       "(CONNECT_DATA=(SERVICE_NAME=smpl)))"

     

    クライアント・ロード・バランスを使用する場合は、ociドライバを使用する場合のtnsnames.oraに記述するように、太字部分の“(LOAD_BALANCE = ON)”を付加してください。

    “jdbc:oracle:thin:@DESCRIPTION=(ENABLE=BROKEN)" +
      “(ADDRESS_LIST=" +
      “(LOAD_BALANCE = ON)" +
      “(FAILOVER=on)" +
      “(ADDRESS=(PROTOCOL=tcp)(HOST=server1)(PORT=1521))" +
      “(ADDRESS=(PROTOCOL=tcp)(HOST=server2)(PORT=1521)))" +
      “(ADDRESS=(PROTOCOL=tcp)(HOST=server3)(PORT=1521)))" +
       "(CONNECT_DATA=(SERVICE_NAME=smpl)))"

     

  3. JDBCドライバの環境変数を設定したあと、以下のように実行してください。
    java FJDSJNDILOCAL

image


目次 索引 前ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006