ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Internet Directory管理者ガイド
11g リリース1(11.1.1)
B55919-05
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

20 ナレッジ参照と参照の管理

この章では、ナレッジ参照と参照を構成する方法について説明します。


関連項目:

ディレクトリ・エントリ、ディレクトリ情報ツリー、識別名および相対識別名の概要は、第3.10項「ナレッジ参照と参照」を参照してください。


この章の項目は次のとおりです。

20.1 ナレッジ参照と参照の管理の概要

ナレッジ参照は参照とも呼ばれ、特定のタイプのエントリとしてディレクトリ内で表されます。ナレッジ参照エントリを作成するときには、referralオブジェクト・クラスおよびextensibleObjectオブジェクト・クラスにそのエントリを関連付けます。通常、ナレッジ参照エントリは、パーティションを確立するDIT内の場所に作成されます。

ナレッジ参照は、LDAP URLを含む参照をユーザーに提供します。このURLを、ref属性の値として入力してください。任意のナレッジ参照エントリに複数のref属性が指定されている場合があります。同様に、DITに複数のナレッジ参照エントリがある場合もあります。


関連項目:

ディレクトリ・パーティション化とナレッジ参照の概要およびスマート・ナレッジ参照とデフォルト・ナレッジ参照の詳細は、第3章「Oracle Internet Directoryの概念およびアーキテクチャの理解」を参照してください。


参照キャッシングとは、参照情報へのアクセスを簡単に繰り返すことができるように、その情報を格納するプロセスです。クライアントがサーバーAに問い合せ、サーバーAがサーバーBに参照を返すとします。クライアントはこの参照を追跡して、操作を実行し、クライアントに結果を返すサーバーBと通信します。参照キャッシングが行われていない場合、クライアントが次回同じ問合せをサーバーAに対して行うと、手順全体が繰り返され、時間とシステム・リソースを必要以上に消費することになります。

参照情報をキャッシュできる場合は、以降の各問合せで、参照情報をキャッシュから取り出し、サーバーBと直接通信できます。これによって、操作にかかる時間を短縮できます。

クライアント側の参照キャッシングによって、各クライアントは、参照情報をキャッシュして使用し、参照処理にかかる時間を短縮できます。

参照エントリは、クライアントの構成ファイルに格納されます。クライアントは、セッション確立時に、この構成ファイルから参照情報を読み取ってキャッシュに格納します。このキャッシュは静的状態を保持し、セッション中に更新の追加は行われません。これ以降、クライアントは、操作を行うたびにキャッシュ内の参照情報を検索します。

クライアントが使用するこの構成ファイルは、ディレクトリ管理者が準備します。


注意:

構成ファイルは、クライアントにとってはオプションです。ファイルが存在しない場合でも、参照に関係するクライアント操作は正常に行われます。したがって、このファイルの準備は、管理者の必須作業ではありません。構成ファイルを使用する利点は、参照に関係するクライアント/サーバーの操作時間を短縮できることです。


構成ファイルは、1つ以上の参照セットで構成されます。それぞれの参照セットは、次の要素で構成されます。

各参照エントリは一連の行で構成され、それぞれの行は1つの参照URLに対応します。行セパレータは、CRまたはLFです。

ref_file=ref_file_content
ref_file_content=1*(referral_set)
referral_set=hostname       SEP      ref_entry_set   SEP
ref_entry_set=ref_entry     *(SEP    ref_entry)
ref_entry=1*(referralurl    SEP)
SEP=CR LF / LF
CR=0x0D
LF=0x0A

たとえば、ホスト・サーバーXで稼働しているディレクトリ・サーバーに次の2つの参照エントリがあるとします。

dn: dc=example, dc=com 
ref: ldap://serverA:3060/dc=example, dc=com 
ref: ldap://serverB:3060/dc=example, dc=com 

dn: dc=oracle, dc=com 
ref: ldap://serverC:3060/dc=oracle, dc=com 
ref: ldap://serverD:3060/dc=oracle, dc=com

ホスト・サーバーYで稼働しているディレクトリ・サーバーには、次の参照エントリがあるとします。

dn: dc=fiction, dc=com
ref: ldap://serverE:3060/dc=fiction, dc=com 

対応するreferral.oraファイルは、次のようになります。

ServerX
ldap://serverA:3060/dc=example, dc=com
ldap://serverB:3060/dc=example, dc=com

ldap://serverC:3060/dc=oracle, dc=com
ldap://serverD:3060/dc=oracle, dc=com

ServerY
ldap://serverE:3060/dc=fiction, dc=com

20.2 スマート参照の構成

検索結果には、ナレッジ参照とともに通常のエントリも含まれる場合があります。ユーザーが検索操作を実行すると、Oracle Internet Directoryは指定された検索の適用範囲内でナレッジ参照エントリを探します。ナレッジ参照が見つかった場合、Oracle Internet Directoryは参照をクライアントに返します。

ユーザーがナレッジ参照エントリの下に置かれたエントリに対して追加、削除または変更操作を実行すると、Oracle Internet Directoryは参照を返します。

たとえば、ディレクトリ・サーバーの地理的な場所に基づいたDITを分割するとします。この例では、次のように仮定します。

ここで、この2つのネーミング・コンテキスト間のナレッジ参照を、次のように構成するとします。

  1. 米国のサーバーAとサーバーBで、サーバーCとサーバーDのc=ukオブジェクトのナレッジ参照を構成します。

    dn: c=uk
    c: uk
    ref: ldap://host C:3060/c=uk
    ref: ldap://host D:600/c=uk
    objectclass: top
    objectclass: referral
    objectClass: extensibleObject
  2. 同様に英国のサーバーCとサーバーDで、サーバーAとサーバーBのc=usオブジェクトのナレッジ参照を構成します。

    dn: c=us
    c: us
    ref: ldap://host A:4000/c=us
    ref: ldap://host B:5000/c=us
    objectclass: top
    objectclass: referral
    objectClass: extensibleObject

コマンドライン・ツールを使用します。

ldapmodify -D cn=orcladmin -q -p portNum -h hostname -f ldifFile 

結果は、次のようになります。

20.3 デフォルト参照の構成

Oracle Internet Directoryは、サーバーによってローカルに保持されているすべてのディレクトリ・ネーミング・コンテキストを、DSEのnamingcontext属性を使用して判断します。namingContext属性には、ネーミング・コンテキスト情報を正しく反映させてください。

DSEエントリのref属性の値を入力して、デフォルト参照を指定します。ref属性がDSEエントリにない場合は、デフォルト参照は返されません。

デフォルト参照を構成するときは、LDAP URLの識別名を指定しないでください。

たとえば、サーバーAのDSEエントリに、次のnamingContext値が含まれているとします。

namingcontext: c=us

さらに、デフォルト参照が次のとおりと仮定します。

Ref: ldap://host PQR:3060

ユーザーが、サーバーAでネーミング・コンテキストc=canadaにベース識別名を持つ操作を入力したとします。たとえば、次のとおりです。

ou=marketing,o=foo,c=canada

このユーザーはホストPQRへの参照を受信することになります。これは、サーバーAがc=canadaベース識別名を保持しておらず、そのDSEのnamingContext属性が値c=canadaを保持していないためです。


関連項目:

ナレッジ参照の概念の説明は、第3.10項「ナレッジ参照と参照」を参照してください。