ヘッダーをスキップ
Oracle Identity Manager Oracle Application Server用インストレーションおよび構成ガイド
リリース9.1.0
E05909-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

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

Oracle Identity Managerにはデータベースが必要です。Oracle Identity Managerのインストールを開始する前に、データベースをインストールして構成する必要があります。詳細は、使用するデータベースに対応するトピックを参照してください。

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

データベースとしてOracle Databaseを使用する場合は、次の項で説明するタスクを実行する必要があります。

Oracle Databaseのインストール

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


注意:

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

Oracleデータベースの作成

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

データベースの作成には、Database Configuration Assistant(DBCA)ツールを使用できます。Oracle JVM機能を有効にするには、DBCAの「標準データベース・オプション」ページでOracle JVM機能を選択します。

クエリー・リライトを有効にするには、DBCAの「すべての初期化パラメータ」フィールドで、初期化パラメータQUERY_REWRITE_ENABLEDTRUEに、同じくQUERY_REWRITE_INTEGRITYTRUSTEDに設定します。


注意:

Oracle Identity Managerインストールでは、Oracle Database用の最小ブロック・サイズを8Kに構成することをお薦めします。

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

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

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

  1. DBCAの「キャラクタ・セット」タブで「AL32UTF8」を選択します。このキャラクタ・セットはUnicode規格をサポートします。

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


    関連項目:

    Oracle Identity Managerのグローバリゼーション・サポートの詳細は、『Oracle Identity Managerグローバリゼーション・ガイド』を参照してください。

Oracleデータベースの準備

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

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


    注意:

    クエリー・リライトは、Oracle Database Enterprise Editionを使用している場合にのみ該当します。

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


    注意:

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

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

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

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

  • UNIXでは次のスクリプトを実行します。

    prepare_xl_db.sh

  • Microsoft Windowsでは次のスクリプトを実行します。

    prepare_xl_db.bat

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

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

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

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

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

UNIXでのデータベースの準備:

UNIXでデータベースを準備するには、次のようにします。

  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. スクリプトから次の項目の指定を求められたら、データベースとホスト・コンピュータの該当する情報を指定します。

    • Oracleホームの場所(ORACLE_HOME

    • データベースの名前(ORACLE_SID

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

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

    • Oracle Identity Managerデータの格納用として作成される表領域の名前

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

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

    • 一時表領域の名前

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


    注意:

    prepare_xl_db.shスクリプトの実行後にエラーが発生した場合、次のコマンドによってprepare_xl_db.shがUNIXまたはLinux上で実行可能であることを確認してからprepare_xl_db.shスクリプトを再実行してください。
    $ dos2unix prepare_xl_db.sh
    

Microsoft Windowsでのデータベースの準備:

Microsoft 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. prepare_xl_db.batを実行したディレクトリにあるprepare_xl_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 Real Application Clusters(Oracle RAC)データベースをデプロイする方法について説明します。内容は次のとおりです。

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

Oracle RACとは、拡張性および可用性の高いデータベース・ソリューションを提供する共有キャッシュ・アーキテクチャを使用したクラスタ・データベースです。Oracle RACは様々なコンピュータの複数のデータベース・インスタンスで構成されており、各インスタンスが連携して作動することで機能を実現します。


注意:

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

次の手順でOracle RAC用のOracle Identity Managerをインストールします。

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

  2. Oracle Identity Managerインストーラを起動します。

  3. インストーラのデータベース・パラメータ・ページで、Oracle RACの1つのデータベース・インスタンスのホスト名、ポート番号およびデータベース名を入力します。

  4. インストーラの残りの手順に従って、Oracle Identity Managerのインストールを完了します。

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

Oracle RACネット・サービス

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

racdb=
      (DESCRIPTION=
              (LOAD_BALANCE=off)
              (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

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


JDBCおよびOracle RAC

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

次のサンプル・コードは、Oracle RACデータベースへの接続にJDBC URLがどのように使用されるかを示したものです。

//String url = "jdbc:oracle:thin:@dbhost:1521:dbservice"
String racUrl =
"jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=off)(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データベースに対してアプリケーション・サーバーを構成する際に、アプリケーション・サーバーがOracle RACと通信するために、同様のJDBC URLを使用するように接続プールを変更する方法を説明します。

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

ここでは、Oracle Application Server(非クラスタまたはクラスタ)をOracle RACに対して構成する方法を説明します。この方法では、Oracle 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. OIM_HOME/xellerate/config/xlconfig.xmlファイルを開きます。

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

    <url>jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=off)(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. OIM_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. 設定を保存します。


    注意:

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

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