Oracle Fusion Middleware Oracle Internet Directory管理者ガイド 11g リリース1(11.1.1) B55919-02 |
|
![]() 前 |
![]() 次 |
この章では、次の点について説明します。
この章の項目は次のとおりです。
ナレッジ参照は参照とも呼ばれ、特定のタイプのエントリとしてディレクトリ内で表されます。ナレッジ参照エントリを作成するときには、referral
オブジェクト・クラスおよびextensibleObject
オブジェクト・クラスにそのエントリを関連付けます。通常、ナレッジ参照エントリは、パーティションを確立するDIT内の場所に作成されます。
ナレッジ参照は、LDAP URLを含む参照をユーザーに提供します。このURLを、ref
属性の値として入力してください。任意のナレッジ参照エントリに複数のref
属性が指定されている場合があります。同様に、DITに複数のナレッジ参照エントリがある場合もあります。
関連項目: ディレクトリ・パーティション化とナレッジ参照の概要およびスマート・ナレッジ参照とデフォルト・ナレッジ参照の詳細は、第3章「Oracle Internet Directoryの概念およびアーキテクチャの理解」を参照してください。 |
参照キャッシングとは、参照情報へのアクセスを簡単に繰り返すことができるように、その情報を格納するプロセスです。クライアントがサーバーAに問い合せ、サーバーAがサーバーBに参照を返すとします。クライアントはこの参照を追跡して、操作を実行し、クライアントに結果を返すサーバーBと通信します。参照キャッシングが行われていない場合、クライアントが次回同じ問合せをサーバーAに対して行うと、手順全体が繰り返され、時間とシステム・リソースを必要以上に消費することになります。
参照情報をキャッシュできる場合は、以降の各問合せで、参照情報をキャッシュから取り出し、サーバーBと直接通信できます。これによって、操作にかかる時間を短縮できます。
クライアント側の参照キャッシングによって、各クライアントは、参照情報をキャッシュして使用し、参照処理にかかる時間を短縮できます。
参照エントリは、クライアントの構成ファイルに格納されます。クライアントは、セッション確立時に、この構成ファイルから参照情報を読み取ってキャッシュに格納します。このキャッシュは静的状態を保持し、セッション中に更新の追加は行われません。これ以降、クライアントは、操作を行うたびにキャッシュ内の参照情報を検索します。
クライアントが使用するこの構成ファイルは、ディレクトリ管理者が準備します。
注意: 構成ファイルは、クライアントにとってはオプションです。ファイルが存在しない場合でも、参照に関係するクライアント操作は正常に行われます。したがって、このファイルの準備は、管理者の必須作業ではありません。構成ファイルを使用する利点は、参照に関係するクライアント/サーバーの操作時間を短縮できることです。 |
構成ファイルは、1つ以上の参照セットで構成されます。それぞれの参照セットは、次の要素で構成されます。
特定のディレクトリ・サーバーが稼働しているホスト名
そのサーバーに存在する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
検索結果には、ナレッジ参照とともに通常のエントリも含まれる場合があります。ユーザーが検索操作を実行すると、Oracle Internet Directoryは指定された検索の適用範囲内でナレッジ参照エントリを探します。ナレッジ参照が見つかった場合、Oracle Internet Directoryは参照をクライアントに返します。
ユーザーがナレッジ参照エントリの下に置かれたエントリに対して追加、削除または変更操作を実行すると、Oracle Internet Directoryは参照を返します。
たとえば、ディレクトリ・サーバーの地理的な場所に基づいたDITを分割するとします。この例では、次のように仮定します。
c=us
ネーミング・コンテキストは、米国のサーバーAとサーバーBにローカルに保持されています。
c=uk
ネーミング・コンテキストは、英国のサーバーCとサーバーDにローカルに保持されています。
ここで、この2つのネーミング・コンテキスト間のナレッジ参照を、次のように構成するとします。
米国のサーバー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
同様に英国のサーバー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
結果は、次のようになります。
サーバーAまたはサーバーBにベースo=foo,c=uk
で問い合せるクライアントは、参照を受信します。
サーバーCまたはサーバーDにベースo=foo,c=us
で問い合せるクライアントは、参照を受信します。
サーバーAまたはサーバーBでのo=foo,c=uk
の追加操作は失敗します。かわりに、Oracle Internet Directoryは参照を返します。
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
を保持していないためです。