22 参照整合性の構成
22.1 参照整合性の構成の概要
参照整合性とは、データ・セット間で一貫した関係を維持するプロセスです。
Oracle Internet Directoryで参照整合性を有効にした場合、ディレクトリ内のエントリを更新すると、そのエントリを参照する他のエントリもサーバーによって更新されます。たとえば、ユーザーのエントリをディレクトリから削除し、そのユーザーがあるグループのメンバーだとすると、サーバーはユーザーをグループからも削除します。参照整合性が無効の場合、ユーザーは手動で削除されるまでそのグループのメンバーであり続けます。参照整合性はデフォルトでは無効です。
ノート:
レプリケーションのブートストラップ・プロセス中に、参照整合性を無効にします。参照整合性が有効になると、ブートストラップは失敗します。
参照整合性は、次の2つの状況で効力を生じます。
-
削除–エントリが削除されると、このエントリ識別名を参照するすべての識別名属性が削除されます。
-
変更–エントリの識別名が変更(名前変更)されると、このエントリ識別名を参照するすべての属性が変更されます。
11gリリース1 (11.1.1.0.0)以降、Oracle Internet Directoryサーバーにより、参照整合性が適用されます。LDAPの追加、変更、削除および名前変更操作のすべてについて、サーバーによりリクエストがモニターされ、必要な識別名参照が更新されます。
参照整合性は、orclRIenabledおよびorclRIattrの2つの構成パラメータによって制御されます。
-
パラメータ
orclRIenabledは、参照整合性レベルを制御します。orclRIenabledの値は、次のとおりです。-
0–参照整合性は無効です。
-
1–参照整合性は、
memberおよびuniquemember属性に対してのみ有効です。 -
2–参照整合性は、属性
memberおよびuniquememberのorclRIattrで指定された識別名構文属性のリストに対して有効です。
-
-
orclRIenabledを2に設定すると、パラメータorclRIattrの値は有効になります。orclRIattrの値は、参照整合性が有効な属性のリストです。
参照整合性が有効になると、厳密に適用されます。たとえば、memberまたはuniquememberが現在DITの一部ではないグループ・エントリは追加できません。
22.2 Fusion Middleware Controlを使用した参照整合性の有効化
Oracle Enterprise Fusion Middleware Controlを使用して参照整合性を有効化できます。
Oracle Enterprise Manager Fusion Middleware Controlを使用して参照整合性を構成し、有効にするには、次のステップを実行します。
22.3 Fusion Middleware Controlを使用した参照整合性の無効化
Oracle Enterprise Manager Fusion Middleware Controlを使用して参照整合性を無効化できます。
Oracle Enterprise Manager Fusion Middleware Controlを使用して参照整合性を無効にするには、次のステップを実行します。
- 「Oracle Internet Directory」メニューから「管理」を選択し、「共有プロパティ」を選択して、「一般」を選択します。
- 参照整合性の有効化リストから「無効」を選択します。
22.4 コマンド行を使用した参照整合性の有効化
この項では、コマンドライン・ユーティリティを使用して参照整合性を有効化する方法を説明します。
ディレクトリ内の参照整合性を有効化するには、ldapmodifyを使用してDSA構成エントリ内のパラメータorclRIenabledの値を変更します。
cn=dsaconfig,cn=configsets,cn=oracle internet directory
値は1または2に設定できます。
値を1に設定すると、GroupofNamesおよびGroupofUniqueNamesに対して参照整合性が有効になります。
orclRIenabledの値を2に設定すると、GroupofNames、GroupofUniqueNamesおよび特定の構成済属性に対して参照整合性が有効になります。次の項では、特定の属性の構成について説明します。
たとえば、次のようなコマンド行を使用します。
ldapmodify -D cn=orcladmin -q -p portNum -h hostname -f ldifFile
この場合、次のようなLDIFファイルを使用します。
dn: cn=dsaconfig, cn=configsets, cn=oracle internet directory changetype: modify replace: orclRIenabled orclRIenabled: 2
orclRIenabledに対する変更はすぐに有効になります。
22.5 コマンドラインを使用した参照整合性に関する特定の属性の構成
orclRIenabledの値を2に設定すると、GroupofNames、GroupofUniqueNamesおよび特定の構成済属性に対して参照整合性が有効になります。
参照整合性に関する特定の属性は、catalogに引数rienable=TRUE、add=trueおよびattribute=name_of_attributeを指定して構成できます。これにより、参照整合性が適用される識別名構文属性のリストが含まれるorclRIattrに属性が追加されます。参照整合性から属性を削除するには、catalogに引数rienable=TRUE、delete=trueおよびattribute=name_of_attributeを指定して削除できます。これによってorclRIattrから属性が削除されます。
ノート:
-
ldapmodifyを使用してorclRIattrの値を変更することはできません。catalogコマンドを使用する必要があります。 -
catalogを使用する場合、DOMAIN_HOME環境変数を設定する必要があることに注意してください。
次の例は、属性managerに対して参照整合性を有効にしています。
catalog connect="connect_str" add=true rienable="TRUE" attribute="manager"
次の例では、属性managerに対して参照整合性を無効にします。
catalog connect="connect_str" delete=true rienable="TRUE" attribute="manager"
22.6 コマンドラインを使用した参照整合性の無効化
コマンドライン・ユーティリティを使用して参照整合性を無効化できます。
ディレクトリ内の参照整合性を無効化するには、DSA構成エントリでorclRIenabledの値を0に設定します。
cn=dsaconfig,cn=configsets,cn=oracle internet directory
22.7 参照整合性違反の検出および修正
DITに根本的な違反がある場合、参照整合性を有効化しようとすると、エラーが発生します。
oiddiagツールを実行して違反を確認し、修正してから、参照整合性を有効にする必要があります。oiddiagツールには、すべての参照整合性違反をLDIF形式で報告するオプションOidDiagDC10があります。ldapmodifyツールとともにLDIFファイルを使用することにより、報告されたすべてのエントリを修正できます。ステップは次のとおりです。
関連項目:
-
『Oracle Fusion Middleware Oracle Identity Managementリファレンス』の
oiddiagコマンドのリファレンス -
oiddiagの使用メッセージ。次のように入力します。oiddiag -help
ノート:
Windowsでは、oiddiagコマンドのファイル名はoiddiag.bat.です。