Sun Java System Directory Server Enterprise Edition 6.1 管理ガイド

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

次のような方法で、データを Directory Server サフィックスにインポートできます。

次の表は、サフィックスの初期化と、エントリの一括の追加、変更、削除の違いを示しています。

表 8–1 サフィックスの初期化とデータの一括インポートの比較

比較ドメイン 

サフィックスの初期化 

エントリの一括の追加、変更、削除 

内容の上書き 

内容の上書き 

内容を上書きしない 

LDAP 処理 

追加のみ 

追加、変更、削除 

性能 

高速 

低速 

サーバーの障害への対応 

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

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

LDIF ファイルの位置 

クライアントまたはサーバーと同じマシン上 

クライアントマシン上 

設定情報のインポート (cn=config)

設定情報をインポートする 

設定情報をインポートしない 

コマンド (Commands) 

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

dsadm import

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

dsconf import

ldapmodify -B

サフィックスの初期化

サフィックスを初期化すると、サフィックスに含まれている既存のデータが、追加するエントリだけを含む LDIF ファイルの内容によって上書きされます。

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

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

レプリケーションアグリーメントに関連するサフィックスを復元する前に、「レプリケートされたサフィックスの復元」をお読みください。

Procedureサフィックスを初期化する


注 –

インポートする LDIF ファイルでは、UTF-8 文字セットエンコードが使用されている必要があります。

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


DSCC を使用してこの作業を実行できます。詳細は、「Directory Service Control Center のインタフェース」と DSCC のオンラインヘルプを参照してください。

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


    注意 – 注意 –

    次のコマンドで、サフィックスのデータを上書きします。


    • サーバーがローカルにあり、停止している場合は、次のように入力します。


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

      次の例では、dsadm import コマンドを使用して、LDIF ファイルを 1 つのサフィックスにインポートします。


      $ dsadm import /local/ds /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

    注 –

    dsconf importdsconf reindex のいずれか、または複数のサフィックスで並行して両方のコマンドを実行すると、トランザクションログが大きくなり、パフォーマンスに悪影響を及ぼすことがあります。


    これらのコマンドの詳細については、dsadm(1M) および dsconf(1M) のマニュアルページを参照してください。

エントリの一括の追加、変更、削除

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

変更されたエントリは、Directory Server で管理されるサフィックスの対象となることがあります。エントリを追加するほかの処理と同様に、インポートされた新しいエントリすべてにインデックスが付けられます。

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

レプリケーションアグリーメントに関連するサフィックスを復元する前に、「レプリケートされたサフィックスの復元」を参照してください。

Procedureエントリをまとめて追加、変更、削除する


注 –

インポートする LDIF ファイルでは、UTF-8 文字セットエンコードが使用されている必要があります。

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


DSCC を使用してこの作業を実行できます。詳細は、「Directory Service Control Center のインタフェース」と DSCC のオンラインヘルプを参照してください。

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


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

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


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