Oracle Identity Managerにはデータベースが必要です。Oracle Identity Managerのインストールを開始する前に、データベースをインストールして構成する必要があります。この章では次の項目について説明します。
データベースにOracleを使用するには、次のようにします。
Oracleをインストールします。詳細は「Oracleのインストール」を参照してください。
Oracleデータベースを作成します。詳細は、「Oracleデータベースの作成」を参照してください。
Oracleデータベースを準備します。詳細は、「Oracleデータベースの準備」を参照してください。
Oracleデータベースに付属するドキュメントを参照して、Oracle9iまたは10gリリース2データベースをインストールします。サポート対象のバージョンを確認するには、『Oracle Identity Managerリリース・ノート』を参照してください。基本インストールの使用をお薦めします。
注意: カスタム・インストールを選択した場合は、XAトランザクション・サポートに必要なJVMオプションを組み込む必要があります。 |
Oracle Identity Managerのために新しいOracleデータベース・インスタンスを作成する必要があります。データベースを作成するときは、Oracle JVM機能を構成し、クエリー・リライトを有効にしてください。
データベースを作成するためにデータベース・コンフィギュレーション・アシスタント(DBCA)ツールを使用できます。Oracle JVM機能を構成するには、DBCAの「標準データベース・オプション」ページでOracle JVM機能を選択します。
データベースでクエリー・リライトを有効にするには、DBCAの「すべての初期化パラメータ」フィールドでinit.oraのパラメータを設定します。QUERY_REWRITE_ENABLED
をTRUE
、QUERY_REWRITE_INTEGRITY
をTRUSTED
に設定してください。
データベース・インスタンスの作成の詳しい手順は、Oracleデータベースのドキュメントを参照してください。
Oracle Identity Managerのグローバリゼーション・サポートのためには、データベースをUnicodeに対応するように構成することをお薦めします。Unicode対応に構成するには、次の手順を実行します。
データベースの文字を最新バージョンのUnicode規格をサポートするAL32UTF8に設定します。DBCAの「キャラクタ・セット」タブでAL32UTF8を選択します。
DBCAの「すべての初期化パラメータ」フィールドでNLS_LENGTH_SEMANTICS
init.oraパラメータをCHAR
に設定します。
関連資料: 『Oracle Identity Managerグローバリゼーション・ガイド』 |
Oracleをインストールしてデータベース・インスタンスを作成したら、次のタスクを実行してOracle Identity Managerのためにデータベースの準備を行う必要があります。
クエリー・リライトが有効になっていることの確認
XAトランザクション・サポートの有効化
注意: XAトランザクション・サポートを有効にするにはJava JVMが必要です。Oracleのインストール時にJVMをインストールしなかった場合は、ここでインストールしてください。具体的な手順は、Oracleのドキュメントを参照してください。 |
Oracle Identity Managerデータを格納するための少なくとも1つの表領域の作成
Oracle Identity Managerのためのデータベース・ユーザー・アカウントの作成
これらのタスクを行ってOracle Identity ManagerのためにOracleデータベースを準備するには、次のいずれかのスクリプトを実行します。
これらのスクリプトは両方ともOracle Identity Managerインストーラの\installServer\Xellerate\db\oracle\ディレクトリにあります。
prepare_xl_dbスクリプトを使用するときは、次の前提条件に注意する必要があります。
スクリプトは、dba権限を持つユーザーが実行する必要があります(たとえば、UNIXまたはLinuxのoracleユーザーは通常この権限を持っています)。
スクリプトはデータベースが存在するマシンで実行する必要があります。
Oracle Identity ManagerのためにOracleデータベースを準備するには、Oracleデータベースのホスト・マシンのオペレーティング・システムに対応する手順を実行してください。
UNIXまたはLinux:
配布CDのスクリプトprepare_xl_db.shおよびxell_db_prepare.sqlをデータベースのホスト・マシンのディレクトリにコピーします。このタスクを実行するアカウント・ユーザーがこのディレクトリの書込み権限を持っている必要があります。
次のコマンドを実行して、スクリプトの実行権限を有効にします。
chmod 755 prepare_xl_db.sh
次のコマンドを入力してprepare_xl_db.shスクリプトを実行します。
./prepare_xl_db.sh
スクリプトによって次の項目の指定を求められたら、データベースとホスト・マシンの該当する情報を指定します。
Oracleホームの場所(ORACLE_HOME)
データベースの名前(ORACLE_SID)
作成するOracle Identity Managerデータベース・ユーザーの名前
Oracle Identity Managerデータベース・ユーザーのパスワード
Oracle Identity Managerデータを格納するために作成する表領域の名前
Oracle Identity Manager表領域のデータファイルを格納するディレクトリ
データファイルの名前(.dbf拡張子は不要)
一時表領域の名前
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:
配布CDのスクリプトprepare_xl_db.batおよびxell_db_prepare.sqlをデータベースのホスト・マシンのディレクトリにコピーします。このタスクを実行するアカウント・ユーザーがこのディレクトリの書込み権限を持っている必要があります。
コマンド・ウィンドウを開いて、スクリプトをコピーしたディレクトリにナビゲートし、次のように引数を指定して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スクリプトのオプション
引数 | 説明 |
---|---|
|
データベースの名前 |
|
Oracleデータベースがインストールされているディレクトリ |
|
作成するOracle Identity Managerユーザーの名前 |
|
Oracle Identity Managerユーザーのパスワード |
|
作成する表領域の名前 |
|
データファイルを配置するディレクトリ |
|
データファイルの名前(.dbf拡張子は不要) |
|
データベースにすでに存在する一時表領域の名前 |
|
SYSユーザーのパスワード |
xell_db_prepareスクリプトを実行したディレクトリにあるprepare_xell_db.lstログ・ファイルを調べて、実行ステータスとその他の情報を確認します。
スクリプトから正常終了を示すメッセージが返された場合は、次のタスクつまりOracle Identity Managerのインストールに進むことができます。
スクリプトが正常に終了しなかった場合は、データベースを適切に準備するために、すべての致命的なエラーを手動で修正する必要があります。
致命的でないエラーは無視できます。たとえば、存在しないビューをスクリプトで削除しようとすると、エラー「ORA-00942: 表またはビューが存在しません。」が返されます。これは無視しても問題ありません。
必ずログ・ファイルのすべてのエラーを確認して、各エラーを無視するか修正します。Oracle Identity Managerをインストールするには、前もってOracle Identity Managerのためにデータベースを適切に準備する必要があることを忘れないでください。
ここでは、Oracle Identity Managerに対してOracle RACデータベースをデプロイする方法について説明します。内容は次のとおりです。
Oracle RACは、共有キャッシュ・アーキテクチャを備えたクラスタ・データベースです。スケーラビリティや可用性が非常に高いデータベース・ソリューションが提供されます。RACは様々なマシンの複数のデータベース・インスタンスで構成されており、各インスタンスが連携して作動することで機能を実現します。
重要: Oracle Identity Managerインストーラ・プログラムはRACには対応していません。RACに対してOracle Identity Managerをデプロイするには、Oracle Identity ManagerをRAC内の1データベース・インスタンスにインストールしてから、RAC JDBC接続文字列を使用するようにアプリケーション・サーバー設定(特に接続プール・パラメータ)を変更する必要があります。 |
次の手順を実行して、RACに対してOracle Identity Managerをインストールします。
RACがOracle Identity Managerスキーマ所有者によって正しく設定および構成されていることを確認します。
Oracle Identity Managerインストーラ・プログラムを起動します。
Oracle Identity Managerインストーラ・プログラムのデータベース・パラメータ画面で、RACの1つのデータベース・インスタンスのホスト名、ポート番号およびデータベース名を入力します。
インストーラ・プログラムの手順を実行して、Oracle Identity Managerのインストールを完了します。
「Oracle RACに対するOracle Application Serverの構成」を参照して、アプリケーション・サーバーを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データベースのネット・サービス名エントリのパラメータを示して説明します。
シン・ドライバを使用して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 Application ServerをOracle RACに対して構成する方法を説明します。この方法では、RAC JDBC接続文字列を使用するようにデータ・ソースと接続プールが構成されていることを確認します。
注意: Oracle Application ServerをOracle RACに対して構成する前に、次のことを行ってください。
|
次の手順を実行して、非クラスタおよびクラスタOracle Application ServerをOracle RACに対して構成します。
注意: Oracle Application ServerクラスタをOracle RACに対して構成する場合は、クラスタのすべてのノードで次の各手順を実行します。 |
<XL_HOME>/xellerate/config/xlconfig.xmlファイルを開きます。
<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>
<XL_HOME>/xellerate/config/xlconfig.xmlファイルを保存して閉じます。
Webブラウザを使用してOracle Application Server管理コンソールにログインします。
Oracle Identity Managerがインストールされているアプリケーション・サーバーを選択し、Oracle RACに対して構成しているOracle Application Serverインスタンス内のOC4Jインスタンスを選択します。
「管理」タブを選択し、「サービス」を選択してから「JDBCリソース」を選択します。
「接続プール」セクションで「xlConnectionPool」を選択します。
「URL」プロパティ値を、手順2で説明したRAC JDBC URLに設定します。
設定を保存します。
「xlXAConnectionPool」を選択します。
「URL」プロパティ値を、手順2で説明したRAC JDBC URLに設定します。
設定を保存します。
Oracle Application Serverを再起動します。Oracle Application ServerクラスタをOracle RACに対して構成している場合は、クラスタのすべてのノードを再起動します。