ヘッダーをスキップ
Oracle® Oracle Fusion Middlewareパフォーマンスおよびチューニング・ガイド
11gリリース2(11.1.2.2.0)
B71702-05
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

26 Oracle Identity Managerのパフォーマンス・チューニング

この章では、Oracle Identity Manager (OIM)に固有のチューニングおよびサイズ設定のガイドラインを示します。内容は次のとおりです。


注意:

エンタープライズ・クラスのどのようなビジネス・アプリケーションにおいても、すべてのシステムに通用するような単純なチューニング方法はありません。この章のチューニングに関する項では、構成のサンプルを(場合によっては)示し、Oracle Identity Managerのチューニングの原則の概要について説明します。各自のユースケース・シナリオを検討し、適切な設定を判断してください。


26.1 Oracle Identity Managerについて

Oracle Identity Manager (OIM)を使用すると、エンタープライズおよびエクストラネット・アプリケーションにわたり、アイデンティティおよびユーザー・プロビジョニング・イベントが集中管理され、完全に自動化されるため、運用効率およびビジネス効率が向上します。

Oracle Identity Managerの使用の詳細は、『Oracle Fusion Middleware Oracle Identity Manager管理者ガイド』を参照してください。

26.2 Oracle Identity Managerのパフォーマンスの監視

Oracle Identity Managerデータベースのリアルタイム・パフォーマンス・メトリックを監視すると、パフォーマンス・ボトルネックを特定できます。Oracle Fusion Middlewareコンポーネントの監視方法の詳細は、第4章「Oracle Fusion Middlewareの監視」を参照してください。

Oracle Identity Managerでは、次の作業を定期的に行うことをお薦めします。

26.3 チューニングに関する基本的な考慮事項

Oracle Identity Managerの使用状況およびパフォーマンスの問題に応じて、次の基本的なパラメータのチューニングを検討してください。チューニングに関するその他の考慮事項については、第2章「主なパフォーマンス分野」を参照してください。

26.3.1 アプリケーション・キャッシュのチューニングと管理

Oracle Identity Managerではメタデータのキャッシングが可能で、これによってDBアクティビティを減らすことができます。結果としてネットワーク負荷が軽減され、パフォーマンスが向上します。

開発環境でアプリケーション・サーバーを再起動しなくても構成の変更がすぐに反映されるように、デフォルトでは大多数の構成のキャッシングは無効です(falseに設定されています)。

次の各項では、Oracle Identity Managerをチューニングするための推奨キャッシュ値をいくつか示します。

26.3.1.1 Oracle Identity Managerキャッシュのチューニング

キャッシュは、Oracle Identity Managerが構成を格納するMDSにある/db/oim-config.xml構成ファイルで構成されます。Oracle Enterprise Manager (EM)を使用してキャッシュを有効にしたり、oim-config.xmlをエクスポートして変更を行ってからインポートして戻してキャッシュを有効にできます。

本番環境でより高い最適なパフォーマンスが得られるように、次の設定をお薦めします。EMを使用して、システムMBean「アプリケーション定義のMBeans」oracle.iamserver:oim_server1Application: oimXMLConfigConfigXMLConfig.CacheConfigCacheXMLConfig.CacheConfig.CacheCategoryConfigに移動して、次の操作を実行します。

  • 次の2つのセクションを除くすべてのコンポーネントのキャッシングをtrueに設定します。

    threadLocalCacheEnabled="false"
    "StoredProcAPI" enabled="false"
    
  • クラスタ化されていないインストールでは、clustered="false"を設定します。クラスタ化されているインストールでは、clustered="true"を設定します。


注意:

変更したこの値は、Oracle Identity Managerサーバーによって使用されるMDSデータベース・スキーマに保存されます。したがって、マルチノード・インストールまたはクラスタ化されたインストールでは、1回のみ変更してください。


キャッシュ・カテゴリUser_Org_Membership_And_ChainおよびObjectDefinitionの有効化

Oracle Identity Managerバージョンに基づいて、表26-1「キャッシュ・カテゴリを有効化する手順」の説明に従ってキャッシュ・カテゴリを有効化することをお薦めします。Oracle Identity Managerバージョンが次の表の「適用可能なリリース」列で指定されたバージョンと同じでない場合、これらを有効にする必要はないので注意してください。

表26-1 キャッシュ・カテゴリを有効化する手順

キャッシュ・カテゴリ名 適用可能なリリース 手順

User_Org_Membership_And_Chain

Oracle Identity Manager 11gリリース2 (11.1.2.1.0)

Oracle Enterprise Manager (EM)を使用するか、oim-config.xml構成ファイルを編集して、このキャッシュ・カテゴリを有効化できます。これを行うには、次の手順を実行します。

EMの使用

  1. EMにログインします。

  2. oracle.iamの下にあるmbean XMLConfig.CacheConfigに移動し、trueに設定されていない場合は属性Enabledの値をtrueに設定します。Mbeanのオブジェクト名はoracle.iam:name=Cache,type=XMLConfig.CacheConfig,XMLConfig=Config,Application=oim,ApplicationVersion=11.1.2.0.0です。

  3. 次のパラメータとともにmbeanのcreateCacheCategoryConfig操作を使用して、新しいキャッシュ・カテゴリを作成します。

    enabled=true

    expirationTime=3600

    name=User_Org_Membership_And_Chain

oim-config.xmlファイルの使用

  1. $OIM_HOME/binに移動します。

  2. 環境変数OIM_ORACLE_HOMEを適宜設定します。

  3. weblogic.propertiesファイルを開き、メタデータ・ファイルをエクスポートするために次のプロパティを設定します。

    wls_servername=oim_server1
    application_name=OIMAppMetadata
    metadata_to_loc=<TMP_DIRECTORY>
    metadata_files=/db/oim-config.xml
    
  4. 次のコマンド・スクリプトを実行して、/db/oim-config.xmlメタデータ・ファイルをエクスポートします。

    ./weblogicExportMetadata.sh

    入力を要求されたら、WebLogic資格証明およびJNDI URLを入力します。

  5. $TMP_DIRECTORY/db/oim-config.xmlファイルを開き、cacheCategoriesConfigタグに次の内容を追加します。

    <cacheCategoryConfig enabled="true" expirationTime="14400"
    name="User_Org_Membership_And_Chain"/>
    
  6. weblogic.propertiesファイルを開き、変更されたメタデータ・ファイルをインポートするために次のプロパティを設定します。

    wls_servername=oim_server1
    application_name=OIMAppMetadata
    metadata_from_loc=<TMP_DIRECTORY>
    
  7. 次のコマンドを実行して、変更された/db/oim-config.xmlメタデータ・ファイルをMDSにインポートします。

    ./weblogicImportMetadata.sh

    入力を要求されたら、WebLogic資格証明およびJNDI URLを入力します。

ObjectDefinition

Oracle Identity Manager 11gリリース2 (11.1.2.0.0)

Oracle Enterprise Manager (EM)を使用して、このキャッシュ・カテゴリを有効化できます。これを行うには、次の手順を完了します。

  1. EMにログインします。

  2. oracle.iamの下にあるmbean XMLConfig.CacheConfigに移動し、キャッシュ・カテゴリObjectDefinitionの属性Enabledの値をtrueに設定します。



注意:

Enterprise Managerを使用した構成変更の詳細、およびこのファイルに変更を加える方法の詳細は、『Oracle Fusion Middleware Oracle Identity Manager管理者ガイド』のEnterprise Managerを使用したOracle Identity Managerの構成の管理に関する項を参照してください。


26.3.1.2 キャッシュのパージ

キャッシュをパージするには、OIM_HOME/server/bin/ディレクトリでPurgeCacheユーティリティを使用します。このユーティリティはキャッシュ内のすべての要素をパージします。


注意:

  • キャッシュのパージは、キャッシングが有効でシステム構成を変更した場合に行う必要があります。キャッシングが無効な場合には不要です。

  • PurgeCacheユーティリティを実行する前に、OIM_HOME/server/bin/ディレクトリに移動します。


PurgeCacheユーティリティを実行する前に、DOMAIN_HOME/bin/setDomainEnv.shスクリプトを実行する必要があります。

PurgeCacheユーティリティを使用するには、Microsoft WindowsではPurgeCache.bat CATEGORY_NAME、UNIXではPurgeCache.sh CATEGORY_NAMEを実行します。CATEGORY_NAME引数は、消去するカテゴリの名前を表します。たとえば、次のコマンドはすべてのFormDefinitionエントリをシステムとそのクラスタからパージします。

PurgeCache.bat FormDefinition
PurgeCache.sh FormDefinition 

すべてのOracle Identity Managerカテゴリをパージするには、PurgeCacheユーティリティにAllの値を渡します。カテゴリはすべて消去することをお薦めします。


注意:

適切に実行するには、wlfullclient.jarファイルをPurgeCacheユーティリティのクラスパスに置く必要があります。


26.3.2 Oracle Identity Managerに対するアプリケーション・サーバーのチューニング

この項では、Oracle Identity Manager用にOracle WebLogic Serverをチューニングしてパフォーマンスを向上させる方法を説明します。Oracle WebLogic Serverのパフォーマンス・チューニングの詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverパフォーマンスおよびチューニング』を参照してください。


注意:

  • この項では、すべてのチューニング・パラメータの推奨および値を参考のみの目的で示しています。必要性、アプリケーションの使用パターン、負荷およびハードウェア仕様に基づいて、値を変更してください。

  • いずれかの設定を変更した場合、サーバーを再起動する必要があります。


26.3.2.1 Oracle Identity Managerに対するJVMメモリー設定のチューニング

第2章「Java仮想マシン(JVM)のチューニング」で説明した設定に加えて、これらの設定を使用してください。

表26-2のように、本番環境のヒープ・メモリーとpermgenメモリーを増やして、メモリーの使用パターンを監視することをお薦めします。使用状況に基づいて、これらのメモリー設定は増減できます。

表26-2 JVMメモリー設定をチューニングするために設定するJVMパラメータ

JVMパラメータ HotSpot JVM JRockit JVM

Min. Heap Size (Xms)

4GB

4GB

Max Heap Size (Xmx)

4GB

4GB

PermSize (-XX:PermSize

500m

N/A

PermGen size (-XX:MaxPermSize)

1GB

N/A


JVMメモリー設定を変更するには:

  1. OIMリリース11.1.2.1.0以上の場合は、DOMAIN_HOME/bin/setOIMDomainEnv.sh (Unix)を使用するか、OIMDomainEnv.cmd (Windows)を設定します。そうでない場合は、DOMAIN_HOME/bin/setSOADomainEnv.sh (Unix)またはsetSOADomainEnv.cmd (Windows)を引き続き使用して、ヒープ・サイズ設定を変更します。

  2. DEFAULT_MEM_ARGSおよびPORT_MEM_ARGSをデフォルト値から変更して保存します。

  3. OIMサーバーを再起動します。


注意:

クラスタ化されたインストールまたはマルチノード・インストールでは、前述の手順をすべてのインストール場所に対して繰り返してください。


26.3.2.2 Oracle Identity Managerに対するJDBC接続プールのチューニング

Oracle Identity Managerは、Oracle WebLogic ServerにデプロイされたoimOperationsDBおよびoimJMSStoreDSデータソースを使用します。最大接続は、デフォルトで50に設定されています。この値を必要に応じて増やす必要があります。JDBC接続プールの容量を増やすには、次の手順を実行します。

  1. WebLogic Server管理コンソールを開きます。

  2. JDBCデータソースxlXADSの場合:

    1. 「サービス」「JDBC」→「データ・ソース」「oimOperationsDB」の順にクリックし、「接続プール」タブをクリックします。

    2. 必要に応じて、初期容量と最大容量を調整します。

    3. 「非アクティブ接続タイムアウト」パラメータを30に設定します。

    JDBCデータソースxlDSの場合:

    1. 「サービス」「JDBC」「データ・ソース」「oimJMSStoreDS」の順にクリックし、「接続プール」タブをクリックします。

    2. 必要に応じて、初期容量と最大容量を調整します。

    3. 「非アクティブ接続タイムアウト」パラメータを30に設定します。

  3. 変更を保存してアクティブ化します。


    注意:

    アプリケーション・サーバーの接続プールでの接続数の増加は、データベース構成の変更による補正が必要です。Oracle DatabaseのMAX SESSIONS設定を増やす必要がある場合があります。


26.3.2.3 Oracle Identity Managerに対するメッセージドリブンBean数のチューニング

Oracle Identity Managerでは、メッセージドリブンBean (MDB)を使用して、リコンシリエーション、監査、リクエストおよびアテステーションなどのすべてのオフライン・アクティビティの処理や、内部カーネル操作を行います。デフォルトでは、合計80 MDBインスタンスがリクエストを同時に処理します。ただし、これは、要件に基づいて、OIMMDBWorkManager構成を変更することで増加できます。これを行うには、次の手順を実行します。

  1. WebLogic管理コンソールにログインします。

  2. 「環境」「ワーク・マネージャ」「MaxThreadsConstraint-1」に移動します。

  3. 必要に応じてカウントを80からより大きい値に変更します。

26.3.2.4 Oracle Identity Managerに対するユーザー・インタフェース・スレッドのチューニング

Oracle Identity Managerは、デフォルトでは20のフロントエンド・スレッド構成を提供します。これらのスレッドは、フロントエンド・リクエストを処理するために使用されます。フロントエンド・スレッド構成の数を変更するには、次のようにします。

  1. WebLogic管理コンソールにログインします。

  2. 「環境」「ワーク・マネージャ」「MaxThreadsConstraint-0」に移動します。

  3. カウントの数を20から必要な数に変更します。

26.3.2.5 アダプタおよびプラグイン構成のリロードの無効化

デフォルトでは、アダプタとプラグイン構成のリロードは、開発を容易にするために有効化されています。これらは本番環境では無効化する必要があります。これを行うには、次の手順を実行します。

  1. 『Oracle Fusion Middleware Oracle Identity Manager管理者ガイド』の構成ファイルのエクスポートおよびインポートに関する項の説明に従って、MDSから/db/oim-config.xmlファイルをエクスポートします。

  2. oim-config.xmlファイルで、次のコードを置換します。

    <ADPClassLoaderConfig adapterReloadingEnabled="true" loadingStyle="ParentFirst" reloadInterval="15" reloadingEnabled="true">
    

    これを次のテキストに置き換えます。

    <ADPClassLoaderConfig adapterReloadingEnabled="false" loadingStyle="ParentFirst" reloadInterval="15" reloadingEnabled="false">
    
  3. 次のテキストを探します。

    <storeConfig reloadingEnabled="true" reloadingInterval="20"/>
    

    これを次のテキストに置き換えます。

    <storeConfig reloadingEnabled="false" reloadingInterval="20"/>
    
  4. oim-config.xmlファイルを保存して、MDSにインポートして戻します。

26.3.2.6 UNIX用のオープン・ファイル記述子数の変更(オプション)

WebLogicでは、WEBLOGIC_HOME/common/bin/commEnv.shスクリプトでオープン・ファイル記述子の数が1024に制限されています。WebLogicでは同時ユーザー数が多い場合、「TOO MANY OPEN FILES」例外がスローされることがあります。このエラーが発生した場合、スクリプト内の制限値を1024よりも大きい値にすることを検討します。オペレーティング・システムが増加したオープン・ファイル数を処理できることを確認してください。

26.3.2.7 Solaris Sparc T3またはT4に対するJVMガベージ・コレクションのチューニング

Solaris Sparc T3またはT4でJVMガベージ・コレクションをチューニングするには、次の手順を実行します。

  1. テキスト・エディタで、DOMAIN_HOME/bin/ディレクトリにあるsetSOADomainEnv.shまたはsetSOADomainEnv.cmdファイルを開きます。

  2. USER_MEM_ARGSの値を次のように設定します。


    注意:

    USER_MEM_ARGSの値は例として示しています。この値は必要に応じて変更できます。


    USER_MEM_ARGS="-Xms3048m -Xmx3048m -Xmn1648m -Xss256k -XX:PermSize=384m -XX:MaxPermSize=384m"
    
  3. JAVA_OPTIONSの値を次のように設定します。


    注意:

    JAVA_OPTIONSの値は例として示しています。この値は必要に応じて変更できます。


    JAVA_OPTIONS="-Xnoclassgc -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90
     -XX:PermSize=350m -XX:MaxPermSize=350m -XX:+AggressiveOpts
     -XX:+UseParallelOldGC -XX:ParallelGCThreads=8 -XX:+PrintGCDetails
     -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps  -XX:ReservedCodeCacheSize=64m
     -XX:CICompilerCount=8 -XX:+AlwaysPreTouch -XX:+PrintReferenceGC
     -XX:+ParallelRefProcEnabled -XX:-UseAdaptiveSizePolicy
     -XX:+PrintAdaptiveSizePolicy -XX:+DisableExplicitGC"
    
  4. ファイルを保存して閉じます。

26.3.3 Oracle Identity Managerに対するデータベース・パラメータのチューニング

この項では、構成のサンプルを1つ示し、Oracle Identity Managerに対するOracle Databaseのチューニングに関する原則の概要を説明します。データベースのチューニングに関する一般的な情報については、「データベース・パラメータのチューニング」を参照してください。

Oracle Identity Managerには、多数の構成オプションがあります。ボトルネックを特定し、パフォーマンスを最適化する最善の方法は、本番環境のキーとなるデータベース・パフォーマンスを監視し、必要に応じて構成を調整していくことです。「Oracle Identity Managerのパフォーマンスの監視」で説明した監視タスクを確認した後、この項のガイドラインを使用して、初期のベースライン・データベース構成を選択できます。


注意:

Oracle Identity Managerを使用する場合、ベースライン・データベース・チューニング・パラメータを維持することは重要です。Oracle Databaseインスタンス・パラメータの設定の詳細は、Oracle Databaseパフォーマンス・チューニング・ガイド11gリリース1 (11.1)を参照してください。


26.3.3.1 インスタンス構成パラメータのサンプル

表26-3に、パフォーマンスに関連するいくつかの重要なデータベース初期化パラメータに関する情報を示します。

SGA、PGAサイズは、一部のプラットフォームでは、基礎となるオペレーティング・システムの使用可能な最大メモリーの制限によって制限されます。サポート・ノート: Oracle Databaseサーバーとオペレーティング・システムのメモリー制限[ID 269495.1]を参照してください。


注意:

表26-3に示すデータベース・インスタンス・パラメータに対しては、Oracle Databaseのリリースに基づいて、次のいずれかのメモリー管理アプローチを使用できます。

  • Oracle Database 11gで使用できる自動メモリー管理機能を使用し、MEMORY_TARGETおよびMEMORY_MAX_TARGETパラメータを使用してSGAとPGAを一緒に管理できます。

  • Oracle Database 10g以降で使用できる自動共有メモリー管理(ASMM)を使用し、SGA_TARGETおよびSGA_MAX_SIZEパラメータを指定してSGAコンポーネントを管理できます。PGAは、PGA_AGGREGATE_TARGETを通じて個別に管理されます。

次の接続プール要件および外部プログラムに対する追加接続に対応するように、プロセス・パラメータを設定する必要があります。

  • アプリケーション・サーバーで構成されたXAデータ・ソースの接続プール・サイズ

  • アプリケーション・サーバーで構成された非XAデータ・ソースの接続プール・サイズ

  • xlconfig.xmlで構成されたダイレクト・データベース接続プール・サイズ


表26-3 構成パラメータのサンプル

パラメータ Oracle Database 11gの推奨初期設定

memory_target

Oracle Database 11gの自動メモリー管理機能を使用して、MEMORY_TARGETおよびMEMORY_MAX_TARGETパラメータでSGAとPGAを一緒に管理できます。

IDMのすべてのリリースのメモリー設定は次のとおりです。

SGA_target - 4G
PGA_AGGREGATE_TARGET - 2G

MEMORY_TARGETMEMORY_MAX_TARGETは、11g以降で設定解除できます。

MEMORY_TARGETをデータベース・メモリー・コンポーネントの管理用にする場合は、SGA_TARGETPGA_AGGREGATE_TARGETは割り当てないでおく(0にする)ことができます。

db_keep_cache_size

800M

cursor_sharing

FORCE

open_cursors

800

session_cached_cursors

800

query_rewrite_integrity

TRUSTED

query_rewrite_enabled

TRUE

processes

接続プール設定に基づく

MAX_DISPATCHERS

0

MAX_SHARED_SERVERS

0

DISK_ASYNCH_IO

True


26.3.3.2 物理データの配置

Oracle Identity Managerの基本インストールでは、OIMデータベース・オブジェクトを格納するために次の3つの物理表領域を使用します。

  • データ表領域: 表のデータ、索引およびその他のオブジェクトを格納します。

  • LOB表領域: OIMオーケストレーションのLOBデータを格納します。

  • アーカイブ表領域: リアルタイム・パージ機能に対応するOIMエンティティのOOTBアーカイブ表を格納します。


ヒント:

使用ディスク領域を最小限にするために、次のようにすることをお薦めします。

デプロイメントの最初の起動フェーズでは、Oracle Identity Managerの表領域は、Oracle Identity Managerにリコンサイルされる10万ユーザーごとに20Gの割合で増加すると予測されます。同じユーザーに対して、LOB表領域はOracle Identity Managerの主要な表領域のサイズの約30%増加します。Oracle Identity Managerでの編成の使用はLOB表領域の増加に影響するため、広範囲に編成が使用されるというシナリオでは、これに応じて、LOB表領域は主要な表領域の60% - 100%の割合で増加する可能性があります。

ディスク領域を効率的に管理するために、データベース管理者は、実際のシステムで正確な増加率をモニタリングする必要があります。


パフォーマンスを向上させるため、ローカルで管理する複数の表領域を作成し、各カテゴリのデータベース・オブジェクトを専用の表領域に格納してください。ストレージを最適化することは、効率的なデータ・アクセスに役立ちます。次の項では、頻繁にアクセスが行われ増大する可能性がある表について説明します。これらの表を独自の専用表領域に配置することをお薦めします。

一般的なOracle Identity Managerデプロイメントでは、通常、次の項で説明されている表は増大し、頻繁にアクセスが行われます。また、パフォーマンス・メトリックを使用して、頻繁にアクセスする表(ホット表)を特定できます。I/O競合を削減するため、ホット表を専用の表領域に移動します。


注意:

Oracle Identity Managerは、リアルタイム・オンライン・モードとコマンド行モードの両方でアーカイブおよびパージ・ソリューションを提供し、増加するデータをこれらの表の大部分に格納します。詳細は、「アーカイブおよびパージ・ユーティリティを使用したデータ増加の制御」のアーカイブ・ユーティリティの使用に関する説明を参照してください。


26.3.3.2.1 タスクの表

Oracle Identity Managerでは、プロビジョニングおよび承認タスクの詳細が次の表に格納されます。これらは、時間の経過とともに増大する可能性が高い表です。これらを1つ以上の専用表領域にグループ化することをお薦めします。

  • OSI

  • OSH

  • SCH

26.3.3.2.2 リコンシリエーション表

Oracle Identity Managerのリコンシリエーション・スキーマには、静的表と動的表の両方があります。静的表のリストを次に示します。動的表は、RECON_TABLES表のRECON_TABLE_NAME列を問い合せることで識別できます。

  • RECON_ACCOUNT_OLDSTATE

  • RECON_BATCHES

  • RECON_CHILD_MATCH

  • RECON_EVENTS

  • RECON_EVENT_ASSIGNMENT

  • RECON_EXCEPTIONS

  • RECON_HISTORY

  • RECON_JOBS

  • RECON_TABLES

  • RECON_UGP_OLDSTATE

  • RECON_USER_OLDSTATE

  • RECON_ACCOUNT_MATCH

  • RECON_ORG_MATCH

  • RECON_ROLE_HIERARCHY_MATCH

  • RECON_ROLE_MATCH

  • RECON_ROLE_MEMBER_MATCH

  • RECON_USER_MATCH

  • RA_LDAPUSER

  • RA_MLS_LDAPUSER

  • RA_LDAPROLE

  • RA_MLS_LDAPROLE

  • RA_LDAPROLEMEMBERSHIP

  • RA_LDAPROLEHIERARCHY

使用する環境で大量のリコンシリエーション・データが生成される場合は、これらの表を1つ以上の専用表領域に移動してください。

26.3.3.2.3 監査表

Oracle Identity Managerでは、監査レベル設定に基づいてトランザクションが監査されます。ほとんどの監査レベルで、データが大幅に増大する可能性があります。監査表を独自の表領域に格納することをお薦めします。Oracle Identity Managerの監査表には、2つのカテゴリがあります。XML形式で監査データを格納する表を次に示します。このリストで、特にUPA表が増大することが予想されるため、これを専用の表領域に配置することが重要です。

  • UPA

  • GPA

ユーザー・プロファイル監査データは、次のフラット構造の表に格納されます。これらの表は、コンプライアンス・レポート作成のために、Oracle Identity Manager履歴レポートで使用されます。これらの表およびその索引を、専用の表領域に格納することをお薦めします。

  • UPA_FIELDS

  • UPA_GRP_MEMBERSHIP

  • UPA_RESOURCE

  • UPA_USR

  • UPA_UD_FORMS

  • UPA_UD_FORMFIELDS

アーカイブ・ユーティリティを使用すると、大幅に増加する表を管理できます。詳細は、Oracle Fusion Middleware Oracle Identity Managerシステム管理者ガイドアーカイブ・ユーティリティの使用に関する項を参照してください。

26.3.3.2.4 REDOログ・ファイル

Oracle Identity Managerで構成されたリコンシリエーション・プロセスによっては、リコンシリエーション実行中のデータベース・トランザクションおよびコミットの量が多くなる場合があります。複数のREDOログ・ファイルを使用することをお薦めします。REDOログ・ファイルに割り当てる総領域は、1 - 2GBにする必要があります。

それぞれの最小サイズが500MBの、REDOログ・メンバーを持つ3つ以上のREDOログ・グループを使用することをお薦めします。メンバーの多重化と正確な数および各メンバーのディスク領域は、障害に対する計画に従って検討できます。

26.3.3.2.5 プール保存の変更

Oracle Identity Managerのデフォルトでは、頻繁に参照される小さい表は、プール保存バッファを使用してデータベースにキャッシュされるように割り当てられます。表26-3のdb_keep_cache_sizeを参照してください。使用するインストールのユーザーが50,000より多い場合、プール保存バッファではなく、USRおよびPCQ表にデフォルトのバッファを使用することをお薦めします。次のコマンドを使用して、デフォルトのバッファ・プールにこれらの表を格納できます。

ALTER TABLE USR STORAGE(buffer_pool default);
ALTER TABLE PCQ STORAGE(buffer_pool default);

26.3.4 Oracle Internet Directoryのチューニング

Oracle Identity Managerが最適なレベルで実行されるようにするには、第23章「Oracle Internet Directoryのパフォーマンス・チューニング」の説明に従って、Oracle Internet Directoryをチューニングすることが重要です。

26.3.5 ユーザー・インタフェースに対するアプリケーション・モジュール(AM)のチューニング

アプリケーション・モジュールのチューニングは、UIパフォーマンスに影響を与える重要な設定です。Oracle Identity Managerの推奨アプリケーション・モジュール設定がsetDomainEnv.shファイルに設定されていることを確認する必要があります。これらの設定は、Oracle Identity Manager 11gリリース2 (11.1.2)以上のリリースでは初期状態(OOB)ですでに設定されています。Oracle Identity Managerの推奨アプリケーション・モジュール設定を追加するには、次の操作を実行します。

  1. テキスト・エディタで$DOMAIN_HOME/bin/setDomainEnv.shファイルを開きます。

  2. setDomainEnv.shファイルで、次の行を見つけます。

    JAVA_OPTIONS="${JAVA_OPTIONS}"
    export JAVA_OPTIONS
    
  3. 最初の行を次のように変更します。

    JAVA_OPTIONS="-Djbo.ampool.doampooling=true -Djbo.ampool.minavailablesize=1 
    -Djbo.ampool.maxavailablesize=120 -Djbo.recyclethreshold=60 
    -Djbo.ampool.timetolive=-1 -Djbo.load.components.lazily=true 
    -Djbo.doconnectionpooling=true -Djbo.txn.disconnect_level=1 
    -Djbo.connectfailover=false -Djbo.max.cursors=5 
    -Doracle.jdbc.implicitStatementCacheSize=5 
    -Doracle.jdbc.maxCachedBufferSize=19 ${JAVA_OPTIONS}"
    

    注意:

    これらの推奨設定は、ノードごとに100の同時ユーザーを想定しています。同時ユーザーの数が異なる場合、次の式を使用して、Djbo.ampool.maxavailablesizeを変更します。

    Djbo.ampool.maxavailablesize = # of concurrent users + 20%


  4. setDomainEnv.shファイルを保存します。

  5. WebLogic管理サーバーおよびOracle Identity Manager管理対象サーバーを再起動します。

AMプールのチューニングの詳細は、『Oracle Fusion Middlewareパフォーマンスおよびチューニング・ガイド』の第8.3.5項「アプリケーション・モジュール・プーリング」を参照してください。

26.4 チューニングに関する高度な考慮事項

この項では、使用環境に適用できる可能性がある、チューニングに関する高度な推奨事項について説明します。次の推奨事項を確認し、それらの変更によってOracle Identity Managerのパフォーマンスが向上するかどうかを判断してください。

26.4.1 リコンシリエーション・チューニング

3つの個別のプロセス・ステージまたは機能モジュールがエンドツーエンドのリコンシリエーション・フローの実行中に適用されます。個別に最適化して相互に関連してパフォーマンスの最適化を実現できる必要がある3つの機能モジュールまたはステージは次のとおりです。

  • ターゲット・システムおよびコネクタ

    コネクタは、ターゲット・システムからデータをフェッチし、リコンシリエーションのイベント作成APIを起動してOIMデータベース・スキーマのリコンシリエーション・ステージング表のイベントおよびイベント・データを作成します。

  • OIMリコンシリエーション・エンジン

    OIMリコンシリエーション・エンジンは、ステージング表からデータを抽出し、OIMにリコンサイルします。プロセスには、ルールに基づく検証、データの照合およびアクションの実行が含まれます。エンジンは、データベースのバルク収集メカニズムを使用して、前述のすべての処理を一括で実行します。

  • リコンシリエーションのOracle Identity Managerの後処理

    リコンシリエーション・エンジンがターゲットからの受信データの処理を完了した後に後処理ステージが開始されます。このステージの実行中に、OIMカーネル編成がトリガーされ、ポリシー、ロールの割当て、リソース・プロビジョニング、監査処理などに従ってデフォルトのパスワード生成のような機能を実行するためにイベント・ハンドラが実行されます。

このセクションでは、次のトピックについて説明します。

26.4.1.1 ターゲット・システムおよびコネクタ・チューニング

この項では、ターゲット・システムおよびOracle Identity Managerコネクタに適用する必要があるチューニングについて説明します。

Oracle Internet Directory

リコンシリエーションの実行中に、ターゲット・システム・レコードのすべての変更内容がOracle Identity Managerにリコンサイルされます。リコンサイルされるレコード数によっては、このプロセスに長い時間がかかる場合があります。また、リコンシリエーション中に接続が中断すると、プロセスの完了にはさらに時間がかかります。パフォーマンスを最適化するために「ページングされたリコンシリエーション」を構成することをお薦めします。

ページングされたリコンシリエーションを構成するには、ユーザー・リコンシリエーションのスケジュール済タスクのPageSize属性に値を指定する必要があります。PageSizeのデフォルト値100は、ほとんどのシナリオに適しています。


注意:

OID LDAPサーバー(この場合はターゲット・システム) v10.1.4以上のバージョンは、ページングされたリコンシリエーション関連のLDAP操作をサポートします。


SAP

リコンシリエーション・バッチ・サイズ100を使用することをお薦めします。

Active Directory (11.1.1.5.0および11.1.1.6.0コネクタ)

  • パフォーマンス向上パッチ

    • Active Directory 11.1.1.5.0を使用している場合、パッチ# 15916848が適用されていることを確認してください。パッチはMy Oracle Supportからダウンロードできます。パッチ適用手順は、パッチに付属しているReadmeを参照してください。

    • Active Directory 11.1.1.6.0を使用している場合、My Oracle Supportからパッチ# 15916848をダウンロードしてください。デプロイメント・マネージャを使用して、パッチの一部として用意されているReconAttributeMap.xmlのみインポートします。11.1.1.6.0バージョン自体で更新されるため、パッチで用意されているActiveDirectory.Connector.dllを無視できます。パッチ適用手順は、パッチに付属しているReadmeを参照してください。

  • イベントの無視APIをスキップするリコンシリエーション・エンジンの構成

    デフォルト動作は、コネクタによって戻されるユーザー・レコードごとにリコンシリエーション・イベントを作成するか無視するかを最初に確認します。このプロセスには、OIMデータベースに格納されている値に対してコネクタから受信するユーザーのすべての属性の値を比較することが含まれています。これを無視するには、参照定義Lookup.Configuration.ActiveDirectoryを開き、次のエントリを追加します。

    • コード・キー:Ignore Event Disabled

    • デコード:true


    注意:

    前述の変更を行う前にイベントの無視APIコールを無効にする長所と短所を評価する必要があります。


  • バッチ処理

    バッチ処理がADコネクタで使用される場合、結果セットをソートする必要があります。したがって、リコンサイルされるレコード数を10000未満にする場合にバッチ処理を使用できます。推奨バッチ・サイズは500です。

  • ページング

    • リコンサイルされるレコードの数が10000を超える場合、Lookup.Configuration.ActiveDirectoryおよびLookup.Configuration.ActiveDirectory.Trustedに存在するPage Size Configurationプロパティを使用します。

    • ページングを使用するよう構成する場合、スケジュール済タスク・パラメータBatch SizeBatch StartNumber of BatchesSort ByおよびSort Directionに値が指定されていないことを確認する必要があります。

    • ページングによって、問合せの結果セット全体が小さなサブセット(ページ)に分割されます。通常、単純な検索ではこの値を最大ページ・サイズに設定することをお薦めします。ページ・サイズを最大値に設定することで、各ページを取得するためにネットワーク上で往復する回数を最小限に抑えることができます。これによって、単純な検索の場合に操作のコストが高くなる傾向があります。PageSizeをターゲット・システムのMaxPageSizeよりも大きな値に指定する場合、Active Directoryサーバーによって無視され、かわりにMaxPageSizeが使用されます。この場合、例外は生成されません。場合によっては、タイムアウトやサーバーの過負荷を回避するために小さいページ・サイズを指定する必要があります。問合せによってはコストが非常に高くなります。したがって、1ページの結果数を制限してこれを避けることができます。Active Directoryコネクタの場合、最適なパフォーマンスにはデフォルト値1000を使用します。

  • フィルタ

    特定のセットのレコードがターゲットから取得される場合、Filtersを使用してSearch Baseの値を指定することをお薦めします。スケジュール済タスクで指定されたフィルタは、LDAP問合せに変換されます。フィルタにより、検索を絞り込み、データの検索および処理をより迅速に実行できます。フィルタの詳細は、Active Directoryコネクタ・ドキュメントを参照してください。

  • フォレスト・トポロジのリコンシリエーションの場合、完全なフォレストからデータをリコンサイルするためにコネクタを使用できます(グローバル・カタログ・サーバー経由)。または、特定のドメインまたはドメイン・コントローラからデータをリコンサイルするためにコネクタを使用できます。検索ベースとともに最初のオプションを使用するかわりに特定のデータ・センターからデータをリコンサイルするたびに2番目のアプローチを使用することをお薦めします。

    例:

    DC1、DC2、...DC10といったActive Directoryフォレストの10個のデータ・センターがあると想定します。DC2に存在する組織(tempOrg)からデータをリコンサイルするには、次のアプローチのいずれかを使用します。

    1. グローバル・カタログを使用して、検索ベースに組織のDNを指定します。

    2. DC2を使用して、検索ベースに組織のDNを指定します。

    パフォーマンスを向上するために2番目のアプローチを使用することをお薦めします。

26.4.1.2 リコンシリエーション一致ルールのデータベース索引

リコンシリエーションでは、照合アルゴリズムを使用して、変更がリクエストされたユーザー、アカウント、ロールまたは組織がOIMにすでに存在するかどうかが検索されます。照合アルゴリズムでは、OIMの一連の列のデータとターゲット・ステージング表の列のデータが比較されます。一致ルールを含む列がリコンシリエーション・プロファイルに定義され、実行時に定義されます。照合操作のパフォーマンスを改善するためには、照合ルールの列に正しい索引が作成されている必要があります。

適切な索引を識別する推奨方法を示すために、メタデータ・ストア(MDS)リポジトリに存在するサンプルActive Directory (AD)ユーザー・プロファイルを例として取り上げます。この例では、次について説明します。


注意:

OIM 11gリリース2 (11.1.2.1.0)以上では、可能な場合に索引が自動的に作成されます。次の手順に従ってリコンシリエーション一致ルールに必要なすべての索引を導入することをお薦めします。


信頼できるソース・リコンシリエーションに対する索引の選択

信頼できるソース・リコンシリエーションの一致ルール基準に基づいて索引を選択するには、次の手順を実行する必要があります。

  1. テキスト・エディタでActive Directoryユーザー・プロファイル・ファイルを開きます。診断ダッシュボードに存在するValidate Recon Profileテストを使用するか、EMに存在するValidate Recon Profile MBeanを使用して、Active Directoryユーザー・プロファイルを開くことができます。

  2. ownerMatchingRuleWhereClauseを検索するか、すべてのエンティティのmatchingRuleを検索します。

    ownerMatchingRuleWhereClause = (((UPPER(USR.USR_LOGIN)=UPPER(RA_ADUSER7.RECON_USERID5A729570)) OR (UPPER(USR.USR_UDF_OBGUID)=UPPER(RA_ADUSER7.RECON_OBJECTGUID))))

  3. プロファイルの照合ルールを構成する列を識別した後は、それに応じて索引を作成します。

    たとえば、前述の例の照合ルールには、次の索引が必要です。

    表26-4 索引付けする表の名前および列

    表の名前 索引付けする列

    USR

    UPPER(USR_LOGIN)

    USR

    UPPER(USR.USR_UDF_OBGUID)

    RA_ADUSER7

    UPPER(RECON_USERID5A729570)

    RA_ADUSER7

    UPPER(RA_ADUSER7.RECON_OBJECTGUID)



    注意:

    • 照合ルールのUPPERSUBSTRなどの関数とともに索引を作成することが重要です。表26-4UPPERはすべての列で使用される関数です。

    • 一部の列および関数がすでに索引付けされている可能性があります。表26-4USR表にUPPER(USR_LOGIN)の関数ベースの索引がすでに使用されています。


ターゲット・ソースのリコンシリエーションに対する索引の選択

ターゲット・リソースのリコンシリエーションで照合ルール基準に基づいて索引を選択するには、次の手順を実行する必要があります。

  1. テキスト・エディタでActive Directoryユーザー・プロファイル・ファイルを開きます。診断ダッシュボードに存在するValidate Recon Profileテストを使用するか、EMに存在するValidate Recon profile MBeanを使用して、Active Directoryユーザー・プロファイルを開くことができます。

  2. アカウント検索タグ<matchingruleWhereClause>を検索します。

    <matchingruleWhereClause>((UD_ADUSER.UD_ADUSER_OBJECTGUID=RA_ADUSER7.RECON_OBJECTGUID))</matchingruleWhereClause>

  3. プロファイルの照合ルールを構成する列を識別した後は、それに応じて索引を作成します。

    たとえば、前述の例の照合ルールには、次の索引が必要です。

    表26-5 索引付けする表の名前および列

    表の名前 索引付けする列

    UD_ADUSER

    UD_ADUSER_OBJECTGUID

    RA_ADUSER7

    RECON_OBJECTGUID



    注意:

    • 照合ルールのUPPERSUBSTRなどの関数とともに索引を作成することが重要です。

    • 一部の列および関数がすでに索引付けされている可能性があります。


複数値データがあるターゲット・ソースのリコンシリエーションに対する索引の選択

複数値データがあるターゲット・リソースのリコンシリエーションで、照合ルール基準に基づいて索引を選択するには、次の手順を実行する必要があります。

  1. テキスト・エディタでActive Directoryユーザー・プロファイル・ファイルを開きます。診断ダッシュボードに存在するValidate Recon Profileテストを使用するか、EMに存在するValidate Recon profile MBeanを使用して、Active Directoryユーザー・プロファイルを開くことができます。

  2. 権限について、<childreconeventdata>の下にある<matchingruleWhereClause>タグを検索します。

    <matchingruleWhereClause>((UD_ADUSRC.UD_ADUSRC_GROUPNAME=RA_UD_ADUSRC.RECON_MEMBEROF))</matchingruleWhereClause>

  3. プロファイルの照合ルールを構成する列を識別した後は、それに応じて索引を作成します。たとえば、前述の例の照合ルールには、次の索引が必要です。

    表26-6 索引付けする表の名前および列

    表の名前 索引付けする列

    UD_ADUSRC

    UD_ADUSRC_GROUPNAME

    RA_UD_ADUSRC

    RECON_MEMBEROF



    注意:

    • 照合ルールのUPPERSUBSTRなどの関数とともに索引を作成することが重要です。

    • 一部の列および関数がすでに索引付けされている可能性があります。


26.4.1.3 リコンシリエーションのOracle Identity Managerの後処理

表26-7は、リコンシリエーションの後処理中に呼び出される一部の重要な初期状態のイベント・ハンドラを示しています。

表26-7 イベント・ハンドラおよび説明

イベント・ハンドラ 説明

AccountReconAuditHandler

アカウント/ターゲット・リコンシリエーションの変更を監査します

ReconScheduledTaskAccountHandler

アカウント/ターゲット・リコンシリエーションに関連付けられているワークフローをトリガーします

ReconScheduledTaskUserHandler

信頼されたリコンシリエーションに関連付けられているワークフローをトリガーします

ReconUserDisplayNameHandler

信頼されたリコンシリエーションのカスタム表示名を生成します

ReconUserLoginHandler

リコンシリエーション中にカスタム・ログインを生成します

ReconUserPasswordHandler

信頼されたリコンシリエーションのカスタム・パスワードを生成します

UserCreateLdapPostProcessHandler

LDAP同期が有効である場合にLDAPのユーザーを作成します

UserUpdateLdapPostProcessHandler

LDAP同期が有効である場合にLDAPのユーザーを更新します


WebLogicアプリケーション・サーバーのDMSメトリック・ページの残りの初期状態およびカスタムのイベント・ハンドラを確認できます。次のURLを使用して、DMSメトリック・ページに移動します。

http://servername:port/dms

このURLでは、portはWebLogic管理サーバー・ポートを示します。ログインするには、WebLogic管理資格証明を使用する必要があります。

DMSメトリック・ページにログインした後、OIM_EventHandlerをクリックして、イベント・ハンドラおよびその処理時間メトリックのリストを表示します。これらのメトリックを使用して、最適化する必要がある可能性があるイベント・ハンドラを識別できます。

26.4.2 LDAP同期のチューニング

Oracle Identity Managerのパフォーマンス・チューニングには、次の手順があります。

26.4.2.1 Oracle Identity Managerに対する最大接続プールの増加

Oracle Identity Managerに対する最大接続プールを増やす手順は次のとおりです。

  1. Oracle Identity System Administrationにログインします。

  2. 左ペインで、「構成」の「ITリソース」をクリックします。「ITリソースの管理」ページが新しいウィンドウに表示されます。

  3. 「ITリソース・タイプ」リストから「ディレクトリ・サーバー」を選択し、「検索」をクリックします。

  4. ディレクトリ・サーバーITリソースの「編集」をクリックします。「ITリソースの詳細およびパラメータの編集」ページが表示されます。

  5. 次の構成パラメータの値を500に変更します。

    • 初期プール・サイズ: 500

    • 最小プール・サイズ: 500

    • 最大プール・サイズ: 500

  6. 「更新」をクリックします。

26.4.2.1.1 LDAP同期のバッチ・サイズの増加

LDAP同期のバッチ・サイズを増やすには、LDAP同期のリコンシリエーションに関する、次のスケジュール済ジョブのバッチ・サイズを1000に設定します。

  • LDAPユーザー作成および更新のリコンシリエーション

  • LDAPロール作成および更新のリコンシリエーション

  • LDAPロール階層のリコンシリエーション

  • LDAPロール・メンバーシップのリコンシリエーション


注意:

LDAPのスケジュール済ジョブの詳細は、『Oracle Fusion Middleware Oracle Identity Manager管理者ガイド』のLDAPのスケジュール済タスクに関する項を参照してください。


26.4.2.1.2 OVDの構成パラメータの設定

Oracle Identity Managerで、OID用に構成されたOVDとのLDAP同期を有効にする場合、表26-8に示すOVDの構成パラメータを設定する必要があります。

表26-8 OVDの構成パラメータ

名前 パラメータ

OVD全般

リスナー - LDAPエンドポイント

50


リスナー - LDAP SSLエンドポイント

50

ユーザー・アダプタ

最大プール・サイズ

500


操作タイムアウト

1500000


最大プール待機

1000

変更ログ・アダプタ

最大プール・サイズ

500


操作タイムアウト

1500000


26.4.2.1.3 OIDの構成パラメータの設定

Oracle Identity Managerで、OVDやOIDとのLDAP同期を有効にする場合、表26-9に示すOIDの構成パラメータを設定する必要があります。

表26-9 OIDの構成パラメータ

名前 パラメータ

DBの最大接続数

orclmaxcc

10

プロセス数

orclserverprocs

2 - 4

参照プロセスをスキップ

orclskiprefinsql

1

LDAP接続タイムアウト

orclldapconntimeout

60

MatchDN処理の有効化

orclmatchdnenabled

0

エントリ・キャッシュの有効化

orclcacheenabled

0


表26-9の属性を変更するには、次の構文を使用します。

ldapmodify -h HOST_NAME -p PORT_NUMBER -D cn=orcladmin -w PASSWORD -v <<EOF
dn: cn=oid1,cn=osdldapd,cn=subconfigsubentry
26.4.2.1.4 Identity Virtualization Library (libOVD)の構成パラメータの設定

Oracle Identity Managerで、OID用に構成されたIdentity Virtualization Library (libOVD)とのLDAP同期を有効にする場合、表26-10に示すIdentity Virtualization Library (libOVD)の構成パラメータを設定する必要があります。


注意:

Identity Virtualization Library (libOVD)チューニング・パラメータの構成は、WLSTコマンドを使用して管理できます。


表26-10 Identity Virtualization Library (libOVD)の構成パラメータ

名前 パラメータ

ユーザー・アダプタ

最大プール・サイズ

500


操作タイムアウト

1500000


最大プール待機

1000

変更ログ・アダプタ

最大プール・サイズ

500


操作タイムアウト

1500000



関連項目:

Identity Virtualization Library (libOVD)でアクセス・ロギングを有効にして、Identity Virtualization Library (libOVD)を通過するすべてのリクエストとレスポンスを取得する方法の詳細は、Oracle Fusion Middleware Oracle Identity Management統合ガイドのIdentity Virtualization Library (libOVD)におけるアクセス・ロギングの有効化に関する項を参照してください。この作業を行うと、パフォーマンスに関する問題の優先順位付けに非常に役立つ場合があります。


26.4.2.1.5 WebLogic ServerおよびJDBCの構成パラメータの設定

Oracle WebLogic ServerおよびJDBCの構成パラメータの設定については、第26.3.2項「Oracle Identity Managerに対するアプリケーション・サーバーのチューニング」を参照してください。