Oracle Identity Managerにはデータベースが必要です。Oracle Identity Managerのインストールを開始する前に、データベースをインストールして構成する必要があります。詳細は、使用するデータベースに対応するトピックを参照してください。
データベースとしてOracle Databaseを使用する場合は、次の項で説明するタスクを実行する必要があります。
Oracleデータベースに付属するドキュメントを参照して、Oracle9i DatabaseまたはOracle Database 10gリリース2をインストールします。サポートされているバージョンの詳細は、『Oracle Identity Managerリリース・ノート』を参照してください。基本インストールの使用をお薦めします。
注意: カスタム・インストールを選択した場合は、XAトランザクション・サポートに必要なJVMオプションを組み込む必要があります。 |
Oracle Identity Manager用の新しいOracleデータベース・インスタンスを作成します。データベースを作成するときは、Oracle JVM機能を構成に含めるとともに、クエリー・リライトを有効にしてください。
データベースの作成には、Database Configuration Assistant(DBCA)ツールを使用できます。Oracle JVM機能を有効にするには、DBCAの「標準データベース・オプション」ページでOracle JVM機能を選択します。
クエリー・リライトを有効にするには、DBCAの「すべての初期化パラメータ」フィールドで、初期化パラメータQUERY_REWRITE_ENABLED
をTRUE
に、同じくQUERY_REWRITE_INTEGRITY
をTRUSTED
に設定します。
注意: Oracle Identity Managerインストールでは、Oracle Database用の最小ブロック・サイズを8Kに構成することをお薦めします。 |
データベース・インスタンスの作成の詳しい手順は、Oracleデータベースのドキュメントを参照してください。
Oracle Identity Managerでグローバリゼーションをサポートするためには、データベースをUnicode対応で構成することをお薦めします。Unicode対応に構成するには、次の手順を実行します。
DBCAの「キャラクタ・セット」タブで「AL32UTF8」を選択します。このキャラクタ・セットはUnicode規格をサポートします。
DBCAの「すべての初期化パラメータ」フィールドで、初期化パラメータNLS_LENGTH_SEMANTICS
をCHAR
に設定します。
関連項目: Oracle Identity Managerのグローバリゼーション・サポートの詳細は、『Oracle Identity Managerグローバリゼーション・ガイド』を参照してください。 |
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データベースを準備するには、次のいずれかのスクリプトを実行します。
これらのスクリプトは両方ともOracle Identity Managerインストーラに同梱され、/installServer/Xellerate/db/oracle/
ディレクトリにあります。
prepare_xl_dbスクリプトを使用するときは、次の前提条件に注意する必要があります。
スクリプトは、dba権限を持つユーザーが実行する必要があります(たとえば、UNIXのoracleユーザーは通常この権限を持っています)。
スクリプトはデータベースが存在するコンピュータで実行する必要があります。
Oracle Identity ManagerのためにOracleデータベースを準備するには、Oracleデータベースのホスト・コンピュータのオペレーティング・システムに対応する手順を実行してください。
UNIXでデータベースを準備するには、次のようにします。
配布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拡張子は不要)
一時表領域の名前
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でデータベースを準備するには、次のようにします。
配布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ユーザーのパスワード |
prepare_xl_db.batを実行したディレクトリにあるprepare_xl_db.lst
ログ・ファイルを調べて、実行ステータスとその他の情報を確認します。
スクリプトから正常終了を示すメッセージが返された場合は、次のタスクつまりOracle Identity Managerのインストールに進むことができます。
スクリプトが正常に終了しなかった場合は、データベースを適切に準備するために、すべての致命的な(リカバリ不可能な)エラーを手動で修正する必要があります。
致命的でないエラーはすべて無視できます。たとえば、存在しないビューをスクリプトで削除しようとすると、エラー「ORA-00942: 表またはビューが存在しません。」が返されます。
ログ・ファイルのすべてのエラーを確認して、各エラーを無視するか修正します。Oracle Identity Managerをインストールするには、前もってOracle Identity Managerのためにデータベースを適切に準備する必要があります。
ここでは、Oracle Identity Managerに対してOracle Real Application Clusters(Oracle RAC)データベースをデプロイする方法について説明します。内容は次のとおりです。
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をインストールします。
Oracle RACがOracle Identity Managerスキーマ所有者によって正しく設定および構成されていることを確認します。
Oracle Identity Managerインストーラを起動します。
インストーラのデータベース・パラメータ・ページで、Oracle RACの1つのデータベース・インスタンスのホスト名、ポート番号およびデータベース名を入力します。
インストーラの残りの手順に従って、Oracle Identity Managerのインストールを完了します。
「Oracle RACに対するOracle Application Serverの構成」を参照して、アプリケーション・サーバーを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データベースのネット・サービス名エントリのパラメータを示して説明します。
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 Application Server(非クラスタまたはクラスタ)をOracle RACに対して構成する方法を説明します。この方法では、Oracle RAC JDBC接続文字列を使用するようにデータソースと接続プールが構成されていることを確認します。
注意: Oracle Application ServerをOracle RACに対して構成する前に、次のことを行ってください。
|
次の手順を実行して、非クラスタおよびクラスタOracle Application ServerをOracle RACに対して構成します。
注意: Oracle Application ServerクラスタをOracle RACに対して構成する場合は、クラスタのすべてのノードで次の各手順を実行します。 |
OIM_HOME
/xellerate/config/xlconfig.xml
ファイルを開きます。
<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>
OIM_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に対して構成している場合は、クラスタのすべてのノードを再起動します。