5.2 LDIFファイルのデバッグ

LDIFファイルで問題が発生した場合、次のことを考慮してください。

5.2.1 前方参照を有効化する

LDIFファイルで、あるエントリを追加するレコードを、そのエントリのペアレントを追加するレコードの前に記述してしまう場合があります。この場合、LDAPサーバが新しいエントリを追加しようとすると、そのエントリのペアレントが存在しないためエラーが発生します。

この問題は、前方参照の使用を有効にするだけで解決できます。前方参照の作成を有効にすると、エントリを作成するときにそのペアレントがまだ存在していない場合でも、このペアレント用に前方参照というプレースホルダが作成されるため、エントリを正常に作成できます。以後の操作で親が作成されると、前方向参照は通常のエントリに変更されます。

LDIFのインポートが完了した後でも、1つ以上の前方参照が残っている場合があります(たとえば、LDIFファイルでエントリのペアレントが作成されなかった場合など)。この場合、前方参照はConsoleOneおよびiManagerに不明オブジェクトとして表示されます。前方参照エントリを検索することはできますが、前方参照エントリには属性も属性値もないため、objectClass以外の属性を読み込むことはできません。ただし、前方参照の下に位置する実オブジェクトエントリ上では、すべてのLDAP操作が正常に機能します。

前方参照エントリを識別する

前方参照エントリは「不明」のオブジェクトクラスを持ち、また、内部NDS EF_REFERENCEエントリにフラグが設定されています。ConsoleOneおよびiManagerでは、「不明」のオブジェクトクラスを持つエントリは、中央に疑問符が表示される丸い黄色のアイコンで示されます。LDAPを使用して不明オブジェクトクラスのオブジェクトを検索することもできますが、現時点ではLDAPからエントリフラグの設定にアクセスしてそれが前方参照エントリであることを確認する方法はありません。

前方参照エントリを通常オブジェクトへ変更する

(LDIFファイルまたはLDAPクライアント要求などを使用して)オブジェクトを作成するだけで、前方参照エントリを通常のオブジェクトに変更できます。eDirectoryで作成するように指定したエントリが前方参照としてすでに存在する場合、eDirectoryでは既存の前方参照エントリが、作成を指定したオブジェクトに変換されます。

NetIQ eDirectoryインポート/エクスポート変換ウィザードを使用する

LDIFのインポート時に前方参照を有効にするには、次の手順に従ってください。

  1. NetIQ iManagerで、[役割およびタスク]ボタン [役割およびタスク]ボタン をクリックします。

  2. eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。

  3. ディスク上のファイルからデータをインポート]をクリックし、[次へ]をクリックします

  4. インポートするファイルのタイプに[LDIF]を指定します。

  5. インポートするデータが含まれているファイルの名前を指定し、適切なオプションを指定してから[次へ]をクリックします。

  6. データのインポート先になるLDAPサーバを指定します。

  7. 次の表の説明を参照して、適切なオプションを追加します。

    オプション

    説明

    サーバのDNS名/IPアドレス

    相手LDAPサーバのDNS名またはIPアドレス

    ポート

    相手LDAPサーバのポート番号(整数)

    DERファイル

    SSL認証に使用するサーバキーが格納されているDERファイルの名前

    ログイン方法

    [認証ログイン]または[匿名ログイン]([ユーザDN]フィールドに指定したエントリのログイン方法)

    ユーザDN

    サーバで指定されたバインド操作に使用されるエントリの識別名

    パスワード

    [ユーザDN]フィールドで指定したエントリのパスワード属性

  8. 詳細設定]で、[前方参照を許可する]をクリックします。

  9. 次へ]をクリックし、[終了]をクリックします。

データをデータサーバへ移行するときに前方参照を有効にするには、次の手順に従ってください。

  1. NetIQ iManagerで、[役割およびタスク]ボタン [役割およびタスク]ボタン をクリックします。

  2. eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。

  3. サーバ間でデータを移行]>[次へ]の順にクリックします。

  4. 移行するエントリが格納されているLDAPサーバを指定します。

  5. 次の表の説明を参照して、適切なオプションを追加します。

    オプション

    説明

    サーバのDNS名/IPアドレス

    ソースLDAPサーバのDNS名またはIPアドレス

    ポート

    ソースLDAPサーバのポート番号(整数)

    DERファイル

    SSL認証に使用するサーバキーが格納されているDERファイルの名前

    ログイン方法

    [認証ログイン]または[匿名ログイン]([ユーザDN]フィールドに指定したエントリのログイン方法)

    ユーザDN

    サーバで指定されたバインド操作に使用されるエントリの識別名

    パスワード

    [ユーザDN]フィールドで指定したエントリのパスワード属性

  6. 詳細設定]で、[前方参照を許可する]をクリックします。

  7. 次へ]をクリックします。

  8. 移行するエントリの検索条件を次のように指定します。

    オプション

    説明

    ベースDN

    検索要求のベース識別名

    このフィールドを指定しなかった場合、デフォルトのベースDNである""(空の文字列)が使用されます。

    スコープ

    検索要求のスコープ

    フィルタ

    RFC 2254準拠の検索フィルタ

    デフォルトは「objectclass=*」です。

    属性

    検索エントリごとに取得する属性

  9. 次へ]をクリックします。

  10. データを移行するLDAPサーバを指定します。

  11. 次へ]をクリックし、[終了]をクリックします。

    メモ:スキーマが各LDAPサービスで整合性を保っていることを確認します。

NetIQインポート/エクスポート変換ユーティリティのコマンドラインインタフェースの使用

コマンドラインインタフェースで前方参照を有効にするには、‑F LDAPターゲットハンドラオプションを使用します。

詳細については、『NetIQ eDirectory 8.8 SP8管理ガイド』のLDIFターゲットハンドラのオプションを参照してください。

5.2.2 LDIFファイルの構文をチェックする

ファイル内のレコードを処理する前に、[操作を表示するが実行しない]LDIFソースハンドラオプションを使用してLDIFファイルの構文をチェックできます。

LDIFソースハンドラは、LDIFファイル内のレコードを処理するときに常に構文をチェックします。このオプションを使用すると、レコードの処理を無効にして、構文を検証できます。

NetIQ eDirectoryインポート/エクスポート変換ウィザードを使用する

  1. NetIQ iManagerで、[役割およびタスク]ボタン [役割およびタスク]ボタン をクリックします。

  2. eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。

  3. ディスク上のファイルからデータをインポート]をクリックし、[次へ]をクリックします

  4. インポートするファイルのタイプに[LDIF]を指定します。

  5. インポートするデータが含まれているファイルの名前を指定し、適切なオプションを指定します。

  6. 詳細設定]で、[操作を実行せずに表示]をクリックし、[次へ]をクリックします。

  7. データのインポート先になるLDAPサーバを指定します。

  8. 次の表の説明を参照して、適切なオプションを追加します。

    オプション

    説明

    サーバのDNS名/IPアドレス

    相手LDAPサーバのDNS名またはIPアドレス

    ポート

    相手LDAPサーバのポート番号(整数)

    DERファイル

    SSL認証に使用するサーバキーが格納されているDERファイルの名前

    ログイン方法

    [認証ログイン]または[匿名ログイン]([ユーザDN]フィールドに指定したエントリのログイン方法)

    ユーザDN

    サーバで指定されたバインド操作に使用されるエントリの識別名

    パスワード

    [ユーザDN]フィールドで指定したエントリのパスワード属性

  9. 次へ]をクリックし、[終了]をクリックします。

NetIQインポート/エクスポート変換ユーティリティのコマンドラインインタフェースの使用

コマンドラインインタフェースでLDIFファイルの構文をチェックするには、‑n LDIFソースハンドラオプションを使用します。

詳細については、『NetIQ eDirectory 8.8 SP8管理ガイド』のLDIFソースハンドラのオプションを参照してください。

5.2.3 LDIFエラーファイルを使用する

NetIQインポート/エクスポート変換ユーティリティは、ターゲットハンドラによる処理に失敗したレコードをすべてリストしたLDIFファイルを自動的に作成します。ユーティリティによって生成されたLDIFエラーファイルを編集してエラーを修正し、サーバに再適用することで、失敗したレコードに含まれているインポートまたはデータの移行を完了できます。

NetIQ eDirectoryインポート/エクスポートウィザードを使用する

この機能はConsoleOneのみで使用できます。

  1. ConsoleOneで、[ウィザード]>[NDSインポート/エクスポート]の順にクリックします。

  2. 実行するタスクをクリックします。

  3. 詳細]をクリックします。

  4. ログファイル]フィールドに、出力メッセージ(エラーメッセージを含む)を記録するファイル名を指定します。

  5. 失敗したレコードのLDIF出力ファイル]フィールドに、失敗したエントリをLDIF形式で出力するファイル名を指定します。

    このファイルは、エラーの確認や訂正に使用できます。このファイルを修正(訂正)して、もう一度ディレクトリに適用することもできます。

  6. 閉じる]をクリックします。

  7. 表示される指示に従って、選択したタスクを完了します。

NetIQインポート/エクスポート変換ユーティリティのコマンドラインインタフェースの使用

コマンドラインユーティリティでエラーログオプションを設定するには、‑l一般オプションを使用します。

詳細については、『NetIQ eDirectory 8.8 SP8管理ガイド』の一般オプションを参照してください。

5.2.4 LDAP SDKデバッギングフラグを使用する

一部のLDIFの問題を理解するには、LDAPクライアントSDKがどのように機能するかを理解する必要があります。LDAPソースハンドラ、LDAPターゲットハンドラ、またはその両方に、次のデバッギングフラグを設定できます。

説明

0x0001

LDAPファンクションコールをトレースします。

0x0002

パケットに関する情報を出力します。

0x0004

引数に関する情報を出力します。

0x0008

接続情報を出力します。

0x0010

BERのエンコーディングおよびデコーディング情報を出力します。

0x0020

検索フィルタ情報を出力します。

0x0040

設定情報を出力します。

0x0080

ACL情報を出力します。

0x0100

統計情報を出力します。

0x0200

追加の統計情報を出力します。

0x0400

シェル情報を出力します。

0x0800

解析情報を出力します。

0xFFFF (10進数では、-1)

すべてのデバッギングオプションを有効にします。

この機能を有効にするには、LDAPソースハンドラおよびターゲットハンドラで‑eオプションを使用します。-eオプションに指定する整数の値は、LDAP SDKでさまざまな種類のデバッグ情報を有効にするビットマスクです。

詳細については、『NetIQ eDirectory 8.8 SP8管理ガイド』のLDAPソースハンドラのオプションおよびLDAPターゲットハンドラのオプションを参照してください。