ヘッダーをスキップ
Oracle Identity Manager Oracle Application Server用インストレーション・ガイド
リリース9.0.3
E05330-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

4 Oracle Identity Managerのためのデータベースのインストールと構成

Oracle Identity Managerにはデータベースが必要です。Oracle Identity Managerのインストールを開始する前に、データベースをインストールして構成する必要があります。この章では次の項目について説明します。

Oracle Identity ManagerでのOracleデータベースの使用

データベースにOracleを使用するには、次のようにします。

  1. Oracleをインストールします。詳細は「Oracleのインストール」を参照してください。

  2. Oracleデータベースを作成します。詳細は、「Oracleデータベースの作成」を参照してください。

  3. Oracleデータベースを準備します。詳細は、「Oracleデータベースの準備」を参照してください。

Oracleのインストール

Oracleデータベースに付属するドキュメントを参照して、Oracle9iまたは10gリリース2データベースをインストールします。サポート対象のバージョンを確認するには、『Oracle Identity Managerリリース・ノート』を参照してください。基本インストールの使用をお薦めします。


注意:

カスタム・インストールを選択した場合は、XAトランザクション・サポートに必要なJVMオプションを組み込む必要があります。

Oracleデータベースの作成

Oracle Identity Managerのために新しいOracleデータベース・インスタンスを作成する必要があります。データベースを作成するときは、Oracle JVM機能を構成し、クエリー・リライトを有効にしてください。

データベースを作成するためにデータベース・コンフィギュレーション・アシスタント(DBCA)ツールを使用できます。Oracle JVM機能を構成するには、DBCAの「標準データベース・オプション」ページでOracle JVM機能を選択します。

データベースでクエリー・リライトを有効にするには、DBCAの「すべての初期化パラメータ」フィールドでinit.oraのパラメータを設定します。QUERY_REWRITE_ENABLEDTRUEQUERY_REWRITE_INTEGRITYTRUSTEDに設定してください。

データベース・インスタンスの作成の詳しい手順は、Oracleデータベースのドキュメントを参照してください。

グローバリゼーション・サポートのためのデータベース構成

Oracle Identity Managerのグローバリゼーション・サポートのためには、データベースをUnicodeに対応するように構成することをお薦めします。Unicode対応に構成するには、次の手順を実行します。

  1. データベースの文字を最新バージョンのUnicode規格をサポートするAL32UTF8に設定します。DBCAの「キャラクタ・セット」タブでAL32UTF8を選択します。

  2. DBCAの「すべての初期化パラメータ」フィールドでNLS_LENGTH_SEMANTICS init.oraパラメータをCHARに設定します。


    関連資料:

    『Oracle Identity Managerグローバリゼーション・ガイド』

Oracleデータベースの準備

Oracleをインストールしてデータベース・インスタンスを作成したら、次のタスクを実行してOracle Identity Managerのためにデータベースの準備を行う必要があります。

  • クエリー・リライトが有効になっていることの確認

  • XAトランザクション・サポートの有効化


    注意:

    XAトランザクション・サポートを有効にするにはJava JVMが必要です。Oracleのインストール時にJVMをインストールしなかった場合は、ここでインストールしてください。具体的な手順は、Oracleのドキュメントを参照してください。

  • Oracle Identity Managerデータを格納するための少なくとも1つの表領域の作成

  • Oracle Identity Managerのためのデータベース・ユーザー・アカウントの作成

これらのタスクを行ってOracle Identity ManagerのためにOracleデータベースを準備するには、次のいずれかのスクリプトを実行します。

  • prepare_xl_db.sh(UNIXまたはLinuxの場合)

  • prepare_xl_db.bat(Windowsの場合)

これらのスクリプトは両方ともOracle Identity Managerインストーラの\installServer\Xellerate\db\oracle\ディレクトリにあります。

prepare_xl_dbスクリプトを使用するときは、次の前提条件に注意する必要があります。

  • スクリプトは、dba権限を持つユーザーが実行する必要があります(たとえば、UNIXまたはLinuxのoracleユーザーは通常この権限を持っています)。

  • スクリプトはデータベースが存在するマシンで実行する必要があります。

Oracle Identity ManagerのためにOracleデータベースを準備するには、Oracleデータベースのホスト・マシンのオペレーティング・システムに対応する手順を実行してください。

UNIXまたはLinux:

  1. 配布CDのスクリプトprepare_xl_db.shおよびxell_db_prepare.sqlをデータベースのホスト・マシンのディレクトリにコピーします。このタスクを実行するアカウント・ユーザーがこのディレクトリの書込み権限を持っている必要があります。

  2. 次のコマンドを実行して、スクリプトの実行権限を有効にします。

    chmod 755 prepare_xl_db.sh

  3. 次のコマンドを入力してprepare_xl_db.shスクリプトを実行します。

    ./prepare_xl_db.sh

  4. スクリプトによって次の項目の指定を求められたら、データベースとホスト・マシンの該当する情報を指定します。

    1. Oracleホームの場所(ORACLE_HOME)

    2. データベースの名前(ORACLE_SID)

    3. 作成するOracle Identity Managerデータベース・ユーザーの名前

    4. Oracle Identity Managerデータベース・ユーザーのパスワード

    5. Oracle Identity Managerデータを格納するために作成する表領域の名前

    6. Oracle Identity Manager表領域のデータファイルを格納するディレクトリ

    7. データファイルの名前(.dbf拡張子は不要)

    8. 一時表領域の名前

  5. xl_db_prepareスクリプトを実行したディレクトリにあるprepare_xl_db.lstログ・ファイルを調べて、実行ステータスとその他の情報を確認します。


    注意:

    prepare_xl_db.shスクリプトを実行した後でエラーが発生したら、次のコマンドを実行してprepare_xl_db.shがUNIXおよびLinuxで実行可能であることを確認してから、prepare_xl_db.shスクリプトを再び実行します。
    $ dos2unix prepare_xl_db.sh
    
    

Windows:

  1. 配布CDのスクリプトprepare_xl_db.batおよびxell_db_prepare.sqlをデータベースのホスト・マシンのディレクトリにコピーします。このタスクを実行するアカウント・ユーザーがこのディレクトリの書込み権限を持っている必要があります。

  2. コマンド・ウィンドウを開いて、スクリプトをコピーしたディレクトリにナビゲートし、次のように引数を指定してprepare_xl_db.batを実行します。

    prepare_xl_db.bat <ORACLE_SID> <ORACLE_HOME>
    <XELL_USER> <XELL_USER_PWD> <TABLESPACE_NAME>
    <DATAFILE_DIRECTORY> <DATAFILE_NAME>
    <XELL_USER_TEMP_TABLESPACE> <SYS_USER_PASSWORD>
    
    

    たとえば、コマンドラインに次の文字列を入力します。

    prepare_xl_db.bat XELL C:\oracle\ora92 xladm xladm
    xeltbs C:\oracle\oradata xeltbs_01 TEMP manager
    
    

    表4-1に、このprepare_xl_db.batの例で使用したオプションを示します。

    表4-1 prepare_xl_db.batスクリプトのオプション

    引数 説明

    XELL

    データベースの名前

    C:\oracle\ora92

    Oracleデータベースがインストールされているディレクトリ

    xladm

    作成するOracle Identity Managerユーザーの名前

    xladm

    Oracle Identity Managerユーザーのパスワード

    xeltbs

    作成する表領域の名前

    C:\oracle\oradata

    データファイルを配置するディレクトリ

    xeltbs_01

    データファイルの名前(.dbf拡張子は不要)

    TEMP

    データベースにすでに存在する一時表領域の名前

    manager

    SYSユーザーのパスワード


  3. xell_db_prepareスクリプトを実行したディレクトリにあるprepare_xell_db.lstログ・ファイルを調べて、実行ステータスとその他の情報を確認します。

スクリプトから正常終了を示すメッセージが返された場合は、次のタスクつまりOracle Identity Managerのインストールに進むことができます。

スクリプトが正常に終了しなかった場合は、データベースを適切に準備するために、すべての致命的なエラーを手動で修正する必要があります。

致命的でないエラーは無視できます。たとえば、存在しないビューをスクリプトで削除しようとすると、エラー「ORA-00942: 表またはビューが存在しません。」が返されます。これは無視しても問題ありません。

必ずログ・ファイルのすべてのエラーを確認して、各エラーを無視するか修正します。Oracle Identity Managerをインストールするには、前もってOracle Identity Managerのためにデータベースを適切に準備する必要があることを忘れないでください。

OracleデータベースからのOracle Identity Managerエントリの削除

Oracle Identity Manager製品を削除(アンインストール)した後で、Oracle Identity ManagerエントリをOracleデータベースから削除するには、Oracle Identity Managerスキーマを所有するデータベース・ユーザーを削除します。

Oracle Identity ManagerでのOracle RACデータベースの使用

ここでは、Oracle Identity Managerに対してOracle RACデータベースをデプロイする方法について説明します。内容は次のとおりです。

Oracle RACに対するOracle Identity Managerのインストール

Oracle RACは、共有キャッシュ・アーキテクチャを備えたクラスタ・データベースです。スケーラビリティや可用性が非常に高いデータベース・ソリューションが提供されます。RACは様々なマシンの複数のデータベース・インスタンスで構成されており、各インスタンスが連携して作動することで機能を実現します。


重要:

Oracle Identity Managerインストーラ・プログラムはRACには対応していません。RACに対してOracle Identity Managerをデプロイするには、Oracle Identity ManagerをRAC内の1データベース・インスタンスにインストールしてから、RAC JDBC接続文字列を使用するようにアプリケーション・サーバー設定(特に接続プール・パラメータ)を変更する必要があります。

次の手順を実行して、RACに対してOracle Identity Managerをインストールします。

  1. RACがOracle Identity Managerスキーマ所有者によって正しく設定および構成されていることを確認します。

  2. Oracle Identity Managerインストーラ・プログラムを起動します。

  3. Oracle Identity Managerインストーラ・プログラムのデータベース・パラメータ画面で、RACの1つのデータベース・インスタンスのホスト名、ポート番号およびデータベース名を入力します。

  4. インストーラ・プログラムの手順を実行して、Oracle Identity Managerのインストールを完了します。

  5. 「Oracle RACに対するOracle Application Serverの構成」を参照して、アプリケーション・サーバーをRACに対して構成します。

Oracle RACネット・サービス

Oracle RACデータベースのネット・サービス名エントリは、従来のデータベースのものとは異なります。次に、Oracle RACデータベースのネット・サービス名エントリの例を示します。

racdb=
              (DESCRIPTION=
                              (LOAD_BALANCE=on)
                              (FAILOVER=on)
                              (ADDRESS_LIST=
                                              (ADDRESS=(protocol=tcp)(host=node1-vip)(port=1521))
                                              (ADDRESS=(protocol=tcp)(host=node2-vip)(port=1521)))
              (CONNECT_DATA=
                              (SERVER=DEDICATED)
                              (SERVICE_NAME=racdb)))

表4-2に、Oracle RACデータベースのネット・サービス名エントリのパラメータを示して説明します。

表4-2 Oracle RACデータベースのネット・サービス名エントリのパラメータ

パラメータ 説明

LOAD_BALANCE

クライアントのロード・バランシングの有効(on)または無効(off)を指定します。デフォルト設定はonです。

FAILOVER

フェイルオーバーの有効(on)または無効(off)を指定します。デフォルト設定はonです。

ADDRESS_LIST

RACのすべてのノードのリスト(ホスト名とリスニングしているポートを含む)を指定します。


JDBCおよびOracle RAC

シン・ドライバを使用してOracle RACに接続するJDBCクライアント・アプリケーションは、JDBC URLの一部としてRACネット・サービス名を使用する必要があります。RACネット・サービス名すべてを連結して、その文字列全体をJDBC URLで使用すると、クライアント・アプリケーションがRACに接続できます。

次に、RACデータベースに接続するために使用されるJDBC URLの例を含むサンプル・コードを示します。

//String url = "jdbc:oracle:thin:@dbhost:1521:dbservice"
String racUrl =
"jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)(FAILOVER=on)(ADDRESS_LIST=(ADDRESS=(protocol=tcp)(host=node1-vip)(port=1521))(ADDRESS=(protocol=tcp)(host=node2-vip)(port=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=racdb)))";

       String strUser = "username";
       String strPW = "password";

       // load Oracle driver
       Class.forName("oracle.jdbc.driver.OracleDriver");

       // create the connection
       con = DriverManager.getConnection(strURL, strUser, strPW);

この後の項では、Oracle RACデータベースに対してアプリケーション・サーバーを構成する際に、アプリケーション・サーバーがRACと通信するために、同様のJDBC URLを使用するように接続プールを変更する方法を説明します。

Oracle RACに対するOracle Application Serverの構成

ここでは、非クラスタおよびクラスタOracle Application ServerをOracle RACに対して構成する方法を説明します。この方法では、RAC JDBC接続文字列を使用するようにデータ・ソースと接続プールが構成されていることを確認します。


注意:

Oracle Application ServerをOracle RACに対して構成する前に、次のことを行ってください。
  • RACネット・サービス名をtnsnames.oraファイルから取得します。

  • 「JDBCおよびOracle RAC」を参照してRAC JDBC URLを作成します。


次の手順を実行して、非クラスタおよびクラスタOracle Application ServerをOracle RACに対して構成します。


注意:

Oracle Application ServerクラスタをOracle RACに対して構成する場合は、クラスタのすべてのノードで次の各手順を実行します。

  1. <XL_HOME>/xellerate/config/xlconfig.xmlファイルを開きます。

  2. <DirectDB>セクションを探し、<url>...</url>タグの値をRAC JDBC URLで置き換えます。たとえば、新しいタグは次のようになります。

    <url>jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)(FAILOVER=on)(ADDRESS_
    LIST=(ADDRESS=(protocol=tcp)(host=node1-vip)(port=1521))(ADDRESS=(protocol=tcp)
    (host=node2-vip)(port=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_
    NAME=racdb)))</url>
    
    
  3. <XL_HOME>/xellerate/config/xlconfig.xmlファイルを保存して閉じます。

  4. Webブラウザを使用してOracle Application Server管理コンソールにログインします。

  5. Oracle Identity Managerがインストールされているアプリケーション・サーバーを選択し、Oracle RACに対して構成しているOracle Application Serverインスタンス内のOC4Jインスタンスを選択します。

  6. 「管理」タブを選択し、「サービス」を選択してから「JDBCリソース」を選択します。

  7. 「接続プール」セクションで「xlConnectionPool」を選択します。

  8. 「URL」プロパティ値を、手順2で説明したRAC JDBC URLに設定します。

  9. 設定を保存します。

  10. 「xlXAConnectionPool」を選択します。

  11. 「URL」プロパティ値を、手順2で説明したRAC JDBC URLに設定します。

  12. 設定を保存します。

  13. クラスタOracle Application Server環境では、クラスタ内の各ノードで手順512を繰り返します。

  14. Oracle Application Serverを再起動します。Oracle Application ServerクラスタをOracle RACに対して構成している場合は、クラスタのすべてのノードを再起動します。