この章では、Oracle Identity Manager (OIM)に固有のチューニングおよびサイズ設定のガイドラインを示します。この項の内容は、次のとおりです。
注意: エンタープライズ・クラスのどのようなビジネス・アプリケーションにおいても、すべてのシステムに通用するような単純なチューニング方法はありません。この章のチューニングに関する項では、構成のサンプルを(場合によっては)示し、Oracle Identity Managerのチューニングの原則の概要について説明します。各自のユースケース・シナリオを検討し、適切な設定を判断してください。 |
Oracle Identity Manager (OIM)を使用すると、エンタープライズおよびエクストラネット・アプリケーションにわたり、アイデンティティおよびユーザー・プロビジョニング・イベントが集中管理され、完全に自動化されるため、運用効率およびビジネス効率が向上します。
Oracle Identity Managerの使用の詳細は、『Oracle Fusion Middleware Oracle Identity Manager管理者ガイド』を参照してください。
Oracle Identity Managerデータベースのリアルタイム・パフォーマンス・メトリックを監視すると、パフォーマンス・ボトルネックを特定できます。Oracle Fusion Middlewareコンポーネントの監視方法の詳細は、第4章「Oracle Fusion Middlewareの監視」を参照してください。
Oracle Identity Managerでは、次の作業を定期的に行うことをお薦めします。
Oracle Database 11gのOracle Enterprise Managerコンソールや自動ワークロード・リポジトリ(AWR)などのパフォーマンス・モニタリング・ツールを使用して、リアルタイムのパフォーマンスを監視します。
注意: Oracle Enterprise Manager 11g Fusion Middleware Controlを使用して、Oracle Identity Managerを監視できます。これを行うには、次の手順を実行します。
|
Oracle Database Enterprise Manager (EM)を使用してルーチン統計とレポートを収集します。これはOracle Database (標準機能)で使用可能です。
ルーチン統計の収集
ルーチン統計の収集は、自動メンテナンス・タスクによって行われます。これはOracle Databaseの次のナビゲーション・パスで使用できます。
Oracle EM→「サーバー」タブ→「問合せオプティマイザ」→オプティマイザ統計の管理→自動メンテナンス・タスク・リンク
Oracle Database 11g EMによる統計のレポート要件
現在収集されている統計の状態をレポートするために、EMには次のナビゲーション・パスにレポート・インタフェースが用意されています。
Oracle EM→「サーバー」タブ→「問合せオプティマイザ」→オプティマイザ統計の管理→「オブジェクト統計」リンク
このインタフェースを使用して、失効、欠落またはロック状態のオブジェクトやすでに分析済のオブジェクトまで、すべてのオブジェクトをレポートできます(スキーマのオブジェクトや選択肢のオブジェクトも含みます)。
完全なスキーマ統計をOracle Identity Manager実装で収集します。
スキーマ統計を定期的に更新すると、コストベース・オプティマイザ(CBO)で最新の統計にアクセスできます。ユーザーやアカウントの一括ロード、新規コネクタのインポート、新規ターゲットからの大規模なリコンシリエーションの実行、アーカイブ・リコンシリエーションやアーカイブ・ユーティリティの使用などの大量なデータ変更イベントでは、完全なスキーマまたは表統計を考慮してください。
これによりCBOは、データの現行の状態に基づく効果的な問合せ実行計画を決定できます。次に、定期的にデータベース統計を収集するSQLコマンドのサンプルを示します。
関連項目: ルーチン統計の収集とレポートは、Oracle Database 11gで使用可能な自動メンテナンス・タスクによって実行できます。詳細は、『Oracle Database パフォーマンス・チューニング・ガイド』を参照してください。 |
DBMS_STATS.GATHER_SCHEMA_STATS(OWNNAME=> schema_owner, DEGREE=>8, OPTIONS=>'GATHER AUTO', CASCADE=>TRUE);
「自動データベース診断モニター(ADDM)」や「自動ワークロード・リポジトリ」レポートのアドバイザ・セクションにある関連推奨事項を参照し、推奨された設定に従ってインスタンス構成パラメータを調整します。これは特に、新しいコネクタをインポートして、新しいターゲット・システムからの一連のリコンシリエーションを完了した後で、一致ルールに応じた新しい索引の必要性を識別するために必要になります。
Oracle Identity Managerの使用状況およびパフォーマンスの問題に応じて、次の基本的なパラメータのチューニングを検討してください。チューニングに関するその他の考慮事項については、第2章「主なパフォーマンス分野」を参照してください。
Oracle Identity Managerではメタデータのキャッシングが可能で、これによってDBアクティビティを減らすことができます。結果としてネットワーク負荷が軽減され、パフォーマンスが向上します。
開発環境でアプリケーション・サーバーを再起動しなくても構成の変更がすぐに反映されるように、デフォルトでは大多数の構成のキャッシングは無効です(falseに設定されています)。
次の各項では、Oracle Identity Managerをチューニングするための推奨キャッシュ値をいくつか示します。
キャッシングは、MDSに置かれた構成ファイル/db/oim-config.xmlで構成されます。このファイルに変更を加える方法の詳細は、『Oracle Fusion Middleware Oracle Identity Manager管理者ガイド』のEnterprise Managerを使用したOracle Identity Managerの構成の管理に関する項を参照してください。
本番環境でより高い最適なパフォーマンスが得られるように、次の設定をお薦めします。
次の2つのセクションを除くすべてのコンポーネントのキャッシングをtrueに設定します。
threadLocalCacheEnabled="false" "StoredProcAPI" enabled="false"
クラスタ化されていないインストールにはclustered="false"を設定し、クラスタ化されているインストールにはclustered="true"を設定します。
表26-1に、本番システム用のすべてのキャッシングを有効にした/db/oim-config.xmlファイルからのスニペットを示します。
例26-1 クラスタ化された本番環境のoim-config.xmlのサンプル・キャッシュ値
<cacheConfig clustered="true" enabled="true" expirationTime="144000" provider="oracle.iam.platform.utils.cache.OSCacheProvider" threadLocalCacheEnabled="false"> <cacheCategoriesConfig> <cacheCategoryConfig name="DataObjectEventHandlers" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="ProcessDefinition" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="EmailDefinition" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="RuleDefinition" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="FormDefinition" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="ColumnMap" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="UserDefinedColumns" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="ObjectDefinition" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="StoredProcAPI" enabled="false" expirationTime="600"/> <cacheCategoryConfig name="NoNeedToFlush" enabled="true" expirationTime="-1"/> <cacheCategoryConfig name="MetaData" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="User" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="AdapterInformation" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="OrgnizationName" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="Reconciliation" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="SystemProperties" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="LookupDefinition" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="UserGroups" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="LookupValues" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="ITResourceKey" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="RecordExists" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="ServerProperties" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="ColumnMetaData" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="API" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="CustomResourceBundle" enabled="true" expirationTime="-1"/> <cacheCategoryConfig name="CustomDefaultBundle" enabled="true" expirationTime="-1"/> <cacheCategoryConfig name="ConnectorResourceBundle" enabled="true" expirationTime="-1"/> <cacheCategoryConfig name="LinguisticSort" enabled="true" expirationTime="-1"/> <cacheCategoryConfig name="GenericConnector" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="GenericConnectorProviders" enabled="true" expirationTime="-1"/> <cacheCategoryConfig name="AccessPolicyDefinition" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="UserConfig" enabled="true" expirationTime="-1"/> <cacheCategoryConfig name="OESDefinition" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="RoleContainerToDescrMap" enabled="true" expirationTime="-1"/> <cacheCategoryConfig name="PluginFramework" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="CallbackConfiguration" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="SchedulerTaskDefinition" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="UserStatus" enabled="true" expirationTime="14400"/> <cacheCategoryConfig name="LocaleCodeLanguageMapping" enabled="true" expirationTime="14400"/> </cacheCategoriesConfig>
キャッシュをパージするには、OIM_HOME/server/bin/ディレクトリでPurgeCacheユーティリティを使用します。このユーティリティはキャッシュ内のすべての要素をパージします。
注意:
|
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ユーティリティのクラスパスに置く必要があります。 |
この項では、Oracle Identity Manager用にOracle WebLogic Serverをチューニングしてパフォーマンスを向上させる方法を説明します。Oracle WebLogic Serverのパフォーマンス・チューニングの詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverパフォーマンスおよびチューニング』を参照してください。
注意:
|
第2章「Java仮想マシン(JVM)のチューニング」で説明した設定に加えて、これらの設定を使用してください。
DOMAIN_HOME/bin/setSOADomainEnv.shまたはsetSOADomainEnv.cmdファイルを開きます。
DEFAULT_MEM_ARGSおよびPORT_MEM_ARGSの値をデフォルト値から変更します。
setSOADomainEnv.shまたはsetSOADomainEnv.cmdファイルを保存します。
注意: StringIndexOutOfBoundsExceptionエラーを回避するために、次のオプションを追加します。 -XX:-UseSSE42Intrinsics このパラメータは、Sun JDKの場合のみ必要です。 |
Oracle Identity Managerは、Oracle WebLogic ServerにデプロイされたoimOperationsDBおよびoimJMSStoreDSデータソースを使用します。最大接続は、デフォルトで50に設定されています。この値を必要に応じて増やす必要があります。JDBC接続プールの容量を増やすには、次の手順を実行します。
WebLogic Server管理コンソールを開きます。
JDBCデータソースxlXADSの場合:
「サービス」→「JDBC」→「データ・ソース」→「oimOperationsDB」の順にクリックし、「接続プール」タブをクリックします。
必要に応じて、初期容量と最大容量を調整します。
「非アクティブ接続タイムアウト」パラメータを30に設定します。
JDBCデータソースxlDSの場合:
「サービス」→「JDBC」→「データ・ソース」→「oimJMSStoreDS」の順にクリックし、「接続プール」タブをクリックします。
必要に応じて、初期容量と最大容量を調整します。
変更を保存してアクティブ化します。
注意: アプリケーション・サーバーの接続プールでの接続数の増加は、データベース構成の変更による補正が必要です。Oracle DatabaseのMAX SESSIONS設定を増やす必要がある場合があります。 |
Oracle Identity Managerでは、メッセージドリブンBean (MDB)を使用して、リコンシリエーション、監査、リクエストおよびアテステーションなどのすべてのオフライン・アクティビティの処理や、内部カーネル操作を行います。デフォルトでは、合計80 MDBインスタンスがリクエストを同時に処理します。ただし、これは、要件に基づいて、OIMMDBWorkManager構成を変更することで増加できます。これを行うには、次の手順を実行します。
WebLogic管理コンソールにログインします。
「環境」→「ワーク・マネージャ」→「MaxThreadsConstraint-1」に移動します。
必要に応じてカウントを80からより大きい値に変更します。
Oracle Identity Managerは、デフォルトでは20のフロントエンド・スレッド構成を提供します。これらのスレッドは、フロントエンド・リクエストを処理するために使用されます。フロントエンド・スレッド構成の数を変更するには、次のようにします。
WebLogic管理コンソールにログインします。
「環境」→「ワーク・マネージャ」→「MaxThreadsConstraint-0」に移動します。
カウントの数を20から必要な数に変更します。
デフォルトでは、アダプタとプラグイン構成のリロードは、開発を容易にするために有効化されています。これらは本番環境では無効化する必要があります。これを行うには、次の手順を実行します。
『Oracle Fusion Middleware Oracle Identity Manager管理者ガイド』の構成ファイルのエクスポートおよびインポートに関する項の説明に従って、MDSから/db/oim-config.xmlファイルをエクスポートします。
oim-config.xmlファイルで、次のコードを置換します。
<ADPClassLoaderConfig adapterReloadingEnabled="true" loadingStyle="ParentFirst" reloadInterval="15" reloadingEnabled="true">
これを次のテキストに置き換えます。
<ADPClassLoaderConfig adapterReloadingEnabled="false" loadingStyle="ParentFirst" reloadInterval="15" reloadingEnabled="false">
次のテキストを探します。
<storeConfig reloadingEnabled="true" reloadingInterval="20"/>
これを次のテキストに置き換えます。
<storeConfig reloadingEnabled="false" reloadingInterval="20"/>
oim-config.xmlファイルを保存して、MDSにインポートして戻します。
WebLogicでは、WEBLOGIC_HOME/common/bin/commEnv.shスクリプトでオープン・ファイル記述子の数が1024に制限されています。WebLogicでは同時ユーザー数が多い場合、「TOO MANY OPEN FILES」例外がスローされることがあります。このエラーが発生した場合、スクリプト内の制限値を1024よりも大きい値にすることを検討します。オペレーティング・システムが増加したオープン・ファイル数を処理できることを確認してください。
Solaris Sparc T3またはT4でJVMガベージ・コレクションをチューニングするには、次の手順を実行します。
テキスト・エディタで、DOMAIN_HOME/bin/ディレクトリにあるsetSOADomainEnv.shまたはsetSOADomainEnv.cmdファイルを開きます。
USER_MEM_ARGSの値を次のように設定します。
注意: USER_MEM_ARGSの値は例として示しています。この値は必要に応じて変更できます。 |
USER_MEM_ARGS="-Xms3048m -Xmx3048m -Xmn1648m -Xss256k -XX:PermSize=384m -XX:MaxPermSize=384m"
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"
ファイルを保存して閉じます。
この項では、構成のサンプルを1つ示し、Oracle Identity Managerに対するOracle Databaseのチューニングに関する原則の概要を説明します。データベースのチューニングに関する一般的な情報については、「データベース・パラメータのチューニング」を参照してください。
Oracle Identity Managerには、多数の構成オプションがあります。ボトルネックを特定し、パフォーマンスを最適化する最善の方法は、本番環境のキーとなるデータベース・パフォーマンスを監視し、必要に応じて構成を調整していくことです。「Oracle Identity Managerのパフォーマンスの監視」で説明した監視タスクを確認した後、この項のガイドラインを使用して、初期のベースライン・データベース構成を選択できます。
注意: Oracle Identity Managerを使用する場合、ベースライン・データベース・チューニング・パラメータを維持することは重要です。Oracle Databaseインスタンス・パラメータの設定の詳細は、Oracle Databaseパフォーマンス・チューニング・ガイド11gリリース1 (11.1)を参照してください。 |
データベース管理者は、ロールを作成して、データベース・アプリケーションの実行に必要なすべての権限を保護アプリケーション・ロールに付与します。それから保護アプリケーション・ロールを他のロールやユーザーに付与できます。アプリケーションは複数の異なるロールを持つことができ、それぞれに異なる権限セットを付与して、ユーザーに応じてアプリケーションの使用時にアクセスできるデータを制限できます。たとえば、パスワード付きのロールを作成し、ロールに付与された権限が不正に使用されるのを防止できます。アプリケーションは起動時に適切なロールが使用可能になるように設計されます。そのため、アプリケーション・ユーザーはアプリケーション・ロールのパスワードを知る必要はありません。
次に示すように、付与または取消しされるものに応じて、付与または取消しが有効になるタイミングは異なります。
ユーザー、ロールおよびPUBLIC権限へのシステムおよびオブジェクト権限の付与および取消しはすべて、即座に有効になります。
ユーザー、その他のロールおよびPUBLICへのロールの付与および取消しはすべて、現在のユーザー・セッションが、付与および取消し後にロールを再度有効にするためにSET ROLE文を発行した場合のみ有効になります。
SESSION_ROLESデータ・ディクショナリ・ビューを調べると、どのロールが現在有効であるかを確認できます。
Oracle Identity Managerでは、Oracle Identity Managerスキーマに前提条件となる権限が付与されており、Oracle Identity Managerをインストールする前に必要なオブジェクトを作成できるようにしています。これらの権限の一部は、Oracle Identity Managerのインストール後に取り消して、アプリケーションの要件に応じて後で特定のユーザーに付与できます。
表26-1に、データベース・アプリケーションに必要な権限を示します。
表26-1 データベース・アプリケーションに対するロール付与
ロール名 | 説明 | Oracle Identity Managerに固有の使用方法 | 取り消された場合 |
---|---|---|---|
CREATE TABLE |
自分のスキーマ内での表の作成、変更および削除を可能にします。 |
これはリソースの権限付与の一部ですが、リソースの権限付与ではプロシージャを使用して表を作成できないため、これが明示的に必要になります。 |
ユーザーはプログラムで新しい表を作成できません。 この権限は、Oracle Identity Managerデプロイメントが安定したとき、つまりすべてのコンポーネントおよびコネクタがインポートされ、期待どおりに動作するようになったときに取り消すことができます。これは、各コネクタでその独自のスキーマ・オブジェクトが作成されるためです。アーカイブ・ユーティリティはプログラムで表を作成するため、アーカイブ・ユーティリティの初期実行にこの権限が必要になります。 |
CONNECT |
セッションの作成権限を付与します。 |
ユーザーに対するセッションの作成 |
これはインストール後にCREATE SESSIONと置換できます。Oracle Identity Managerデプロイメントが安定したとき、つまりすべてのコンポーネントおよびコネクタがインポートされ、期待どおりに動作するようになったときに置換できます。これは、各コネクタでその独自のスキーマ・オブジェクトが作成されるためです。 |
RESOURCE |
そのユーザーに関連付けられたスキーマで特定タイプのスキーマ・オブジェクトの作成、変更および削除を可能にします。このロールは開発者やスキーマ・オブジェクトの作成が必要なその他のユーザーにのみ付与されます。このロールにより、オブジェクト・システムの作成権限のサブセットが付与されます。たとえば、CREATE TABLEシステム権限は付与されますが、CREATE VIEWシステム権限は付与されません。これにより次の権限が付与されます。
さらに、このロールによりUNLIMITED TABLESPACEシステム権限が付与され、ユーザーがスキーマ・オブジェクトを作成するすべての表領域でUNLIMITEDの領域使用量割当てが効果的に割り当てられます。 |
シーケンス、インデックス、プロシージャ、トリガーおよびパッケージの作成 |
ユーザーはデータベース・オブジェクトを作成できません。SYSユーザーのみ、これを行うことができます。この権限は、Oracle Identity Managerデプロイメントが安定したとき、つまりすべてのコンポーネントおよびコネクタがインポートされ、期待どおりに動作するようになったときに取り消すことができます。これは、各コネクタでその独自のスキーマ・オブジェクトが作成されるためです。表領域割当てを正しく指定してください。 |
CREATE VIEW |
ユーザーのスキーマでのビューの作成、変更および削除を可能にします。 |
Oracle Identity ManagerでのSDP_VISIBLE_V、SDP_REQUIRED_V、SDP_LOOKUPCODE_VおよびSDP_RECURSIVE_Vビューの作成 |
ユーザーはビューを作成できません。SYSユーザーのみ、これを行うことができます。 |
DBMS_SHARED_POOL |
データベース・オブジェクトを共有プール・メモリーに合わせます。 |
Oracle Identity Managerで使用されるすべてのプロシージャと機能を共有メモリーで固定するために使用 |
これはインストール後に取り消せますが、プロシージャや機能によっては明示的に固定されない場合があるため、パフォーマンスに影響を与えることがあります。pin_objプロシージャはOracle Identity Managerに対してのみ作成されます。これはデータベース・オブジェクトを共有メモリーに明示的に固定するために使用されます。このロールを取り消す前に、データベースレベルのトリガーcache_seqが削除されている(作成済の場合)ことを確認してください。 |
SYS.DBMS_SYSTEM |
XAリソース・マネージャを有効にして権限を設定し、XAリソース・マネージャがOracle databaseとアプリケーション間の相互作用を管理できるようにします。 注意: 各データベース接続は、トランザクション・リソースとしてトランザクション・マネージャとともに追加されます。トランザクション・マネージャは、グローバル・トランザクションに属する各接続に対してXAリソースを取得します。トランザクション・マネージャは開始メソッドを使用してグローバル・トランザクションとリソースを関連付け、終了メソッドを使用してトランザクションとリソースの関連付けを解除します。リソース・マネージャは、開始メソッドの起動と終了メソッドの起動との間に、グローバル・トランザクションをそのデータで実行されるすべての作業に関連付けます。 |
XAリソースおよびデータベース・トランザクション用 |
Oracle Databaseバージョン10.2.0.4以降では、これは安全に削除できます。DIST_TXN_SYNCプロシージャを、一般に公開されているDBMS_XAと呼ばれる新しいパッケージに移動することで、これのかわりとなります。そのため、新しいバージョンのOracleではXAクライアントはDBMS_SYSTEMで権限を実行する必要はありません。 |
SYS.DBMS_FLASHBACK |
セルフサービス・リペアを有効にします。表から行を間違って削除した場合、削除された行を元に戻すことができます。 |
リコンシリエーション中の失敗に対して、これを使用して変更をロール・バックできます。 |
これは、Oracle Identity Manager 11gリリース2 (11.1.2)の新しいリコンシリエーション・エンジンでのエラー処理に必要です。 |
CREATE_MATERIALIZED_VIEW |
権限受領者のスキーマでマテリアライズド・ビューを作成します。 |
OIM_RECON_CHANGES_BY_RES_MVマテリアライズド・ビューの作成 |
ユーザーはマテリアライズド・ビューを作成できません。SYSユーザーのみ、これを行うことができます。このマテリアライズド・ビューは、レポート目的でのみ必要です。 |
SELECT ON V$XATRANS SELECT ON PENDING_TRANS$ SELECT ON DBA_2PC_PENDING SELECT ON DBA_PENDING_TRANSACTIONS |
XAリソース・マネージャを有効にして権限を設定し、XAリソース・マネージャがOracle databaseとアプリケーション間の相互作用を管理できるようにします。 |
なし |
削除はお薦めしません。XAのサポートに必要です。 |
ADMINISTER DATABASE TRIGGER |
データベースレベルのトリガーの作成を可能にします。 |
Oracle Identity Managerでのddl_triggerという名前のDDLトリガーの作成 |
ユーザーは新しいDDLトリガーを作成できません。これはスキーマ作成後に削除できます。 |
表26-2に、パフォーマンスに関連するいくつかの重要なデータベース初期化パラメータに関する情報を示します。
SGA、PGAサイズは、一部のプラットフォームでは、基礎となるオペレーティング・システムの使用可能な最大メモリーの制限によって制限されます。サポート・ノート: Oracle Databaseサーバーとオペレーティング・システムのメモリー制限[ID 269495.1]を参照してください。
注意: 表26-2に示すデータベース・インスタンス・パラメータに対しては、Oracle Databaseのリリースに基づいて、次のいずれかのメモリー管理アプローチを使用できます。
次の接続プール要件および外部プログラムに対する追加接続に対応するように、プロセス・パラメータを設定する必要があります。
|
表26-2 構成パラメータのサンプル
パラメータ | Oracle Database 11gの推奨初期設定 |
---|---|
db_block_size |
8192 |
memory_target |
Oracle Database 11gの自動メモリー管理機能を使用して、MEMORY_TARGETおよびMEMORY_MAX_TARGETパラメータでSGAとPGAを一緒に管理できます。 推奨値は3GBです。 MEMORY_TARGETをデータベース・メモリー・コンポーネントの管理用にする場合は、SGA_TARGETとPGA_AGGREGATE_TARGETは割り当てないでおく(0にする)ことができます。 |
db_keep_cache_size |
800M |
log_buffer |
15 MB |
cursor_sharing |
FORCE |
open_cursors |
500 |
session_cached_cursors |
500 |
query_rewrite_integrity |
TRUSTED |
query_rewrite_enabled |
TRUE |
db_file_multiblock_read_count |
16 |
db_writer_processes |
2 |
processes |
接続プール設定に基づく |
Oracle Identity Managerの基本インストールでは、データベース・オブジェクトを格納するために2つの物理表領域(編成関連のLOBデータのための表領域oim_lobおよびその他すべてのための表領域oim)が使用されます。Oracle Identity Managerのデータベース・オブジェクトは、次のカテゴリのいずれかに属します。
物理表
索引
ラージ・オブジェクト(LOBまたはCLOB)
ヒント: 使用ディスク領域を最小限にするために、次のようにすることをお薦めします。 デプロイメントの最初の起動フェーズでは、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では、これらの表のほとんどでデータ増大を収容できるようにするためのアーカイブおよびパージのソリューションが提供されています。詳細は、『Oracle Fusion Middleware Oracle Identity Manager管理者ガイド』のアーカイブ・ユーティリティの使用に関する項を参照してください。 |
Oracle Identity Managerでは、プロビジョニングおよび承認タスクの詳細が次の表に格納されます。これらは、時間の経過とともに増大する可能性が高い表です。これらを1つ以上の専用表領域にグループ化することをお薦めします。
OSI
OSH
SCH
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つ以上の専用表領域に移動してください。
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 Identity Managerで構成されたリコンシリエーション・プロセスによっては、リコンシリエーション実行中のデータベース・トランザクションおよびコミットの量が多くなる場合があります。複数のREDOログ・ファイルを使用することをお薦めします。REOログ・ファイルに割り当てる総領域は、1 - 2GBにする必要があります。
それぞれの最小サイズが500MBの、REDOログ・メンバーを持つ3つ以上のREDOログ・グループを使用することをお薦めします。メンバーの多重化と正確な数および各メンバーのディスク領域は、障害に対する計画に従って検討できます。
Oracle Identity Managerのデフォルトでは、頻繁に参照される小さい表は、プール保存バッファを使用してデータベースにキャッシュされるように割り当てられます。表26-2のdb_keep_cache_sizeを参照してください。ユーザー・レコードを格納するUSR表も、デフォルトでキャッシュされます。インストール環境に含まれるユーザーが50,000より多い場合、USR表には、プール保存バッファではなくデフォルトのバッファを使用することをお薦めします。次のコマンドを使用して、USR表をデフォルトのバッファ・プールに配置できます。
ALTER TABLE USR STORAGE(buffer_pool default);
Oracle Identity Managerが最適なレベルで実行されるようにするには、第23章「Oracle Internet Directoryのパフォーマンス・チューニング」の説明に従って、Oracle Internet Directoryをチューニングすることが重要です。
この項では、使用環境に適用できる可能性がある、チューニングに関する高度な推奨事項について説明します。次の推奨事項を確認し、それらの変更によってOracle Identity Managerのパフォーマンスが向上するかどうかを判断してください。
コネクタをOracle Identity Managerにインポートすると、特定のデータベース表(UD_*)が作成され、Oracle Identity Managerスキーマ内でメタデータが更新されます。リコンシリエーション・ルール、データ・フローおよび参照定義が指定された特定のインストールで必要なプロセスに適合するように、コネクタをさらにカスタマイズすることもできます。コネクタのインポート後、索引を作成する必要があります。
Oracle Identity Managerのパフォーマンス・チューニングには、次の手順があります。
Oracle Identity Managerに対する最大接続プールを増やす手順は次のとおりです。
Oracle Identity System Administrationにログインします。
左ペインで、「構成」の「ITリソース」をクリックします。「ITリソースの管理」ページが新しいウィンドウに表示されます。
「ITリソース・タイプ」リストから「ディレクトリ・サーバー」を選択し、「検索」をクリックします。
ディレクトリ・サーバーITリソースの「編集」をクリックします。「ITリソースの詳細およびパラメータの編集」ページが表示されます。
「最大プール・サイズ」フィールドで、値を10から500
に変更します。
次の構成パラメータの値が正しいことを確認します。
初期プール・サイズ: 20
最小プール・サイズ: 20
「更新」をクリックします。
LDAP同期のバッチ・サイズを増やすには、LDAP同期のリコンシリエーションに関する、次のスケジュール済ジョブのバッチ・サイズを8000に設定します。
LDAPユーザー作成および更新のリコンシリエーション
LDAPロール作成および更新のリコンシリエーション
LDAPロール階層のリコンシリエーション
LDAPロール・メンバーシップのリコンシリエーション
注意: LDAPのスケジュール済ジョブの詳細は、『Oracle Fusion Middleware Oracle Identity Manager管理者ガイド』のLDAPのスケジュール済タスクに関する項を参照してください。 |
Oracle Identity Managerで、OID用に構成されたOVDとのLDAP同期を有効にする場合、表26-3に示すOVDの構成パラメータを設定する必要があります。
Oracle Identity Managerで、OVDやOIDとのLDAP同期を有効にする場合、表26-4に示すOIDの構成パラメータを設定する必要があります。
表26-4 OIDの構成パラメータ
名前 | パラメータ | 値 |
---|---|---|
DBの最大接続数 |
orclmaxcc |
10 |
プロセス数 |
orclserverprocs |
2 - 4 |
参照プロセスをスキップ |
orclskiprefinsql |
1 |
LDAP接続タイムアウト |
orclldapconntimeout |
60 |
MatchDN処理の有効化 |
orclmatchdnenabled |
0 |
エントリ・キャッシュの有効化 |
orclcacheenabled |
0 |
表26-4の属性を変更するには、次の構文を使用します。
ldapmodify -h HOST_NAME -p PORT_NUMBER -D cn=orcladmin -w PASSWORD -v <<EOF dn: cn=oid1,cn=osdldapd,cn=subconfigsubentry
Oracle Identity Managerで、OID用に構成されたIdentity Virtualization Library (libOVD)とのLDAP同期を有効にする場合、表26-5に示すIdentity Virtualization Library (libOVD)の構成パラメータを設定する必要があります。
注意: Identity Virtualization Library (libOVD)チューニング・パラメータの構成は、WLSTコマンドを使用して管理できます。詳細は、Oracle Fusion Middleware Oracle Identity Management統合ガイドのIdentity Virtualization Library (libOVD)アダプタの管理に関する項を参照してください。 |
表26-5 Identity Virtualization Library (libOVD)の構成パラメータ
名前 | パラメータ | 値 |
---|---|---|
ユーザー・アダプタ |
最大プール・サイズ |
500 |
操作タイムアウト |
1500000 |
|
最大プール待機数 |
1000 |
|
変更ログ・アダプタ |
最大プール・サイズ |
500 |
関連項目: Identity Virtualization Library (libOVD)でアクセス・ロギングを有効にして、Identity Virtualization Library (libOVD)を通過するすべてのリクエストとレスポンスを取得する方法の詳細は、Oracle Fusion Middleware Oracle Identity Management統合ガイドのIdentity Virtualization Library (libOVD)におけるアクセス・ロギングの有効化に関する項を参照してください。この作業を行うと、パフォーマンスに関する問題の優先順位付けに非常に役立つ場合があります。 |
Oracle WebLogic ServerおよびJDBCの構成パラメータの設定については、第26.3.2項「Oracle Identity Managerに対するアプリケーション・サーバーのチューニング」を参照してください。