LDIFファイルで問題が発生した場合、次のことを考慮してください。
LDIFファイルで、あるエントリを追加するレコードを、そのエントリのペアレントを追加するレコードの前に記述してしまう場合があります。この場合、LDAPサーバが新しいエントリを追加しようとすると、そのエントリのペアレントが存在しないためエラーが発生します。
この問題は、前方参照の使用を有効にするだけで解決できます。前方参照の作成を有効にすると、エントリを作成するときにそのペアレントがまだ存在していない場合でも、このペアレント用に前方参照というプレースホルダが作成されるため、エントリを正常に作成できます。以後の処理でペアレントが作成されると、前方参照は通常のエントリに変更されます。
LDIFのインポートが完了した後でも、1つ以上の前方参照が残っている場合があります(たとえば、LDIFファイルでエントリのペアレントが作成されなかった場合など)。この場合、前方参照はConsoleOneおよびiManagerに不明オブジェクトとして表示されます。前方参照エントリを検索することはできますが、前方参照エントリには属性も属性値もないため、objectClass以外の属性を読み込むことはできません。ただし、前方参照の下に位置する実オブジェクトエントリ上では、すべてのLDAP操作が正常に機能します。
前方参照エントリは「不明」のオブジェクトクラスを持ち、また、内部NDS EF_REFERENCEエントリにフラグが設定されています。ConsoleOneおよびiManagerでは、「不明」のオブジェクトクラスを持つエントリは、中央に疑問符が表示される丸い黄色のアイコンで示されます。LDAPを使用して不明オブジェクトクラスのオブジェクトを検索することもできますが、現時点ではLDAPからエントリフラグの設定にアクセスしてそれが前方参照エントリであることを確認する方法はありません。
(LDIFファイルまたはLDAPクライアント要求などを使用して)オブジェクトを作成するだけで、前方参照エントリを通常のオブジェクトに変更できます。eDirectoryで作成するように指定したエントリが前方参照としてすでに存在する場合、eDirectoryでは既存の前方参照エントリが、作成を指定したオブジェクトに変換されます。
LDIFのインポート時に前方参照を有効にするには、次の手順に従ってください。
Novell iManagerで、[役割およびタスク]ボタンをクリックします。
[eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。
[ディスク上のファイルからデータをインポート]をクリックし、[次へ]をクリックします。
インポートするファイルのタイプにLDIFを指定します。
インポートするデータが含まれているファイルの名前を指定し、適切なオプションを指定してから[次へ]をクリックします。
データのインポート先になるLDAPサーバを指定します。
次の表の説明を参照して、適切なオプションを追加します。
詳細設定で、[前方参照を許可する]をクリックします。
[次へ]>[完了]の順にクリックします。
データをデータサーバへ移行するときに前方参照を有効にするには、次の手順に従ってください。
Novell iManagerで、[役割およびタスク]ボタンをクリックします。
[eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。
[Migrate Data Between Servers]>[次へ]の順にクリックします。
移行するエントリが格納されているLDAPサーバを指定します。
次の表の説明を参照して、適切なオプションを追加します。
詳細設定で、[前方参照を許可する]をクリックします。
[次へ]をクリックします。
移行するエントリの検索条件を次のように指定します。
オプション | 説明 |
---|---|
ベースDN |
検索要求のベース識別名 このフィールドを指定しなかった場合、デフォルトのベースDNである""(空の文字列)が使用されます。 |
スコープ |
検索要求のスコープ |
フィルタ |
RFC 2254準拠の検索フィルタ デフォルトは「objectclass=*」です。 |
属性 |
検索エントリごとに取得する属性 |
[次へ]をクリックします。
データを移行するLDAPサーバを指定します。
[次へ]>[完了]の順にクリックします。
注: スキーマが各LDAPサービスで整合性を保っていることを確認します。
コマンドラインインタフェースで前方参照を有効にするには、-F LDAPターゲットハンドラオプションを使用します。
詳細については、『Novell eDirectory 8.8管理ガイド』の「LDIFターゲットハンドラのオプション」を参照してください。
ファイル内のレコードを処理する前に、[操作を表示するが実行しない]LDIFソースハンドラオプションを使用してLDIFファイルの構文をチェックできます。
LDIFソースハンドラは、LDIFファイル内のレコードを処理するときに常に構文をチェックします。このオプションを使用すると、レコードの処理を無効にして、構文を検証できます。
Novell iManagerで、[役割およびタスク]ボタンをクリックします。
[eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。
[ディスク上のファイルからデータをインポート]をクリックし、[次へ]をクリックします。
インポートするファイルのタイプにLDIFを指定します。
インポートするデータが含まれているファイルの名前を指定し、適切なオプションを指定します。
詳細設定で、[操作を実行せずに表示]をクリックし、[次へ]をクリックします。
データのインポート先になるLDAPサーバを指定します。
次の表の説明を参照して、適切なオプションを追加します。
[次へ]>[完了]の順にクリックします。
コマンドラインインタフェースでLDIFファイルの構文をチェックするには、-n LDIFソースハンドラオプションを使用します。
詳細については、『Novell eDirectory 8.8管理ガイド』の「LDIFソースハンドラのオプション」を参照してください。
Novellインポート/エクスポート変換ユーティリティは、ターゲットハンドラによる処理に失敗したレコードをすべてリストしたLDIFファイルを自動的に作成します。ユーティリティによって生成されたLDIFエラーファイルを編集してエラーを修正し、サーバに再適用することで、失敗したレコードに含まれているインポートまたはデータの移行を完了できます。
この機能はConsoleOneのみで使用できます。
ConsoleOneで、[ウィザード]>[NDSインポート/エクスポート]の順にクリックします。
実行するタスクをクリックします。
[詳細]をクリックします。
[ログファイル]フィールドに、出力メッセージ(エラーメッセージを含む)を記録するファイル名を指定します。
[失敗したレコードのLDIF出力ファイル]フィールドに、失敗したエントリをLDIF形式で出力するファイル名を指定します。
このファイルは、エラーの確認や訂正に使用できます。このファイルを修正(訂正)して、もう一度ディレクトリに適用することもできます。
[閉じる]をクリックします。
表示される指示に従って、選択したタスクを完了します。
コマンドラインユーティリティでエラーログオプションを設定するには、-l一般オプションを使用します。
詳細については、『Novell eDirectory 8.8管理ガイド』の「一般オプション」を参照してください。
一部のLDIFの問題を理解するには、LDAPクライアントSDKがどのように機能するかを理解する必要があります。LDAPソースハンドラ、LDAPターゲットハンドラ、またはその両方に、次のデバッギングフラグを設定できます。
この機能を有効にするには、LDAPソースハンドラおよびターゲットハンドラで-eオプションを使用します。-eオプションに指定する整数の値は、LDAP SDKでさまざまな種類のデバッグ情報を有効にするビットマスクです。
詳細については、『Novell eDirectory 8.8管理ガイド』の「LDAPソースハンドラのオプション」および「LDIFターゲットハンドラのオプション」を参照してください。