この章では、コネクタ表およびリコンシリエーション表で必要な索引を指定してパフォーマンスを向上させる方法について説明します。次の項で構成されています。
コネクタをOracle Identity Managerにインポートすると、特定のデータベース表(UD_*)が作成され、Oracle Identity Managerスキーマ内でメタデータが更新されます。リコンシリエーション・ルール、データ・フローおよび参照定義が指定された特定のインストールで必要なプロセスに適合するように、コネクタをさらにカスタマイズすることもできます。コネクタのインポートおよびカスタマイズ後、索引を作成する必要があります。次の手順では、表および索引のキー・フィールドを指定する方法について説明します。追加の要件は、リコンシリエーションを実行してデータベースAWRレポートを確認してください。
コネクタ表および索引の要件を指定するには:
注意: 次の手順では、Sun Java System Directoryコネクタを例として使用しています。フィールド・マッピングで使用されるすべてのキー・フィールドの索引は、UD_*表またはプロセス定義表から作成する必要があります。 |
図25-1に、Oracle Identity Manager Design ConsoleでのSun Java System Directoryコネクタに対するプロセス定義表を示します。このコネクタについて「iPlanetユーザー」プロビジョニング・プロセスをダブルクリックし、リコンシリエーション・フィールド・マッピングタブをクリックして、フィールド・マッピングを表示します。
図25-2に、Sun Java System Directoryコネクタに対するリコンシリエーション・フィールド・マッピングを示します。この図では、表名およびキー・フィールドは赤で強調表示されています。このコネクタに対して、UD_IPNT_USR_USERID列の索引付けをする必要があります。
注意: これは、コネクタをデプロイする際の必須の手順です。 |
注意: ユーザーの参照で複数(コンポジット)キーが使用される場合、コンポジット索引が作成されます。 |
キー・フィールドの索引を作成するガイドラインは、次のとおりです。
子表からのキー・フィールドも索引付けする必要があります。図25-2では、子表のキー・フィールドは青で強調表示されています。Sun Java System Directoryコネクタでは、UD_IPNT_ROL_ROLE_NAMEおよびUD_IPNT_GRP_GROUP_NAME列を索引付けします。
コネクタにいずれかのユーザー定義のフィールドが含まれ、Oracle Identity Managerデータベースでユーザーを検索するために属性値が使用される場合、対応するデータベース・フィールドも索引付けされます。
キー・フィールドがOracle Identity Managerで大/小文字を区別しないように定義されている場合、そのキー・フィールド上で関数ベースの索引が作成されます。たとえば、コネクタ・コードが名の検索を内部的に実行する場合(FIRST_NAMEをキーとします)、索引は次のようにして作成されます。
CREATE INDEX FDX_USR_FIRST_NAME ON USR(UPPER(FIRST_NAME))
索引の作成の際、COMPUTE STATISTICS文を使用すると、索引に対して統計が生成されます。
前述の手順でコネクタを構成し索引を作成した後、データベース表および索引統計(またはスキーマ統計)を生成する必要があります。
パフォーマンス・チューニングでは、表25-1に示すように、リコンシリエーション表の索引を作成する必要があります。
表25-1 リコンシリエーション表の索引
リコンシリエーションのタイプ | 表 | 索引 |
---|---|---|
アイデンティティ・リコンシリエーション |
ターゲットの水平表 |
オーナー一致ルール列 |
RE_KEY |
||
USR |
オーナー一致ルール列 |
|
RECON_EVENTS |
RB_KEYおよびRE_STATUSのコンポジット索引 |
|
RECON_USR_MATCH |
RE_KEY |
|
アカウント・リコンシリエーション |
親ターゲットの水平表 |
アカウント一致ルール列 |
エンティティ一致ルール列 |
||
RE_KEY |
||
子ターゲットの水平表 |
子一致ルール列 |
|
RE_KEY |
||
USR |
エンティティ一致ルール列 |
|
RECON_EVENTS |
RB_KEYおよびRE_STATUSのコンポジット索引 |
|
RECON_ACCOUNT_MATCH |
RE_KEY |
|
RECON_CHILD_MATCH |
RE_KEY |
データベース統計を収集するには:
SQL*PLUSにSYSユーザーとしてログインします。
最初に次のコマンドを実行します。
SQL> exec DBMS_STATS.GATHER_SCHEMA_STATS(OWNNAME=>'oimadmin', ESTIMATE_PERCENT=>DBMS_STATS.AUTO_SAMPLE_SIZE, DEGREE=>8, OPTIONS=>'GATHER AUTO',NO_INVALIDATE=>FALSE);
注意: 一致ルールでUPPER句を使用する場合は、列にファンクション索引を作成します。たとえば、LDAPストアからの信頼できるソースのリコンシリエーションでは、次のようにします。LDAPストアからのユーザー・リコンシリエーションの場合:
|