この章では、コネクタ表で必要な索引を指定してコネクタのパフォーマンスを向上させる方法を説明します。
コネクタをOracle Identity Managerにインポートすると、特定のデータベース表(UD_*)が作成され、Oracle Identity Managerスキーマ内でメタデータが更新されます。リコンシリエーション・ルール、データ・フローおよび参照定義が指定された特定のインストールで必要なプロセスに適合するように、コネクタをさらにカスタマイズすることもできます。コネクタのインポートおよびカスタマイズ後、索引を作成する必要があります。次の手順では、表および索引のキー・フィールドを指定する方法について説明します。追加の要件は、リコンシリエーションを実行し、データベースAWRレポートを確認してください。
コネクタ表および索引の要件を指定するには、次のようにします。
注意: 次の手順では、Sun Java System Directoryコネクタを例として使用しています。フィールド・マッピングで使用されるすべてのキー・フィールドの索引は、UD_*表またはプロセス定義表から作成する必要があります。 |
図3-1に、Design ConsoleでのSun Java System Directoryコネクタに対するプロセス定義表を示します。このコネクタについて、「iPlanet User」プロビジョニング・プロセスをダブルクリックし、「Reconciliation Field Mappings」タブをクリックして、フィールド・マッピングを表示します。
図3-2に、Sun Java System Directoryコネクタに対するリコンシリエーション・フィールド・マッピングを示します。この図では、表名およびキー・フィールドは赤で表示されています。このコネクタに対して、UD_IPNT_USR_USERID列の索引付けをする必要があります。
注意: これは、コネクタをデプロイする際の必須の手順です。 |
注意: ユーザーの参照で複数(コンポジット)キーが使用される場合、コンポジット索引が作成されます。 |
キー・フィールドの索引を作成するガイドラインは、次のとおりです。
子表からのキー・フィールドも索引付けする必要があります。図3-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文を使用すると、索引に対して統計が生成されます。
前述の手順でコネクタを構成し索引を作成した後、データベース表および索引統計(またはスキーマ統計)を生成する必要があります。