ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Directory Server Enterprise Edition管理者ガイド
11g リリース1 (11.1.1.7.0)
B72439-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

4 Directory Serverのインスタンスと接尾辞

この章では、Oracle Directory Server Enterprise Edition(ODSEE)のインスタンスと接尾辞を作成および管理する方法について説明します。他の多くのディレクトリ管理タスクは接尾辞レベルで構成されますが、それらは本書の他の章で説明します。

4.1 サーバー・インスタンスおよび接尾辞を手短に作成する手順

この章では、サーバー・インスタンスと接尾辞を作成する方法について詳しく説明します。Directory Serverのインスタンスと接尾辞を手短に作成し、サンプル・データをインポートする必要がある場合は、『Oracle Fusion Middleware Oracle Directory Server Enterprise Editionインストレーション・ガイド』Directory Server Enterprise Editionのインストールのチェックに関する項を参照してください。

4.2 Directory Serverインスタンスの作成と削除

この項では、Directory Serverインスタンスの作成と削除の方法について説明します。

4.2.1 Directory Serverインスタンスを作成するには

データを管理する前に、コマンドライン・ツールまたはブラウザ・インタフェースDirectory Service Control Center(DSCC)を使用してDirectory Serverインスタンスを作成する必要があります。DSCCで、Directory Serverインスタンスは単にDirectory Serverと呼ばれることがあります。

Directory Serverインスタンスを作成する場合、Directory Serverに必要なファイルとディレクトリは、指定したinstance-pathで作成されます。

WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

DSCCを使用して新しいサーバー・インスタンスを作成する場合は、既存のサーバーからサーバー構成の設定の一部またはすべてをコピーするよう選択できます。

dsadmコマンドを使用して、Directory Serverインスタンスおよびローカル・ホスト上のそのインスタンスに属するファイルを管理できます。このコマンドではネットワーク上のサーバーを管理できません。ローカル・ホストでの直接管理のみとなります。dsadmコマンドには、主要な各管理タスク用のサブコマンドがあります。詳細は、dsadmを参照してください。

dsconfコマンドは、LDAPクライアントです。このコマンドでは、実行中のDirectory Serverインスタンスのほぼすべてのサーバー設定を、コマンドラインから構成できます。サーバーは、ローカル・ホストに配置するか、またはネットワーク全体でアクセス可能な別のホストに配置するかを設定できます。dsconfコマンドには、主要な各構成タスク用のサブコマンドがあります。詳細は、dsconfを参照してください。

  1. 新しいDirectory Serverインスタンスを作成して、インスタンス・パスを設定します。

    $ dsadm create instance-path
    

    このサーバーのディレクトリ・マネージャのパスワードを設定するよう要求されます。

    サーバー・インスタンスにデフォルト以外のポート番号またはその他のパラメータを指定するには、dsadmのマニュアル・ページを参照してください。

    たとえば、ディレクトリ/local/dsInstで新しいインスタンスを作成するには、次のコマンドを使用します。

    $ dsadm create /local/dsInst
    Choose the Directory Manager password:
    Confirm the Directory Manager password:
    Use 'dsadm start /local/dsInst' to start the instance 
    

    インスタンスは、ネットワーク・ファイル・システムではなくローカル・ファイル・システム上のディレクトリに作成されます。

  2. サーバー・インスタンスが正しく作成されていることを確認します。

    $ dsadm info instance-path
    

    次に例を示します。

    $ dsadm info /local/dsInst
    Instance Path:         /local/dsInst
    Owner:                 user1(group1)
    Non-secure port:       1389
    Secure port:           1636
    Bit format:            64-bit
    State:                 Running
    Server PID:            22555
    DSCC url:              -
    SMF application name:  -
    Instance version:      D-A00
    
  3. ご使用のオペレーティング・システムでサービス管理ソリューションが提供されている場合は、サーバーをサービスとして管理できます。ご使用のオペレーティング・システムに基づき、表4-1のコマンドのいずれかを実行します。

    表4-1 サーバーをサービスとして管理可能にする

    オペレーティング・システム コマンド

    Solaris 10

    dsadm enable-service --type SMF instance-path

    Solaris 9

    dsadm autostart instance-path

    Windows

    dsadm enable-service --type WIN_SERVICE instance-path


  4. Directory Serverを起動します。

    重要: Directory Serverを起動する前に、ネーム・サービス・キャッシュ・デーモン(nscd)が起動されている必要があります。詳細は、オペレーティング・システムのドキュメントを参照してください。

    $ dsadm start instance-path
    

    サーバーは実行されますが、データや接尾辞は含まれていません。接尾辞を作成するには、dsconfを使用します。

  5. 次のいずれかの方法で、DSCCにサーバー・インスタンスを登録します。

    1. DSCCにログインし、「ディレクトリサーバー」タブの「サーバー」タブで既存のサーバーの登録アクションを使用します。

      アプリケーション・サーバー構成により、http://hostname:8080/dscc7またはhttps://hostname:8181/dscc7を使用して、DSCCにアクセスします。

    2. コマンドdsccreg add-serverを使用します。

      $ dsccreg add-server -h hostname --description "My DS" /local/dsInst
      Enter DSCC administrator's password:
      /local/dsInst is an instance of DS
      Enter password of "cn=Directory Manager" for /local/dsInst:
      This operation will restart /local/dsInst.
      Do you want to continue ? (y/n) y
      Connecting to /local/dsInst
      Enabling DSCC access to /local/dsInst
      Restarting /local/dsInst
      Registering /local/dsInst in DSCC on hostname.
      

      このコマンドの詳細は、dsccregを参照してください。

  6. Directory Serverインスタンスがスタンドアロンでパスワード・ポリシーを使用する場合、またはDS6-onlyパスワード・ポリシー・モードにすでに移行したレプリケーション・トポロジに属している場合は、インスタンスをこのモードに移行します。

    $ dsconf pwd-compat -h host -p port to-DS6-migration-mode
    
    ## Beginning password policy compatibility changes .
    ## Password policy compatibility changes finished.
    
    Task completed (slapd exit code: 0).
    $ dsconf pwd-compat -h host -p port to-DS6-mode
    ## Beginning password policy compatibility changes .
    ## Password policy compatibility changes finished.
    
    Task completed (slapd exit code: 0).
    

    これらの操作は、指定された順序で実行する必要があります。

    パスワード・ポリシーの互換性の詳細は、『Oracle Fusion Middleware Oracle Directory Server Enterprise Editionアップグレードおよび移行ガイド』パスワード・ポリシーに関する項を参照してください。

4.2.2 Directory Serverインスタンスを削除するには

サーバー・インスタンスを削除する前に、インスタンスの削除の準備が必要です。次の手順を参照して、サーバー・インスタンスを正しく削除してください。

WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

  1. Directory Serverを停止します。

    $ dsadm stop [--force] instance-path
    
  2. 以前にDSCCを使用してサーバーを登録していた場合は、次のコマンドを使用してサーバーを登録解除します。

    $ dsccreg remove-server /local/dsInst
    Enter DSCC administrator's password:
    /local/dsInst is an instance of DS
    Enter password of "cn=Directory Manager" for /local/dsInst:
    This operation will restart /local/dsInst.
    Do you want to continue ? (y/n) y
    Unregistering /local/dsInst from DSCC on localhost.
    Connecting to /local/dsInst
    Disabling DSCC access to /local/dsInst
    Restarting /local/dsInst
    

    詳細は、dsccregのマニュアル・ページを参照してください。

  3. 以前にサービス管理ソリューションでサーバー・インスタンスを有効にした場合は、サービスとしてのサーバーの管理を無効にします。

    オペレーティング・システム コマンド

    Solaris 10

    dsadm disable-service --type SMF instance-path

    Solaris 9

    dsadm autostart --off instance-path

    Windows

    dsadm disable-service --type WIN_SERVICE instance-path


  4. サーバー・インスタンスを削除します。

    $ dsadm delete instance-path
    

    注意:

    このコマンドによって、instance-pathディレクトリの下のすべてが削除されます。

    インスタンスがサービスとして有効である場合、またはインスタンスがシステムの起動時に自動的に起動されている場合には、dsadm deleteの実行にルート・アクセス権が必要です。


4.3 Directory Serverインスタンスの起動、停止および再起動

コマンドラインで次のコマンドを使用できます。

Directory Serverインスタンスを起動する場合

dsadm start

Directory Serverインスタンスを停止する場合

dsadm stop

Directory Serverインスタンスを再起動する場合

dsadm restart

Directory Serverを作成したUIDおよびGID、またはルートを使用して、これらのコマンドを実行する必要があります。たとえば、user1としてDirectory Serverを実行した場合、user1として、startstopおよびrestartユーティリティを実行する必要があります。


注意:

これらのコマンドを使用する場合、次の点にも注意してください。

  • エントリを維持するよう構成されたメモリーに大容量のキャッシュがある状態でDirectory Serverインスタンスを停止して再起動する場合、キャッシュを再度満たすにはしばらく時間がかかります。キャッシュを再度満たしている間、インスタンスのレスポンス時間は遅くなります。

  • データベース・トランザクション・ログからリカバリする必要があるかどうか、またはキャッシュ・サイズによって、Directory Serverの起動に時間がかかる場合があります。そのような場合、dsadm startコマンドはエラーまたはタイムアウトで終了する場合があります。このような問題が予想される場合、dsadm set-flags dsadm-startup-timeoutコマンドを使用してタイムアウトの時間を変更できます。同様に、停止時間のタイムアウトはdsadm set-flags dsadm-shutdown-timeoutコマンドを使用して変更できます。

  • Solarisでは、ロールベースのアクセス制御により、root以外のユーザーとしてDirectory Serverを実行できます。


4.3.1 Directory Serverを起動、停止および再起動するには

WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

ただし、これはサービス管理機能の有効化および無効化の手順には適用されません。サービス管理機能の有効化および無効化は、Directory Serverを起動および停止する際にコマンドラインで実行する必要があります。

dsadmサブコマンドと次で使用されるオプションの詳細は、dsadmを参照してください。

Directory Serverを起動、停止、または再起動するには、次のいずれかを実行します。

  • サーバーを起動するには、次のように入力します。

    $ dsadm start instance-path
    

    たとえば、インスタンス・パス/local/dsInstでサーバーを起動するには、次のコマンドを使用します。

    $ dsadm start /local/dsInst
    

    構成を変更した後、起動操作が失敗した場合、次のように--safeオプションを使用します。

    $ dsadm start --safe /local/dsInst
    
  • サーバーを停止するには、次のように入力します。

    $ dsadm stop [--force] instance-path 
    

    次に例を示します。

    $ dsadm stop --force /local/dsInst
    
  • サーバーを再起動するには、次のように入力します。

    $ dsadm restart instance-path
    

    次に例を示します。

    $ dsadm restart /local/dsInst
    

4.3.2 すべての実行中のインスタンスをリストするには

次のコマンドを使用して、ホストで実行中のインスタンスをリストします。

dsadm list-running-instances [--all]

-allオプションによって、すべてのインストール・パスの実行中のインスタンスがリストされます。

4.3.3 実行中のインスタンスを停止するには

次のコマンドを使用して、ホストで実行中のインスタンスを停止します。

dsadm stop-running-instances [-i] [--force]

4.4 接尾辞の作成

Directory Serverインスタンスを作成した後、サーバーのディレクトリ情報ツリー(DIT)で1つ以上の接尾辞を作成する必要があります。DITは、サーバー内のすべてのエントリで構成されます。エントリは識別名(DN)で識別されます。DNは階層構造であるため、ツリーのデータを構成するブランチとリーフが作成されます。DITは、接尾辞およびサブ接尾辞の単位で定義および管理されます。DSCCは、これらすべての要素の作成および管理を制御します。または、コマンドライン・ツールを使用することもできます。

ディレクトリ・データの構成化および接尾辞全般の概念については、『Oracle Fusion Middleware Oracle Directory Server Enterprise Editionデプロイメント・プランニング・ガイド』を参照してください。

次の手順で説明されているように、dsconf create-suffixコマンドを使用して、ディレクトリに接尾辞構成を作成できます。ルート接尾辞とサブ接尾辞は、内部的には同様に管理されるので、コマンドラインからそれらを作成する手順はほぼ同じです。この手順では、必要なオプションのみで使用されるdsconf create-suffixコマンドを示しています。このコマンドのその他のオプションの詳細は、dsconfのマニュアル・ページを参照するか、次のコマンドを実行してください。

$ dsconf create-suffix --help

構成エントリは、任意の管理ユーザーが作成できます。ただし、接尾辞の最上位エントリは、ディレクトリ・マネージャによって、またはname="DirAdminDN" content="cn=admin,cn=Administrators,cn=config"などのディレクトリ管理者として作成される必要があります

4.4.1 接尾辞を作成するには

WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

DSCCを使用して新しい接尾辞を作成する場合、既存の接尾辞から接尾辞構成設定の一部またはすべてをコピーできます。

  1. ルートの接尾辞を作成します。

    サーバーが稼働していることを確認してから、次のコマンドを入力します。

    $ dsconf create-suffix -h host -p port suffix-DN
    

    ここで、suffix-DNは新しい接尾辞の完全なDNです。ルート接尾辞では、表記規則としてドメインコンポーネント(dc)ネーミング属性を使用します。

    たとえば、DN dc=example,dc=comの接尾辞を作成する場合、次のコマンドを使用します。

    $ dsconf create-suffix -h host1 -p 1389 dc=example,dc=com
    

    このコマンドにより、次のような新しい接尾辞が作成されます。

    • ルート接尾辞の最上位(ベース)エントリが作成されます。

    • 接尾辞とデータベースの両方に対し、cn=config内に構成エントリが作成されます。

    • デフォルトのデータベース名は、接尾辞DNに基づきます。

    作成した新しい接尾辞を含め、すべての接尾辞の詳細は、次のコマンドを使用してください。

    $ dsconf list-suffixes -h host -p port -v
    

    -vオプションを使用すると、詳細モードで表示されます。これは、接尾辞上のエントリ数および任意のレプリケーション情報を表示します。


    注意:

    複数のDirectory Serverインスタンスがある場合、-hホスト名および-pポート番号オプションを使用して、接尾辞が属するサーバー・インスタンスを指定します。

    データベース・ファイルのデフォルト以外のパスを指定する場合、-Lオプションを使用します。接尾辞データベースのパスは後から変更できます。これを行うには、コマンドdsconf set-suffix-prop suffix-DN db-path:new-db-pathを使用してから、サーバーを停止し、データベース・ファイルを手動で移動して、サーバーを再起動します。

    接尾辞を作成する際に使用できるすべてのオプションを確認するには、dsconfマニュアル・ページを参照してください。



    注意:

    データベース名には、ASCII (7ビット)英数字、ハイフン(-)およびアンダースコア(_)のみを含めることができます。Directory Serverは、データベース名、ファイル名およびパス名の文字列にマルチバイト文字(中国語や日本語などのキャラクタ・セット)を受け入れません。

    この問題を回避するには、マルチバイト文字を持つDirectory Server接尾辞を作成する際に、マルチバイト文字を持たないデータベース名を指定します。たとえば、コマンドラインで接尾辞を作成する場合、dsconf create-suffixコマンドの--db-nameオプションを明示的に設定します。

    $ dsconf create-suffix --db-name asciiDBName UTF-8SuffixDN
    

    接尾辞のデータベース名にdefaultは使用しないでください。データベース名にマルチバイト文字を使用しないでください。


  2. 必要に応じて、サブ接尾辞を作成します。

    $ dsconf create-suffix -h host -p port subSuffix-DN
    

    その後、サブ接尾辞をルート接尾辞にアタッチします。

    $ dsconf set-suffix-prop -h host -p port subSuffix-DN parent-suffix-dn:parentSuffix-DN
    

    ここで、parentSuffix-DNは、前の手順のsuffix-DNと同じ値を持つ必要があります。サブ接尾辞のsuffix-DNには、サブ接尾辞の相対識別名(RDN)とその親接尾辞のDNが含まれます。

    たとえば、サブ接尾辞ou=Contractors,dc=example,dc=comを作成し、そのサブ接尾辞をルートを接尾辞にアタッチするには、次のように入力します。

    $ dsconf create-suffix -h host1 -p 1389 ou=Contractors,dc=example,dc=com
    $ dsconf set-suffix-prop -h host1 -p 1389 ou=Contractors,dc=example,dc=com \
     parent-suffix-dn:dc=example,dc=com
    

    エントリをディレクトリに追加する際に、サーバーのデータベース・モジュールは、次のディレクトリにデータベース・ファイルを自動的に作成します。

    instance-path/db/database-name
    

    ここで、database-nameは接尾辞の一部から自動的に構築された名前です。たとえば、前の例ではdatabase-nameContractorsとなります。

  3. 接尾辞をデータで初期化します。「接尾辞の初期化」を参照してください。

4.5 接尾辞の有効化または無効化

場合によっては、保守のために接尾辞を使用不可にしたり、セキュリティ上の理由からその内容を使用不可にする必要のあることがあります。接尾辞を無効にすることによって、クライアント操作に応えてサーバーが接尾辞の内容を読書きすることを防げます。接尾辞を無効にすると、その接尾辞にアクセスすることはできなくなり、リフェラル・モードは自動的に無効になります。

4.5.1 接尾辞を無効化してから有効化するには

WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

  1. 接尾辞を無効にします。

    $ dsconf set-suffix-prop -h host -p port suffix-DN enabled:off
    

    注意:

    レプリケートされた接尾辞のほとんどのプロパティがレプリケーション・メカニズムによって決定されるため、レプリケーションが有効になっている接尾辞は無効にできません。


  2. 接尾辞を有効にします。

    $ dsconf set-suffix-prop -h host -p port suffix-DN enabled:on
    

4.6 リフェラルの設定および接尾辞の読取り専用化

接尾辞を完全に無効にすることなく接尾辞へのアクセスを制限するには、アクセス権を変更して、読取り専用アクセスを許可することもできます。この場合、書込み操作に対しては、別のサーバーへのリフェラルを定義する必要があります。また、読取りアクセスと書込みアクセスの両方を拒否し、接尾辞へのすべての操作に対するリフェラルを定義できます。

さらに、リフェラルを使用して、クライアント・アプリケーションが一時的に別のサーバーを使用するように設定することもできます。たとえば、接尾辞の内容をバックアップしている間、別の接尾辞へリフェラルを追加できます。

接尾辞がレプリケートされた環境のコンシューマである場合、レプリケーション・メカニズムによって、リフェラル設定の値が決まります。リフェラルの設定は手動で変更できますが、リフェラルは次のレプリケーションの更新時に上書きされます。レプリケーションのリフェラルの設定の詳細は、「詳細コンシューマ構成を実行するには:」を参照してください。

リフェラルはラベル化されたURLなので、LDAP URLには空白文字とラベルが続く場合があります。次に例を示します。

ldap://phonebook.example.com:389/

または

ldap://phonebook.example.com:389/ou=All%20People,dc=example,dc=com

空白文字は文法的意味を持つので、リフェラルのURL部分にある空白文字は、%20を使用してエスケープする必要があります。

4.6.1 リフェラルを設定して接尾辞を読取り専用にするには

WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

  1. リフェラルのURLを設定します。

    $ dsconf set-suffix-prop -h host -p port suffix-DN referral-url:LDAP-URL
    

    ここでLDAP-URLは、ターゲットのホスト名、ポート名、DNを含む有効なURLです。

    次に例を示します。

    $ dsconf set-suffix-prop -h host1 -p 1389 dc=example,dc=com \
     referral-url:ldap://phonebook.example.com:389/
    

    LDAP URLは任意の個数を指定できます。

  2. 接尾辞を読取り専用にするためにリフェラル・モードを設定します。

    $ dsconf set-suffix-prop -h host -p port suffix-DN referral-mode:only-on-write
    

    接尾辞を読取りも書込みもできないようにし、すべてのリクエストにリフェラルを返すにはreferral-modeenabledに設定します。

  3. コマンドが正常に実行されるとすぐに、接尾辞は読取り専用またはアクセス不可になり、リフェラルを返す準備ができます。

  4. 接尾辞が使用できるようになったら、再び接尾辞の読書きができるようにリフェラルを無効にします。

    $ dsconf set-suffix-prop -h host -p port suffix-DN referral-mode:disabled
    

    リフェラルが無効になると、接尾辞のenabledプロパティをoffに設定して接尾辞自体を無効にしていないかぎり、接尾辞は自動的に読書き可能になります。

4.7 LDIFファイルからのデータのインポート

次のような方法で、データをDirectory Server接尾辞にインポートできます。


注意:

オフライン・インポート(dsadm import)では、変更ログ・データが接尾辞に残っている可能性があるため、変更ログを削除しません。サーバーの起動時に、レプリケーション処理で変更ログを残す必要があるかどうかを決定します。オンライン・インポート(dsconf import)では、変更ログを再作成する必要があるかどうかを即座に決定します。


次の表は、接尾辞の初期化と、エントリの一括の追加、変更、削除の違いを示しています。

表4-2 接尾辞の初期化と一括変更の実行との差異

比較ドメイン 接尾辞の初期化 エントリの一括の追加、変更および削除

内容

内容を上書きする

内容を上書きしない

LDAP操作

N/A

追加、変更、削除

パフォーマンス

高速

低速

サーバーの障害への対応

原子性(障害が発生するとすべての変更内容は失われる)

ベスト・エフォート(障害発生時までの変更内容はそのまま残る)

LDIFファイルの場所

サーバーからアクセス可能

クライアント・マシン上

コマンド

サーバーがローカルにあり、停止している場合:

dsadm import

サーバーがリモートにあり、実行中の場合:

dsconf import

ldapmodify -B

注意: ldapmodify -Bコマンドを使用した一括インポートでは、ターゲット接尾辞の下の既存のエントリを削除します。


4.7.1 接尾辞の初期化

接尾辞を初期化すると、接尾辞に含まれている既存のデータが、追加するエントリのみを含むLDIFファイルの内容によって上書きされます。

接尾辞を初期化するユーザーは、ディレクトリ・マネージャまたは管理者としての認証を受けている必要があります。

サーバーが実行中の場合、ルート・エントリを含むLDIFファイルをインポートできるのは、ディレクトリ・マネージャと管理者のみです。セキュリティ上の理由により、これらのユーザーのみが、たとえばdc=example,dc=comのような接尾辞のルート・エントリへのアクセス権を持ちます。

レプリケーション承諾に関連する接尾辞をリストアする前に、「レプリケートされた接尾辞のリストア」をお読みください。

4.7.1.1 接尾辞を初期化するには


注意:

  • インポートするすべてのLDIFファイルでは、UTF-8キャラクタ・セット・エンコードが使用されている必要があります。

  • 接尾辞を初期化するときは、ルート・エントリと、対応する接尾辞のルール・エントリとすべてのディレクトリ・ツリー・ノードがLDIFファイルに含まれている必要があります。


WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

次のコマンドのいずれかを使用して、LDIFファイルから接尾辞を初期化します。つまり、データベースの内容をLDIFファイルにインポートします。


注意:

次のコマンドで、接尾辞のデータを上書きします。


  • サーバーがローカルかつ停止中の場合、次を入力します。

    $ dsadm import instance-path LDIF-file suffix-DN
    

    次の例では、dsadm importコマンドを使用して、2つのLDIFファイルを1つの接尾辞にインポートします。

    $ dsadm import /local/dsInst /local/file/example/demo1.ldif \
     /local/file/example/demo2.ldif dc=example,dc=com
    
  • (ローカルでもリモートでも)サーバーが実行中の場合は、次のように入力します。

    $ dsconf import -h host -p port LDIF-file suffix-DN
    

    次の例では、dsconf importを使用してLDIFファイルをインポートします。このコマンドを実行するためにroot権限は必要ありませんが、ディレクトリ・マネージャなどのroot権限を持つユーザーとして認証される必要があります。

    $ dsconf import -h host1 -p 1389 /local/file/example/demo1.ldif \
     ou=People,dc=example,dc=com
    
  • gzip圧縮ファイルをインポートできます。例:

    $ dsadm import /local/dsInst /local/file/example/demo2.ldif.gz \
    /local/file/example/demo2.ldif dc=example,dc=com
    
    $ dsconf import -h host1 -p 1389 /local/file/example/demo2.ldif.gz \
    ou=People,dc=example,dc=com 
    

詳細は、dsadmについての説明およびdsconfについての説明のマニュアル・ページを参照してください。

4.7.2 サンプル・データをDirectory Serverインスタンスにロードするには

コマンドライン・ツールを使用するサンプルは、使用しているディレクトリのdc=example,dc=com接尾辞の下に存在するサンプル・データを使用します。

dc=example,dc=comを作成することで、必要なデータの一部を設定できます。これで、install-path/dsee7/resources/ldif/Example.ldifファイルから接尾辞にエントリを移入できます。

  1. 新しいDirectory Serverインスタンスを作成して、インスタンスを起動します。

    $ dsadm create -p port -P SSL-port instance-path
    $ dsadm start instance-path
    
  2. Example.ldifファイルで、サンプルに必要なバインド・パスワードを確認します。

  3. 次のコマンドを使用し、接尾辞を作成してExample.ldifの内容をディレクトリにロードします。

    $ dsconf create-suffix -h localhost -p 1389 dc=example,dc=com
    $ dsconf import -h localhost -p 1389 \
    install-path/dsee7/resources/ldif/Example.ldif dc=example,dc=com
    

    詳細は、「Directory Serverインスタンスを作成するには:」を参照してください。

  4. 次の手順に示すmakeldifコマンドと次のテンプレートを使用して、サンプル用のテスト・データを生成します。

    define suffix=dc=example,dc=com
    define maildomain=example.com
    
    branch: ou=test,[suffix]
    subordinateTemplate: person:100
    
    template: person
    rdnAttr: uid
    objectclass: top
    objectclass: person
    objectclass: organizationalPerson
    objectclass: inetOrgPerson
    givenName: <first>
    sn: <last>
    cn: {givenName} {sn}
    initials: {givenName:1}{sn:1}
    employeeNumber: <sequential>
    uid: test{employeeNumber}
    mail: {uid}@[maildomain]
    userPassword: auth{employeeNumber}{employeeNumber}
    telephoneNumber: <random>
    description: This is the description for {cn}.
    
  5. test.templateファイルを作成して、前述のように、その中にテンプレートの内容をコピーします。次のようなコマンドを使用して、test.ldifにデータを生成し、その内容をディレクトリにロードします。


    注意:

    test.templateファイルは、install-path/dsee7/dsrk/bin/example_filesディレクトリに作成する必要があります。


    $ cd install-path/dsee7/dsrk/bin/example_files
    $ ../makeldif -t test.template -o test.ldif
    Processing complete.
    101 total entries written.
    $ ../ldapmodify -a -c -D uid=hmiller,dc=example,dc=com -w - -f test.ldif
    Enter bind password:
    …
    

    Example.ldifを確認すると、hmillerのパスワードはhillockであることがわかります。


    注意:

    makeldifコマンドはzipディストリビューションでしか使用できないため、この手順はzipインストールに固有となります。


4.7.3 エントリの一括の追加、変更および削除

ldapmodify操作を実行すると、エントリをまとめて追加、変更または削除できます。エントリは、既存のエントリを変更または削除するための更新文を含むLDIFファイルに指定されています。この操作では、すでに存在しているエントリは消去しません。

変更されたエントリは、Directory Serverで管理される接尾辞の対象となることがあります。エントリを追加する他の処理と同様に、インポートされた新しいエントリすべてに索引が付けられます。

ldapmodifyコマンドによって、LDAPによってLDIFファイルがインポートされ、このファイルに含まれるすべての操作が実行されます。このコマンドを使用すると、すべてのディレクトリ接尾辞のデータを同時に変更できます。

レプリケーション承諾に関連する接尾辞をリストアする前に、「レプリケートされた接尾辞のリストア」を参照してください。

4.7.3.1 エントリをまとめて追加、変更および削除するには


注意:

インポートするすべてのLDIFファイルでは、UTF-8キャラクタ・セット・エンコードが使用されている必要があります。

LDIFファイルをインポートするときは、ディレクトリ内に親エントリが存在するか、ファイルから親エントリを最初にコピーする必要があります。


LDIFファイルからまとめて追加、変更または削除します。

$ ldapmodify -D cn=admin,cn=Administrators,cn=config -w - -B baseDN -f LDIF-file

次の例では、ldapmodifyコマンドを使用してインポートが実行されます。このコマンドを実行するためにroot権限は必要ありませんが、cn=Directory Managerまたはname="DirAdminDN" content="cn=admin,cn=Administrators,cn=config"などのroot権限を持つユーザーとして認証される必要があります。最後のパラメータは、インポートするLDIFファイルの名前を指定するものです。

$ ldapmodify -D cn=admin,cn=Administrators,cn=config -w - \
 -B dc=example,dc=com -f /local/dsInst/ldif/demo.ldif

4.8 接尾辞の削除

接尾辞を削除すると、DITからそのブランチ全体が削除されます。


注意:

接尾辞を削除すると、ディレクトリからそのデータ・エントリすべてが完全に削除されます。レプリケーション構成を含む接尾辞構成情報もすべて削除されます。


親接尾辞を削除し、そのサブ接尾辞をDITで新しいルート接尾辞として保持することはできません。サブ接尾辞が含まれるブランチ全体を削除する場合は、削除する親のサブ接尾辞とさらに持ちうるそれぞれのサブ接尾辞も削除する必要があります。

4.8.1 接尾辞を削除するには

WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

接尾辞の構成エントリを削除します。

$ dsconf delete-suffix -h host -p port [subSuffix-DN] suffix-DN

このコマンドによって、suffix-DNのベース・エントリで始まる接尾辞がサーバーから削除されます。これで、接尾辞はディレクトリに表示されなくなり、アクセスできなくなります。

4.9 接尾辞の圧縮

Directory Server 11gリリース1 (11.1.1.6)では、オフラインでの接尾辞の圧縮がサポートされます。このリリースでは、オンラインでの圧縮はサポートされません。記憶領域を使用できる場合、接尾辞を圧縮すると、データベース・キーが再編成されることによりデータベースのサイズが縮小され、記憶領域が適宜ファイルシステムに返されます。接尾辞を圧縮することにより、ディスクのフットプリントも縮小します。アプリケーション・データはデータベース・キーの管理方法に基づいて処理されるわけではないので、記憶領域が取り戻されるかは保証されません。ただし、データベースのサイズは大きくなりません。

4.9.1 接尾辞をオフラインで圧縮するには

開始する前に

  • 十分なディスク領域を確保してください。

    接尾辞の圧縮では、圧縮される最大の接尾辞の大きさの2倍以上の空きディスク領域が必要になります。この空きディスク領域は、一時ファイルでも必要になります。たとえば、次の3つの接尾辞を圧縮するとします。

    o=suffix1 : 300 Gb 
    o=suffix2 : 170 Gb 
    o=suffix3 : 633 Gb
    

    サーバーには少なくとも、633 * 2 = 1266 Gbの空きディスク領域が必要です。

  • サーバーを停止してデータベースをバックアップしてから、このタスクを実行します。

必要な接尾辞を圧縮します。

$ dsadm repack instance-path suffix-dn

指定された接尾辞に関連するすべての.db3ファイルが圧縮されます。

-bオプションを指定してこのコマンドを実行する場合、接尾辞DNのかわりに、バックエンド・データベース名を指定できます。少なくとも1つの接尾辞または1つのバックエンドを指定する必要があります。

詳細は、dsadmに関する説明のマニュアル・ページを参照してください。

4.10 接尾辞のリライト

ODSEE 11gR1では、DSEE 6以降からアップグレードされているインスタンスに応じて、エントリを様々な表現で保存できます。LDAP操作を使用して単一のエントリを変更する場合、ODSEEは現在構成されている形式を使用してそれらのエントリを変更します。変更されていないエントリは、そのまま変わりません。ただし、現在の構成はディスク上のものとは異なることがあり、必ずしもLDAPを介してすべてのエントリを変更できるとはかぎりません。そのような場合、接尾辞をリライトして、データベース内のすべてのエントリを一度に変換またはアップグレードできます。これは、次のような場合に便利です。

4.10.1 接尾辞をリライトするには

次のコマンドのいずれかを使用します。

  • サーバーがローカルかつ停止中の場合、次を入力します。

    $ dsadm rewrite instance-path suffix-DN
    
  • (ローカルでもリモートでも)サーバーが実行中の場合は、次のように入力します。

    $ dsconf rewrite -h host -p portsuffix-DN
    

    このコマンドを実行するためにroot権限は必要ありませんが、ディレクトリ・マネージャなどのroot権限を持つユーザーとして認証される必要があります。

詳細は、dsadmについての説明およびdsconfについての説明のマニュアル・ページを参照してください。