25 LDAPディレクトリ
この章の内容は次のとおりです。
25.1 概要
Oracle Data Integratorでは、Oracle Data Integrator Driver for LDAPを使用したLDAPディレクトリ統合がサポートされています。
25.1.1 概念
LDAPの概念は、Oracle Data Integratorの概念に次のようにマップされます。1つのLDAPディレクトリ・ツリー、より具体的には、このLDAPツリーのエントリ・ポイントは、Oracle Data Integratorの1つのデータ・サーバーに対応します。このデータ・サーバー内で、単一のスキーマがLDAPディレクトリ・ツリーのコンテンツにマップされます。
Oracle Data Integrator Driver for LDAP (LDAPドライバ)により、LDAPツリーの階層構造がリレーショナル・スキーマにロードされます。このリレーショナル・スキーマは、標準のSQL文を使用した問合せまたは変更が可能な一連の表です。
ノート:
ODI LDAPドライバのLDAPサーバーに対するサポートには制限があります。特定のLDAPサーバー・インスタンスで、ドライバの一部の機能を使用できない場合があります。ODIはJava JNDI APIを使用してLDAPサーバーと通信します。LDAP仕様に完全に準拠しているLDAPサーバーであれば、ドライバのすべての機能は動作します。そうでない場合、一部の機能が動作しないことがあります。リレーショナル・スキーマは、表、列および制約とともに、ODIでデータ・モデルとしてリバース・エンジニアリングされます。このモデルは、ODI内で通常のリレーショナル・データ・モデルと同様に使用されます。リレーショナル・スキーマ・データで実行されたすべての変更(挿入/更新)は、ドライバによって、ただちにLDAPデータに反映されます。
このドライバの詳細は、「Oracle Data Integrator Driver for LDAPの参照情報」を参照してください。
25.1.2 ナレッジ・モジュール
Oracle Data Integratorには、LDAPテクノロジ専用のナレッジ・モジュール(KM)は用意されていません。LDAPは、SQLデータ・サーバーとして使用できます。LDAPデータ・サーバーでは、SQLデータ・サーバーをソース指定またはターゲット指定するテクノロジ固有のKMと汎用KMの両方がサポートされています。これらのKMの詳細は、「汎用SQL」またはテクノロジの章を参照してください。
25.2 インストールおよび構成
LDAPテクノロジでの作業を開始する前に、この項の情報を必ず読んでください。
25.2.1 システム要件
インストールを実行する前に、システム要件および動作要件のドキュメントを読んで、使用する環境がインストールする製品の最低インストール要件を満たすことを確認する必要があります。
サポートされているプラットフォームおよびバージョンのリストには、次のOracle Technical Network (OTN)からアクセスできます。
http://www.oracle.com/technetwork/middleware/data-integrator/documentation/index.html。
25.2.3 接続性要件
この項では、LDAPデータベースに接続するための要件をリストします。
Oracle Data Integrator Driver for LDAP
LDAPディレクトリへのアクセスは、Oracle Data Integrator Driver for LDAPを介して行われます。このJDBCドライバは、Oracle Data Integratorとともにインストールされます。
LDAPディレクトリに接続するには、次の接続情報についてシステム管理者に問い合せてください。
-
ディレクトリに接続するためのURL。
-
ディレクトリに接続するためユーザーおよびパスワード。
-
基本識別名(ベースDN)。これは、ODIがアクセスするLDAPツリー内の場所です。
参照LDAPツリー構造およびドライバの外部記憶域データベースへの接続が必要になる場合もあります。これらの概念および構成パラメータの詳細は、「Oracle Data Integrator Driver for XMLの参照情報」を参照してください。
25.3 トポロジの設定
トポロジの設定には次が含まれます。
25.3.1 LDAPデータ・サーバーの作成
各LDAPデータ・サーバーは、Oracle Data Integratorにアクセス可能な1つのLDAPツリーに対応します。
25.3.1.1 データ・サーバーの作成
『Oracle Data Integratorの管理』のデータ・サーバーの作成に関する項に記載されている標準の手順で、LDAPテクノロジ用データ・サーバーを作成します。この項では、LDAPデータ・サーバーの定義に関する必須または固有のフィールドのみについて説明します。
例25-1 URLの例
ユーザーorcladmin
を使用して、サーバーOHOST_OID
およびポート3060
にあるOracle Internet Directoryに接続し、ベースDN dc=us,dc=oracle,dc=com
からこのディレクトリ・ツリーにアクセスする場合は、次のURLを使用できます。
jdbc:snps:ldap?ldap_url=ldap://OHOST_OID:3060/ &ldap_basedn=dc=us,dc=oracle,dc=com &ldap_password=ENCODED_PASSWORD &ldap_user=cn=orcladmin
25.3.2 LDAP用物理スキーマの作成
『Oracle Data Integratorの管理』の物理スキーマの作成に関する項の説明に従って、標準の手順を使用してLDAP物理スキーマを作成します。
『Oracle Data Integratorの管理』 の論理スキーマの作成に関する項の説明に従って、標準の手順を使用してこの物理スキーマ用の論理スキーマを作成し、特定のコンテキストで関連付けます。
25.4 統合プロジェクトの設定
LDAPデータベースを使用してプロジェクトを設定するには、標準の手順に従います。『Oracle Data Integratorでの統合プロジェクトの開発』の統合プロジェクトの作成に関する項を参照してください。
作業を開始するにあたり、使用するプロジェクトに次のナレッジ・モジュールをインポートすることをお薦めします。
-
LKM SQL to SQL
-
LKM File to SQL
-
IKM SQL Control Append
25.5 LDAPディレクトリの作成およびリバース・エンジニアリング
この項では、次の項目について説明します。
25.5.1 LDAPモデルの作成
データ・モデルによって、一連のデータストアがグループ化されます。各データストアは、1つのディレクトリに関連して、1つのクラスまたはクラスのグループを表します。通常、クラスは表に、属性は列にマップされます。詳細は、「LDAPからリレーショナルへのマッピング」を参照してください。
『Oracle Data Integratorでの統合プロジェクトの開発』のモデルの作成に関する項の説明に従って、標準の手順を使用してLDAPモデルを作成します。
25.5.2 LDAPモデルのリバース・エンジニアリング
LDAPでは、LDAPドライバの機能のみを使用する標準のリバース・エンジニアリングがサポートされています。
LDAPドライバのリバース・エンジニアリング・プロセスによってLDAPツリーがリレーショナル・データベース構造に変換させる際に、ツリー内のオブジェクト・セットに基づいて表が構成されます。
これらの2つの間のマッピングを維持するためには、これらの表の名前に、この元の構造を反映させる必要があります。その結果として表名は元のLDAPオブジェクト名で構成され、マッピングのデータストア名には適さない、非常に長い名前になる可能性があります。
この解決策として、短く分かりやすい表名の別名を含む別名ファイルを作成します。詳細は、「表の別名の構成」を参照してください。
標準のリバース・エンジニアリング
LDAPで標準のリバース・エンジニアリングを実行するには、『Oracle Data Integratorでの統合プロジェクトの開発』のモデルのリバース・エンジニアリングに関する項の説明に従って、通常の手順を使用します。
標準のリバース・エンジニアリング・プロセスでは、LDAPツリーのコンテンツがリレーショナル・データベース構造に自動的にマップされます。これらの表には、ディレクトリ階層をマップするための主キーおよび外部キーの列が自動的に含まれます。
また、リバース・エンジニアリング・プロセスでは、下位のLDAPエントリ・ポイントからLDAPツリー構造のルートを表すROOT表も作成されます。
詳細は、「LDAPの処理の概要」を参照してください。
25.6 マッピングの設計
LDAPエントリをマッピングのソースまたはターゲットとして使用できます。
マッピングまたはチェック用に選択したKMによって、このマッピングまたはチェックの機能およびパフォーマンスが決まります。この項に示す推奨事項は、LDAPデータ・サーバーに関連する様々な状況でのKMの選択に役立ちます。
25.6.1 LDAPとの間でのデータのロード
LDAPディレクトリは、マッピングのソースまたはターゲットとして使用できます。「ロード・ナレッジ・モジュール」タブでの、LDAPエントリと別のタイプのデータ・サーバー間でデータをロードするためのLKMの選択は、マッピングのパフォーマンスに関してきわめて重要です。
25.6.1.1 LDAPディレクトリからのデータのロード
汎用SQL KMまたは関係するもう一方のテクノロジ固有のKMを使用して、LDAPデータベースからターゲットまたはステージング領域のデータベースへデータをロードします。
LDAPソースからステージング領域へのロードに使用できるKMの例を表25-2に示します。
表25-2 LDAPからステージング領域へロードするためのKM
ステージング領域 | KM | ノート |
---|---|---|
Microsoft SQL Server |
LKM SQL to MSSQL (BULK) |
SQL Serverのバルク・ローダーを使用します。 |
Oracle |
LKM SQL to Oracle |
汎用LKMより高速です(統計を使用)。 |
Sybase |
LKM SQL to Sybase ASE (BCP) |
Sybaseのバルク・ローダーを使用します。 |
すべて |
LKM SQL to SQL |
汎用KM |
25.7 トラブルシューティング
この項では、Oracle Data IntegratorでのLDAPの使用時に発生する可能性がある問題のトラブルシューティングに関する情報を提供します。次の項目が含まれます。
-
リレーショナル・モデルで実行されたSQL操作(挿入、更新、削除)がLDAPディレクトリに伝播されない。
リレーショナル・モデルの格納に外部RDBMSを使用している可能性があります。
-
java.util.MissingResourceException: Can't find bundle for base name ldap_....
プロパティ・バンドル・ファイルがないか、不正なディレクトリにある、もしくはファイル名が不正です。
-
java.sql.SQLException: A NamingException occurred saying: [LDAP: error code 32 ....
接続プロパティ・バンドルが正しくない可能性があります。バンドル・ファイルでプロパティ値を確認してください。
-
java.sql.SQLException: A NamingException occurred saying: [LDAP: error code 49 - Invalid Credentials]
認証プロパティが正しくない可能性があります。パスワードを確認してください。
-
java.sql.SQLException: Exception class javax.naming.NameNotFoundException occurred saying: [LDAP: error code 32 - No Such Object].
LDAPツリー・エントリ・ポイントが正しくない可能性があります。LDAP URLのターゲットDistinguishedNameを確認してください。
-
java.sql.SQLException: No suitable driver
このエラー・メッセージは、URLを処理できるドライバが登録されていないことを示します。JDBC URLが正しくない可能性があります。URL構文が有効であることを確認してください。詳細は、インストールおよび構成を参照してください。