Oracle Identity Managerを構成して、1つのデータベースを現行トランザクション・データに使用し、セカンダリ・データベースを履歴データに使用するようにできます。セカンダリ・データベースにより、トランザクション・データベースの負荷が軽減されます。
セカンダリ・データベースには、異なるデータソースを使用できます。次の各項では、セカンダリ・データソースを使用するために、Oracle Identity Managerとアプリケーション・サーバーを構成する方法について説明します。
この章の内容は次のとおりです。
ユーザー・プロファイル監査データのサイズは、急速に増える場合があります。セカンダリ・データベースを使用してこの情報を格納することをお薦めします。次のシステム・プロパティを使用すると、このデータベースに対して直接読取りおよび書込みができるようになります。
XL.UserProfileAuditInSecondaryDS
デフォルトでは、XL.UserProfileAuditInSecondaryDS
プロパティはfalse
に設定されています。このプロパティをtrue
に設定すると、すべてのユーザー・プロファイル・データの読取りおよび書込みは、セカンダリ・データベースに対して直接行われます。
セカンダリ・データベースを構成すると、すべての履歴レポートがセカンダリ・データベースに対して実行されるように自動的に構成されます。
ユーザー・プロファイル監査では、セカンダリ・データベースと直接やり取りします。レポートにはアクセス制御およびレポートのフィルタ処理のために他の表が必要であるため、トランザクション・データベースからそれらの表をレプリケートする必要があります。データのバックアップ、リストアまたはレプリケーションを簡単にするために、これらの表および制約を無効にできます。
表6-1に、使用される表および制約を示します。
表6-1 履歴レポートで使用される表および制約
表名 | 外部キー制約名 | 参照表名 | 参照列名 |
---|---|---|---|
AAD |
FK_AAD_FK_AAD_AC_ACT |
ACT |
ACT_KEY |
FK_AAD_FK_AAD_UG_UGP |
UGP |
UGP_KEY |
|
ACT |
FK_ACT_ACT |
ACT |
PARENT_KEY |
FK_ACT_SRP |
SRP |
SRP_KEY |
|
GPG |
FK_GPG_UGP |
UGP |
UGP_KEY |
FK_GPG_UGP_KEY_UGP |
UGP |
GPG_UGP_KEY |
|
OUG |
FK_OUG_OBJ |
OBJ |
OBJ_KEY |
FK_OUG_UGP |
UGP |
UGP_KEY |
|
POL |
|||
PTY |
|||
REQ |
FK_REQ_ORC |
ORC |
ORC_KEY |
FK_REQ_OST |
OST |
OST_KEY |
|
FK_REQ_USR |
USR |
USR_KEY |
|
UGP |
|||
USG |
FK_USG_RUL |
RUL |
RUL_KEY |
FK_USG_UGP |
UGP |
UGP_KEY |
|
FK_USG_USR |
USR |
USR_KEY |
|
USR |
FK_USR_ACT |
ACT |
ACT_KEY |
OSI |
FK_OSI_ACT |
ACT |
ACT_KEY |
FK_OSI_ASSIGNED_TO_USR |
USR |
USR_KEY |
|
FK_OSI_MIL |
MIL |
MIL_KEY |
|
FK_OSI_ORC |
ORC |
ORC_KEY |
|
FK_OSI_ORD |
ORD |
ORD_KEY |
|
FK_OSI_PKG |
PKG |
PKG_KEY |
|
FK_OSI_REQ |
REQ |
REQ_KEY |
|
FK_OSI_RSC |
RSC |
RSC_KEY |
|
FK_OSI_SCH |
SCH |
SCH_KEY |
|
FK_OSI_SCH_OSI_RECOVERY_FOR |
SCH |
SCH_KEY |
|
FK_OSI_SCH_OSI_RETRY_FOR |
SCH |
SCH_KEY |
|
FK_OSI_TLG |
TLG |
TLG_KEY |
|
FK_OSI_TOS |
TOS |
TOS_KEY |
|
FK_OSI_TO_UGP |
UGP |
UGP_KEY |
|
FK_OSI_TO_USR |
USR |
USR_KEY |
|
OST |
FK_OST_OBJ |
OBJ |
OBJ_KEY |
OBI |
FK_OBI_OBJ |
OBJ |
OBJ_KEY |
FK_OBI_ORC |
ORC |
ORC_KEY |
|
FK_OBI_QUE |
QUE |
QUE_KEY |
|
FK_OBI_REQ |
REQ |
REQ_KEY |
|
FK_OBI_USR |
USR |
USR_KEY |
|
OBJ |
FK_OBJ_SDK |
SDK |
SDK_KEY |
OBA |
FK_OBA_OBJ |
OBJ |
OBJ_KEY |
FK_OBA_UGP |
UGP |
UGP_KEY |
|
RCE |
FK_RCE_ACT |
ACT |
ACT_KEY |
FK_RCE_ADMIN_UGP |
UGP |
UGP_KEY |
|
FK_RCE_ADMIN_USR |
USR |
USR_KEY |
|
FK_RCE_OBJ |
OBJ |
OBJ_KEY |
|
FK_RCE_ORC |
ORC |
ORC_KEY |
|
FK_RCE_USR |
USR |
USR_KEY |
|
MIL |
FK_MIL_DEFAULT_ASSIGNEE_USR |
USR |
USR_KEY |
FK_MIL_EVT |
EVT |
EVT_KEY |
|
FK_MIL_TOS |
TOS |
TOS_KEY |
|
RCX |
|||
ORC |
FK_ORC_ACT |
ACT |
ACT_KEY |
FK_ORC_ORC_PARENT_KEY |
ORC |
ORC_KEY |
|
FK_ORC_ORD |
ORD |
ORD_KEY |
|
FK_ORC_PKG |
PKG |
PKG_KEY |
|
FK_ORC_PKH |
PKH |
PKH_KEY |
|
FK_ORC_REQ |
REQ |
REQ_KEY |
|
FK_ORC_TOS |
TOS |
TOS_KEY |
|
FK_ORC_USR |
USR |
USR_KEY |
|
OIU |
FK_OIU_LAST_ATTESTED_USR |
USR |
USR_KEY |
FK_OIU_OBI |
OBI |
OBI_KEY |
|
FK_OIU_ORC |
ORC |
ORC_KEY |
|
FK_OIU_OST |
OST |
OST_KEY |
|
FK_OIU_POL |
POL |
POL_KEY |
|
FK_OIU_REQ |
REQ |
REQ_KEY |
|
FK_OIU_USR |
USR |
USR_KEY |
|
OSH |
FK_OSH_BY_USR |
USR |
USR_KEY |
FK_OSH_SCH |
SCH |
SCH_KEY |
|
FK_OSH_STA |
STA |
STA_KEY |
|
FK_OSH_TO_UGP |
UGP |
UGP_KEY |
|
FK_OSH_TO_USR |
USR |
USR_KEY |
|
SCH |
|||
RQU |
FK_RQU_REQ |
REQ |
REQ_KEY |
FK_RQU_USR |
USR |
USR_KEY |
|
RQO |
FK_RQO_OBI |
OBI |
OBI_KEY |
FK_RQO_OBJ |
OBJ |
OBJ_KEY |
|
FK_RQO_POL |
POL |
POL_KEY |
|
FK_RQO_REQ |
REQ |
REQ_KEY |
|
STA |
セカンダリ・データベースを設定するには、次のようにします。
セカンダリ・データベースを作成します。
トランザクション・データベースを異なるデータベース名でバックアップおよびリストアするか、レプリケートできます。
セカンダリ・データベースを使用するように、アプリケーション・サーバーを設定します。
詳細は、次の各項を参照してください。
システム・プロパティXL.UserProfileAuditInSecondaryDS
をTrue
に設定します。
この設定により、ユーザー・プロファイル監査データはセカンダリ・データベースに格納されます。
データの日次レプリケーションを構成し、表6-1に示したセカンダリ・データベース内の表がプライマリ・データベースから更新されるようにします。セカンダリ・データベースが有効になった後に、プライマリ・データベース全体をセカンダリ・データベースにレプリケートしないでください。レプリケートすると、セカンダリ・データベースに格納されていた監査データが削除されます。
あるいは、完全なリストアまたはレプリケーションのいずれかを設定します。
すべてのストアド・プロシージャがセカンダリ・データベースに正しくレプリケートされていることを確認します。
Oracle Databaseの場合:
jdbc:oracle:thin:@
IP of database
:
SID
Microsoft SQL Serverの場合:
jdbc:sqlserver://
IP_Address_of_Database_Computer
:
Port_No
;DatabaseName=
SID
新しいデータソースをJBoss Application Serverに作成するために、セットアップによりxlreportds-service.xml
という新しいファイルがデプロイ・ディレクトリに作成されます。このファイルでは、トランザクション・データベースに対する別名がjava:jdbc/xlXAReportingDS
設定を使用して作成されます。
JBoss Application Serverのセカンダリ・データベースを指すようにするには、次のようにします。
Oracle Databaseの場合、次のコードを2つ目のxa-datasource
タグとしてxell-ds.xmlに追加します。
<xa-datasource> <jndi-name>jdbc/xlXAReportingDS</jndi-name> <track-connection-by-tx>true</track-connection-by-tx> <isSameRM-override-value>false</isSameRM-override-value> <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource </xa-datasource- class> <xa-datasource-property name="URL">jdbc:oracle:thin:@<IP of database system>: 1521:XELL </xa-datasource-property> <xa-datasource-property name="User">sysadm</xa-datasource-property> <xa-datasource-property name="Password">sysadm</xa-datasource-property> <exception-sorter-class-name> org.jboss.resource.adapter.jdbc.vendor. OracleExceptionSorter </exception-sorter-class-name> <no-tx-separate-pools/> <valid-connection-checker-class-name> org.jboss.resource.adapter.jdbc.vendor. OracleValidConnectionChecker </valid-connection-checker-class-name> </xa-datasource>
Microsoft SQL Serverの場合、セカンダリ・データベースのタグは次のとおりです。
<xa-datasource> <jndi-name>jdbc/xlXAReportingDS</jndi-name> <track-connection-by-tx>true</track-connection-by-tx> <xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerXADataSource</xa-datasource-class> <xa-datasource-property name="ServerName"><IP of database system></xa-datasource-property> <xa-datasource-property name="DatabaseName">secondary_database_name</xa-datasource-property> <xa-datasource-property name="PortNumber">1433</xa-datasource-property> <user-name>secondary_database_user_name</user-name> <password>secondary_database_password</password> <check-valid-connection-sql>select 1 from USR where 1=2</check-valid-connection-sql> </xa-datasource>
Oracle DatabaseおよびMicrosoft SQL Serverのクラス名は、次のようになります。
Oracleの場合:
oracle.jdbc.xa.client.OracleXADataSource
Microsoft SQL Serverの場合:
com.microsoft.sqlserver.jdbc.SQLServerXADataSource
セカンダリ・データベースとして設定するデータベースに接続するためのデータベース名、ユーザー名およびパスワードを変更します。
JBossサーバーを再起動します。
注意: エラーの原因となるため、この項のxa-datasource ブロックを追加したり、jdbc/xlXAReportingDS がトランザクション・データベースを指すように設定しないでください。同じトランザクション・データベースを指すようにするには、xlreportds-service.xml ファイルを現状のままにしておきます。 |
スタンドアロン設定では、xell-ds.xmlファイルとxlreportds-service.xmlファイルは、JBOSS_HOME
/server/default/deploy/
ディレクトリにあります。
クラスタ化設定では、xell-ds.xml
ファイルはJBOSS_HOME
/server/all/farm/
ディレクトリに、xlreportds-service.xml
ファイルはJBOSS_HOME
/server/all/deploy/
ディレクトリにあります。
JBoss Application Server用にクラスタを構成するには、次のようにします。
xell-ds.xml
ファイルに対する変更をクラスタ内のすべてのコンピュータにコピーします。
クラスタ内のすべてのコンピュータでJBossサーバーを再起動します。
Oracle Identity Managerでレポートの作成に使用されるデータソースを変更する前に、新しいデータソースをOracle WebLogic Serverに作成します。Oracle WebLogic Serverのドキュメントに記載された手順を実行して、新しいデータソースを設定します。
OracleデータベースおよびMicrosoft SQL Serverデータベースを使用してOracle WebLogic Serverをセカンダリ・データソースとともに構成するには、次のようにします。
アプリケーション・サーバーの管理コンソールにログインします。
「チェンジ・センター」リージョンで、「ロックして編集」をクリックします。
「ドメイン構造」リージョンで、「サービス」、「JDBC」、「データソース」の順にナビゲートします。
右側のペインの「データソース」リージョンで、「新規」をクリックします。
「新規JDBCデータソースの作成」の次のプロパティを設定します。
Oracleの場合:
名前: xlXAReportingDS
JNDI名: jdbc/xlXAReportingDS
データベース・タイプ: Oracle
データベース・ドライバ: *Oracle's Driver(Thin XA)Versions:9.0.1,9.2,10,11
Microsoft SQL Serverの場合:
名前: xlXAReportingDS
JNDI名: jdbc/xlXAReportingDS
データベース・タイプ: MicroSoft SQL Server
データベース・ドライバ: Microsoft SQL Server Driver (Type 4 XA) Version:2005
「次へ」をクリックします。
「トランザクション・オプション」ページで、「次へ」をクリックします。
「接続プール」タブの次のプロパティを設定します。
データベース名: SID
ホスト名: @
Database_IP_Address
ポート: @
port_no
データベース・ユーザー名: secondary_database_user_name
パスワード: secondary_database_password
パスワードの確認: secondary_database_password
「次へ」をクリックします。
「データベース接続のテスト」ページに次のプロパティが表示されていることを確認します。
Oracleの場合:
ドライバ・クラス名: oracle.jdbc.xa.client.OracleXADataSource
URL: jdbc:oracle:thin:@
Database_IP_Address
:port_no
:SID
データベース・ユーザー名: secondary_database_user_name
パスワード: secondary_database_password
パスワードの確認: secondary_database_password
プロパティ: User=
secondary_database_user_name
Microsoft SQL Serverの場合:
ドライバ・クラス名: com.microsoft.sqlserver.jdbc.SQLServerXADataSource
URL: jdbc:sqlserver:@
Database_IP_Address
:
port_no
:SID
データベース・ユーザー名: secondary_database_user_name
パスワード: secondary_database_password
パスワードの確認: secondary_database_password
プロパティ: User=
secondary_database_user_name
「構成のテスト」をクリックします。
「接続テストが成功しました。」というメッセージが表示されます。
「次へ」をクリックします。
「ターゲットの選択」ページで、「管理サーバー」を選択し、「終了」をクリックします。
「チェンジ・センター」リージョンで、「変更のアクティブ化」をクリックします。
weblogic.profile
ファイルを編集して、OIM_HOME/xellerate/Profiles/
ディレクトリの新しいデータソースを指すJNDI情報を追加します。
次のように、既存のxlXADS
のデータソース・エントリをコメント化してxlXAReportingDS
の情報を追加します。
# Reporting data source
# datasource.report=jdbc/xlXADS
datasource.report=jdbc/xlXAReportingDS
Design Consoleシステム・プロパティが次のようにTrue
に設定されていることを確認します。
XL.UserProfileAuditInSecondaryDS=True
サーバーを再起動します。サーバーの再起動の詳細は、リリース9.1.0.1の『Oracle Identity Manager Oracle WebLogic Server用インストレーションおよび構成ガイド』を参照してください。
変更を有効にするために、次のコマンドを実行します。
OIM_HOME
/xellerate/setup/patch_weblogic.cmd/sh WEBLOGIC_ADMIN_PASSWORD
OIM_DATASOURCE_PASSWORD
注意: このパッチ・アプリケーション・プロセスが失敗すると、Oracle Weblogicによってファイルがロックされる可能性があります。次の手順を実行して、Oracle Identity Managerを再デプロイします。
|
サーバーを再起動します。
Oracle Identity Managerでレポートの作成に使用されるデータソースを変更する前に、新しいデータソースをIBM WebSphere Application Serverに作成する必要があります。新しいデータソースの設定の詳細は、IBM WebSphere Application Serverのマニュアルを参照してください。
Oracle Databaseを使用してIBM WebSphere Application Serverをセカンダリ・データソースとともに構成するには、次のようにします。
Websphere管理コンソールにログインします。
次の詳細情報を使用して新しいデータソースを作成します。
jdbc:oracle:thin:@
IP_of_database
:
port_number
:
SID
例: jdbc:oracle:thin:@192.168.161.134:1521:xeltest
別名: secondary_user_alias
ユーザー: secondary_user
パスワード: secondary_user_password
説明: Descriptive_text_for_the_data
次の値を持つXAReportingDatasource
の認証別名を選択します。
コンポーネント管理の認証別名: J2C_Authentication_Data Entries
コンテナ管理の認証別名: J2C_Authentication_Data Entries
変更を保存し、すべてのノード間で同期化します。
websphere.profile
ファイルを開き、OIM_HOME
/xellerate/Profiles/
ディレクトリの新しいデータソースを指すJNDI情報を追加します。
次のように、既存のxlXADS
のデータソース・エントリをコメント化してxlXAReportingDS
の情報を追加します。
# Reporting data source #datasource.report=jdbc/xlXADS datasource.report=jdbc/xlXAReportingDS
次のJavaクライアント・システム・プロパティをtrueに設定します。
XL.UserProfileAuditInSecondaryDS=True
OIM_HOME
/xellerate/setup
ディレクトリのpatch_websphere.cmd
またはpatch_websphere.sh
を規定どおりに実行します。
Microsoft SQL Serverデータベースを使用してIBM WebSphere Application Serverをセカンダリ・データソースとともに構成するには、次のようにします。
WebSphere管理コンソールに管理者としてログインします。
スコープをセルとして、JDBCプロバイダを新規作成します。
データベース・タイプ: SQL Server
プロバイダ・タイプ: DataDirect ConnectJDBC type 4 driver for MS SQL Server
実装タイプ: XA Data Source
名前: <XL XAレポート・プロバイダ>
説明: <XL XAレポート・プロバイダ>
「Next」をクリックします。
sqljdbc.jarファイルのパスを指定し、「Next」をクリックします。
「Finish」をクリックします。
すべての変更を保存します。
手順2で作成したJDBCプロバイダをクリックします。
クラスパスを、sqljdbc.jarファイルのパスに変更します。
実装クラス名をJDBCドライバに変更します。
次の詳細情報を使用して新しいデータソースを作成します。
名前: <XAReprtingDataSource>
JNDI名: jdbc/xlXAReportingDS
コンポーネント管理の認証別名: <J2C認証データ・エントリ>
コンテナ管理の認証別名: <J2C認証データ・エントリ>
データベース資格証明の認証には、次のJ2C認証データ値を使用します。
別名: <セカンダリ・ユーザー別名>
ユーザー: <セカンダリ・ユーザー>
パスワード: <セカンダリ・ユーザー・パスワード>
説明: <データの説明文>
前の手順で作成したJDBCプロバイダを選択し、「Next」をクリックします。
次のデータベース資格証明を入力します。
データベース名: <Secondary_DataBase_Name>
サーバー名: <Host_Name>
「Next」をクリックします。
次のようにWebSphere.profileを変更して、/Xellerate/profile
ディレクトリにある新しいデータソースを指すJNDI情報を追加します。
datasource.report=jdbc/xlXAReportingDS
次のJavaクライアント・システム・プロパティをtrueに設定します。
XL.UserProfileAuditInSecondaryDS=True
プロファイルを変更した後、パッチ・コマンド(patch_websphere)を実行して変更を有効にします。
Oracle Identity Managerでレポートの作成に使用されるデータソースを変更する前に、新しいデータソースをOracle Application Serverに作成する必要があります。
Oracle Databaseを使用してOracle Application Serverをセカンダリ・データソースとともに構成するには、次のようにします。
Oracle Enterprise Manager 10g Application ServerコンソールにログインしてOracle Application Serverインスタンスにナビゲートします。
Oracle Identity ManagerがデプロイされているOracle Application Serverインスタンスをクリックします。
「管理」タブに、選択したOracle Application Serverインスタンスで実行できる管理タスクのリストが表示されます。
「開く」アイコンあるいは「すべてを開く」をクリックして、表の「サービス」セクションを開きます。
「JDBCリソース」行の「タスク」アイコンをクリックします。
接続プールを作成するために、「接続プール」セクションで「作成」をクリックし、「アプリケーション」および「接続プール・タイプ」パラメータに次の値を選択します。
アプリケーション: デフォルト
接続プール・タイプ: 新規接続プール
「続行」をクリックします。
次のパラメータに、指定された値を入力(または指定された値に変更)します。
名前: xlXAReportingConnectionPool
コネクション・ファクトリ・クラス: oracle.jdbc.xa.client.OracleXADataSource
JDBC URL: jdbc:oracle:thin:@IP_of_database:port_number:SID
例: jdbc:oracle:thin:@127.0.0.1:1521:xeltest
ユーザー名: セカンダリ・データベースのユーザー名を入力します。
クリアテキスト・パスワードの使用: セカンダリ・データベースのパスワードを入力します。
関連項目: 間接パスワード機能の使用の詳細は、Oracle Application Serverのマニュアルを参照してください。または、同じタブの「資格証明」セクションで、「間接パスワードの使用」フィールドの横に表示される「i」アイコンをクリックすると、この機能の詳細が表示されます。 |
「属性」タブで、xlXAConnectionPool
に指定された値を入力します。これらの値を表示するには、次のようにします。
Oracle Enterprise Manager 10g Application Serverコンソールの別のインスタンスにログインして、Oracle Application Serverインスタンスにナビゲートします。
Oracle Identity ManagerがデプロイされているOracle Application Serverインスタンスをクリックします。
「管理」タブで、表の「サービス」セクションを開きます。
「JDBCリソース」行の「タスク」アイコンをクリックします。
xlXAConnectionPoolをクリックします。
「属性」タブに、コピーする必要のある値が表示されます。
「終了」をクリックします。
「データソース」セクションで「作成」をクリックし、次のパラメータを使用してデータソースを作成します。
アプリケーション: デフォルト
データソース・タイプ: 管理データソース
「続行」をクリックします。
次のパラメータに、指定された値を入力(または指定された値に変更)します。
名前: xlXAReportingDS
JNDIロケーション: jdbc/xlXAReportingDS
トランザクション・レベル: Global & Local transaction
接続プール: xlXAReportingConnectionPool
「終了」をクリックします。
oc4j.profile
ファイルを開き、OIM_HOME
/Profiles/
ディレクトリの新しいデータソースを指すJNDI情報を追加します。次のように、既存のxlXADS
のデータソース・エントリをコメント化してxlXAReportingDS
の情報を追加します。
# Reporting data source #datasource.report=jdbc/xlXADS datasource.report=jdbc/xlXAReportingDS
Oracle Identity Managerがインストールされているオペレーティング・システムに応じて、次のいずれかのスクリプトを実行します。
UNIXの場合:
patch_oc4j.sh
oc4j_admin_password
oim_db_user_password
Microsoft Windowsの場合:
patch_oc4j.cmd
oc4j_admin_password
oim_db_user_password
Oracle Application Serverを再起動します。
Oracle Application Server用にクラスタを構成するには、次のようにします。
Oracle Application ServerをOracle Identity ManagerがインストールされているすべてのOracle Application Serverインスタンスのセカンダリ・データソースとともに構成するための手順のうち、手順2〜13を実行します。
クラスタに参加しているすべてのクラスタ・メンバーで、OIM_HOME
/profiles/oc4j.profile
ファイルを変更します。
クラスタに参加しているすべてのクラスタ・メンバーで、Oracle Identity Managerがインストールされているオペレーティング・システムに応じて、patch_oc4j.sh
またはpatch_oc4j.cmd
を実行します。
すべてのクラスタ・メンバーを停止して、再起動します。