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.
です。