15 バルク操作の実行
この章の内容は次のとおりです。
15.1 バルク操作の実行の概要
大量のデータを処理する場合は通常、バルク操作は標準的なLDAP操作より効率的です。バルク操作は、コマンド行バルク・ツールを使用してのみ実行できます。
ノート:
-
バルク・ツールでは、属性一意性はサポートされていません。
-
11gリリース1 (11.1.1.6.0)より前のリリースのインストール中に作成されたスキーマでは、Oracle Internet Directoryに100万エントリを超えて追加する予定がある場合に、OLTS_CT_STOREおよびOLTS_ATTRSTORE表領域にデータファイルを追加する必要があります。このステップは、
bulkload
またはldapadd
操作の前に実行します。詳細は、『Oracle Database管理者ガイド』を参照してください。
バルク・ツールについては、この章の他に、次の項でも説明しています。
関連項目:
『Oracle Identity Managementリファレンス』のOracle Internet Directoryに関する章。
ノート:
-
bulkload
を使用する前に、すべてのOracle Internet Directoryインスタンスを停止してください。他のバルク・ツールを使用する前には、すべてのOracle Internet Directoryインスタンスを停止するか、エントリ・キャッシュを無効にしてください。 -
バルク・ツールの実行中は、Oracle Internet Directoryを起動しないでください。
ヒント:
この章の構文説明では、TRUEまたはFALSE引数を次の形式で表します。
check="TRUE"
true
またはfalse
は大文字または小文字で入力することも、先頭の文字のみを指定することも、二重引用符を省略することもできます。つまり、次はすべて同じものを指定します。
check=t check=true check="true" check=T check=TRUE check="TRUE"
15.2 コマンド行ツールを使用する前の環境変数の設定
Oracle Identity Managementコマンド行ツールの使用を開始する前に、環境を構成する必要があります。これには、適切な環境変数の設定が含まれます。
このガイドに記載された構文と例を使用するには、環境変数を次のように設定する必要があります。
-
ORACLE_HOME
- Oracle Identity Managementのインストール内の書込み不可ファイルの場所。 -
DOMAIN_HOME
- Oracle Identity Managementのインストール内の書込み可能ファイルの場所。 -
NLS_LANG
(APPROPRIATE_LANGUAGE
.AL32UTF8
) - インストール時のデフォルトの言語セットはAMERICAN_AMERICA
です。 -
WLS_HOME
- WebLogic Serverがインストールされている場所。この環境変数はOracle Directory Integration Platformコマンドには必要ですが、Oracle Internet Directoryコマンドには必要ありません。 -
PATH
- 次のディレクトリ位置をPATH
に追加する必要があります。$ORACLE_HOME
/bin
$ORACLE_HOME
/ldap/bin
$ORACLE_HOME
/ldap/admin
15.3 サーバー・モードの変更
一部のバルク・ツール操作およびレプリケーション設定手順では、Oracle Internet Directoryインスタンスを読取り/書込みモードから読取り専用モードに、または読取り専用モードから読取り/書込みモードに切り替える必要があります。この切替えは、Oracle Enterprise Manager Fusion Middleware Controlまたはldapmodify
を使用して行うことができます。
サーバーが読取り専用モードの間は、管理者cn=orcladmin
のみがディレクトリへの書込みを実行できます。このため、ディレクトリを変更するには、cn=orcladmin
としての接続を可能にするユーティリティを使用する必要があります。これには次のものがあります。
-
Oracle Directory Service Manager
-
コマンド行ツール
サーバーが読取り専用モードの間は、WLSTまたはOracle Enterprise Manager Fusion Middleware Controlを使用して変更を実行できません。これらのユーティリティではユーザーcn=emd admin, cn=oracle internet directory
としてOracle Internet Directoryサーバーに接続するためです。
次の各項では、これについてさらに詳しく説明しています。
15.3.1 Fusion Middleware Controlを使用したサーバー・モードの設定
Fusion Middleware Controlからサーバー・モードを読取り専用に設定できます。
サーバー・モードを読取り専用に設定するには、次のステップを実行します。
- 「Oracle Internet Directory」メニューから「管理」を選択し、「サーバー・プロパティ」を選択します。
- 「一般」を選択します。
- 「サーバー・モード」で「読取り専用」を選択します。
- 「適用」をクリックします。
Fusion Middleware Controlを使用してサーバー・モードを読取り/書込みモードに設定するには、同じ手順を実行しますが、ステップ3で「読取り/書込み」
を選択します。
15.3.2 ldapmodifyを使用したサーバー・モードの設定
ldapmodify
を使用してサーバー・モードを読取り専用に設定できます。
次のコマンドを実行してサーバー・モードを設定します。
ldapmodify -D "cn=orcladmin" -q -h host_name \ -p port -f change_mode.ldif
ここで、ファイルchange_mode.ldifの内容は次のとおりです。
dn: cn=componentname,cn=osdldapd,cn=subconfigsubentry
changetype: modify
replace: orclservermode
orclservermode: r
ldapmodify
を使用してサーバー・モードを読取り/書込みに設定するには、同じコマンドを使用しますが、LDIFファイルの最終行を次のように変更します。
orclservermode: rw
15.4 bulkloadを使用したスキーマへのデータのロード
バルク・ローダーbulkload
は、バルク管理ツールです。このツールは、LDIFまたはSQL*Loader形式の入力データを取得し、このデータをメタデータ・リポジトリにあるOracle Internet Directoryのスキーマに直接ロードします。
ノート:
-
ディレクトリ・サーバー・インスタンスがレプリケーション承諾のメンバーの場合、ノードへのデータの追加に
bulkload
ツールを使用しないでください。かわりに、ldapadd
を使用してください。 -
bulkload
を使用する前に、環境変数DOMAIN_HOME
がOracleインスタンスのフルパス名に設定されていることを確認してください。 -
bulkload
load
操作を実行すると、サーバー・モードが読取り/書込みに設定されます。別のモードが必要な場合は、load
操作の実行後にモードをリセットしてください。 -
適用されるパスワード・ポリシーで
pwdmustchange
属性が1に設定されている場合、bulkload
によってロードされるすべての新規エントリでは、pwdreset
属性がデフォルトで1に設定されます。詳細は、「パスワード・ポリシーの管理」を参照してください。 -
ディレクトリへのデータの移入に
bulkload
ユーティリティを使用しない場合は、oidstats.sql
ツールを実行して、検索パフォーマンスの大幅低下を回避する必要があります。
関連項目:
oidstats.sqlツールの説明と構文は、『Oracle Identity Managementリファレンス』のoidstats.sql
コマンド行ツールのリファレンスを参照してください
次の各項では、これについてさらに詳しく説明しています。
15.4.1 データのロードの様々なフェーズ
check
、generate
およびload
フェーズでデータをロードできます。
check
フェーズでは、bulkload
がLDIF入力データをスキーマのために解析および検証します。
generate
フェーズでは、bulkload
がSQL*Loader形式で中間ファイルを生成します。
load
フェーズでは、bulkload
は、バルク・モード・ロードまたは増分モード・ロードのいずれかの方法でロードできます。
-
バルク・モード・ロードを使用する場合、
bulkload
は生成された中間ファイルをデータベースにロードします。その際、古い索引を削除し、新しい索引を生成します。 -
増分モード・ロードを使用する場合、
bulkload
は中間ファイルを挿入モードでデータベースの表にロードします。データをロードする際に、bulkloadは索引を更新します。
バルク・モード・ロードは、増分モード・ロードより高速です。
バルク・ローダーでは、次の機能もサポートしています。
-
生成フェーズとロード・フェーズの間に並列処理ができるように、スレッド数を指定できます。
-
データを他の言語で使用できるようにする
encode
オプションがあります。 -
LDIFファイルで指定した操作属性を保持できる
restore
オプションがあります。 -
索引を再作成する
index
オプションと、欠落している索引を作成するmissing
オプションがあります。 -
bulkload
の失敗からのリカバリに役立つrecover
オプションがあります。 -
既存のディレクトリにデータを追加するとき、
bulkload
では、バルク・モードと増分モードの両方のロードをサポートします。 -
append
オプションを使用すると、LDAPサーバーの稼働中にデータをロードできます。
generate
フェーズの初めに、インスタンス固有の構成エントリ内のサーバーのorclServerMode
が、read/write
からread-modify
に変わります。generate
フェーズの終わりには、read-modify
状態のままであるため、generate
フェーズとload
フェーズの間にエントリをOracle Internet Directoryに追加することはできません。これは内部の順序番号を保持するために必要です。load
フェーズは、generate
フェーズの直後に実行します。load
フェーズの終わりに、サーバーのorclServerMode
は、read/write
の設定に戻されます。bulkload
をrecover
オプションとともに使用しても、orclServerMode
はread/write
に戻ります。
ロード操作の開始時、bulkload
はorclRIenabled
の現在の構成値を確認し、参照整合性を無効にします。ロード・フェーズの最後に、bulkloadはorclRIenabled
を元の値に戻します。ただし、参照整合性違反があった場合、参照整合性は無効にされ、次のメッセージが表示されます。
There is a violation of Referential Integrity and hence it is Disabled now. Run the OIDDIAG tool with diagnostic option to collect the Entries which have dangling DN attribute values and Fix the violation
違反を修正し、orclRIenabledを希望する値に設定します。
15.4.2 bulkloadツールの出力ファイルの位置
bulkload
ツールは、出力ログ、重複識別名のリストおよび中間ファイルを生成します。
bulkload
ツールは、次の出力ファイルを$DOMAIN_HOME
/tools/OID/logs
ディレクトリに生成します。
-
出力ログ、
bulkload.log
-
重複識別名のリスト、
duplicateDN.log
-
中間ファイル、
*.ctl
および*.dat
bulkload
ツールは、次の出力ファイルを$DOMAIN_HOME
/tools/OID/load
ディレクトリに生成します。
-
不正なLDIFエントリのリスト、
badentry.ldif
-
ldapadd
、dynGrp.ldif
を使用して追加できるすべての動的グループ・エントリのリスト -
SQL*Loaderによって生成された中間ログ・ファイル、
bsl_*.log
15.4.3 bulkloadツールの実行
bulkload
ツールの実行時には、環境変数DOMAIN_HOME
を設定する必要があります。
bulkload
ツールの構文は、次のとおりです。
bulkload [connect=connect_string] {[check="TRUE"|"FALSE" [file=ldif_file]] [generate="TRUE"|"FALSE" [append="TRUE"|"FALSE"] [restore="TRUE"|"FALSE"] [thread=num_of_threads] file=ldif_file] [load="TRUE"|"FALSE" [append="TRUE"|"FALSE"] [threads=num_of_threads]] [index="TRUE"|"FALSE"] [missing="TRUE"|"FALSE"] [recover="TRUE"|"FALSE"]} [encode=character_set] [debug="TRUE"|"FALSE"] [verbose="TRUE"|"FALSE"]
パラメータの組合せには、有効なものもあれば、無効なものもあります。
環境変数DOMAIN_HOME
を設定する必要があります。中間ファイルが生成されるOracleインスタンスへの完全修飾パスを設定してください。
bulkload
の起動時には、check
、generate
、load
、append
、recover
またはindex
のアクションのうち少なくとも1つを指定する必要があります。
check
がTRUE
の場合、bulkload
はスキーマ・チェックを実行します。
generate
がTRUE
の場合、bulkload
は中間ファイルを生成します。
check
またはgenerate
アクションを使用する場合、LDIFデータ・ファイルへのパス名を指定する必要があります。
load
がTRUE
の場合、bulkload
は中間ファイルをロードします。
append
がTRUE
の場合、bulkload
はサーバーの稼働中にアクションを実行できます。
restore
フラグは、LDIFファイルにorclguid
やcreatorsname
などの操作属性が含まれる場合にのみ使用します。restore
フラグが指定されていない場合、またはFALSEに設定されている場合は、LDIFファイルに操作属性を含めないでください。
recover
を他のオプションとともに指定しないでください。
check
index
のオプションの組合せは、既存の索引を検証します。
15.4.4 bulkloadを使用したLDIFファイルのインポート
bulkload
ユーティリティを使用してLDIFファイルをインポートできます。
この項では、bulkload
でLDIFファイルを処理するタスクについて説明します。
関連項目:
『Oracle Identity Managementリファレンス』のbulkload
コマンド行ツールのリファレンス。
この項の内容は次のとおりです。
15.4.4.1 Oracle Internet Directoryプロセスの停止
Fusion Middleware Controlまたはコマンド行ツールwlst
コマンドを次に示すように使用して、すべてのOracle Internet Directoryサーバー・インスタンスを停止します。
shutdown(name='instance-name',type='OID')
15.4.4.2 Oracleデータベース・サーバーのバックアップ
ファイルをインポートする前に、安全対策としてOracleデータベース・サーバーをバックアップします。
関連項目:
Oracle Databaseドキュメント・ライブラリの『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』
15.4.4.3 Oracle Internet Directoryのパスワードの準備
bulkload
を使用するには、Oracle Internet DirectoryのODS
スキーマのパスワードを指定する必要があります。
関連項目:
『Oracle Identity Managementリファレンス』のoidpasswd
コマンド行ツールのリファレンス。
15.4.4.4 入力ファイルのチェックおよびSQL*Loader用のファイルの生成
UNIXでは、bulkload
ツールは通常は$ORACLE_HOME/ldap/bin
にあります。Microsoft Windowsでは、このツールは通常は$ORACLE_HOME\ldap\bin
にあります。
入力ファイルをチェックし、SQL*Loader用のファイルを生成するには、次のように入力します。
bulkload connect="connect_string" \ check="TRUE" generate="TRUE" file="full_path_to_ldif-file_name"
check
オプションとgenerate
オプションの両方を指定すると、エントリのスキーマが正しいかどうかが確認されます。
check
関連のすべてのエラーは、コマンド行出力として報告されます。すべてのスキーマ違反が$DOMAIN_HOME
/tools/OID/logs/bulkload.log
に記録されます。すべての不正エントリは$DOMAIN_HOME
/OID/load/badentry.ldif
に記録されます。
エントリが重複している場合は、その識別名が$DOMAIN_HOME
/tools/OID/logs/duplicateDN.log
に記録されます。これは単に参考のためです。bulkload
ツールは、重複するエントリに対して重複データは生成しません。重複エントリは無視されます。
テキスト・エディタを使用してすべての不正エントリを修正し、check
オプションとgenerate
オプションを指定してbulkload
を再実行します。エラーがなくなるまで、または許容できるエラーのみになるまで、この手順を繰り返します。たとえば、ldapadd
を使用して少数のエントリをロードすると便利な場合があります。
bulkload
ツールにより、$DOMAIN_HOME
/OID/load
ディレクトリに中間ファイル*.ctl
および*.dat
が生成されます。エラーが発生しても、bulkload
は、check
エラーのないエントリに対して中間ファイルを生成します。
bulkloadが正常に完了した場合、または許容できるエラーのみで終了した場合、SQL*Loaderでは中間ファイルをload
モードで使用できます。このファイルは変更できません。
ノート:
check
関連のエラーを無視する場合は、check
オプションとgenerate
オプションを必ず併用してください。check
オプションを使用せずにgenerate
オプションを使用すると、検証は行われません。この場合、中間ファイルにはエラーのあるエントリが含まれます。このようなファイルをロードすると、データの不整合や索引作成のエラーが発生することがあります。
15.4.4.5 入力ファイルのロード
入力ファイルの生成後、load
オプションを指定してbulkload
を実行します。このステップで、Oracle SQL*Loader固有の形式の*.dat
ファイルがbulkload
によってデータベースにロードされ、属性索引が作成され、データベース統計が生成されます。構文は次のとおりです。
bulkload connect="connect_string" load="TRUE"
エラーがある場合は、ツールによって画面上に表示されます。ロード時のエラーはすべて$DOMAIN_HOME
/tools/OID/logs
ディレクトリに報告されます。これらはbulkload.log
およびSQL*Loaderで生成されたファイル*.bad
とbsl_*.log
に記録されます。load
に失敗した場合は、データベースが一貫性のない状態になる可能性があります。bulkload
をrecover
オプションとともに使用するか、bulkload
を起動する前に取ったバックアップからOracle Internet Directoryディレクトリをリストアして、データベースをbulkload
操作前の状態に戻します。その後、次のコマンドを繰り返します。
bulkload connect="connect_string" load="TRUE"
索引付けフェーズ中にエラーが発生した場合は、次のコマンドを使用できます。
bulkload coonect="con_str" index=true
このコマンドにより、すべての索引が再作成されます。
データベース統計の生成中にエラーが発生した場合は、oidstats.sql
コマンドを使用して統計を生成できます。
関連項目:
『Oracle Identity Managementリファレンス』のoidstats.sqlコマンドのリファレンス。
15.4.5 bulkloadを使用した増分または追加モードでのデータのロード
すでにデータが格納されているOracle Internet Directoryサーバーにエントリを追加し、同時にそのサーバーを稼働させておく場合、増分または追加モードを使用する必要があります。このモードは通常、ディレクトリにエントリを追加する他の方法より高速です。ただし、Oracle Internet Directory LDAPインスタンスが読取り/更新モードであり、bulkloadでデータを追加できることを確認する必要があります。
次のようなコマンドにより、bulkload
を増分または追加モードで起動します。
bulkload connect="conn_str" \ check="TRUE" generate="TRUE" append="TRUE" file="LDIF_file" bulkload connect="conn_str" \ load="TRUE" append="TRUE"
15.4.6 bulkloadを使用した索引検証の実行
bulkload
操作では、索引を更新または作成できます。しかし、bulkload
で索引を正しく更新あるいは作成できないことがあります。
これは通常、不適切なサイズ設定などの問題が原因です。このような問題が発生した場合は、bulkload
を使用してすべての索引を検証し、再作成できます。
次の構文を使用して、索引の検証のためにbulkload
を起動します。
bulkload connect="conn_str" \ check="TRUE" index="TRUE"
15.4.7 bulkloadを使用した索引の再作成
bulkload
ツールを使用して索引を再作成できます。
索引を再作成するには、次の構文を使用します。
bulkload connect="conn_str" index="TRUE"
15.5 bulkmodifyを使用した属性の変更
bulkmodify
ツールは、既存のディレクトリ内にある多数のエントリの属性を変更する場合に役立ちます。これは、属性値に対して追加操作と置換操作を実行できます。ネーミング・コンテキストに対する操作もできます。フィルタを使用すれば、指定したネーミング・コンテキストの下のいくつかのエントリに対して選択的に操作を行うこともできます。
関連項目:
『Oracle Identity Managementリファレンス』のbulkmodify
コマンド行ツールのリファレンス
ノート:
bulkmodify
を使用する前に、環境変数DOMAIN_HOME
がOracleインスタンスのフルパス名に設定されていることを確認してください。
次の各項では、これについてさらに詳しく説明しています。
15.5.1 bulkmodify操作から除外される属性
bulkmodify
操作から除外される特定の属性があります。
bulkmodify
ツールは、次の属性に対してはadd
またはreplace
操作を行えません。
-
dn
(かわりにldapmoddn
を使用) -
cn
(かわりにldapmodify
を使用) -
userpassword
(かわりにldapmodify
を使用) -
orclpassword
(かわりにldapmodify
を使用) -
orclentrylevelaci
(かわりにldapmodify
を使用) -
orclaci
(かわりにldapmodify
を使用) -
orclcertificatehash
-
orclcertificatematch
-
すべてのバイナリ属性
-
すべての操作属性
objectclass
属性に対してはreplace
操作ができません。
単一値属性にadd
は使用できません。
15.5.3 bulkmodifyツールの実行
add
またはreplace
オプションを指定してbulkmodify
ツールを実行できます。
bulkmodify
の構文は、次のとおりです。
bulkmodify connect=connect_string basedn=Base_DN {[add="TRUE"|"FALSE"]|[replace="TRUE"|"FALSE"]} attribute=attribute_name value=attribute_value [-q] [filter=filter_string] [size=transaction_size] [threads=num_of_threads] [debug="TRUE"|"FALSE"] [encode=character_set] [verbose="TRUE"|"FALSE"]
プロセッサ数の1から6倍のスレッド数が必要です。
add
またはreplace
オプションのいずれかを選択します。デフォルトでは、どちらもFALSE
に設定されています。
15.5.4 指定ネーミング・コンテキストの下の全エントリへの説明の追加
指定ネーミング・コンテキストの下のエントリに説明を追加できます。
この例では、"c=us"
の下のすべてのエントリに説明を追加します。
bulkmodify connect="connect_str" basedn="c=us" add="TRUE" \ attribute="description" value="US citizen" filter="objectclass=*"
15.5.5 指定ネーミング・コンテキストの下の特定のエントリの属性の追加
指定ネーミング・コンテキストの下の特定のエントリに属性を追加できます。
この例では、Anne Smithがマネージャである"c=us"
の下のすべてのエントリにtelephonenumber
を追加します。
bulkmodify connect="connect_str" basedn="c=us" add="TRUE" \ attribute="telephoneNumber" \ value="408-123-4567" filter="manager=cn=Anne Smith"
15.6 bulkdeleteを使用したエントリの削除
bulkdeleteは、既存のディレクトリ内にある多数のエントリを削除する場合に役立ちます。bulkdeleteは、ネーミング・コンテキストの下で指定したエントリを削除できます。デフォルトでは、エントリを完全に削除します。データベースからエントリのすべての痕跡を削除します。
関連項目:
『Oracle Identity Managementリファレンス』のbulkdelete
コマンド行ツールのリファレンス。
ノート:
-
bulkdelete
を使用する前に、環境変数DOMAIN_HOME
がOracleインスタンスのフルパス名に設定されていることを確認してください。 -
指定したネーミング・コンテキスト内の削除対象のエントリ数が多い場合、『パフォーマンスのチューニング』のOracle Internet Directoryのパフォーマンスのチューニングに関する項に示されているように、Oracle Databaseをチューニングする必要があります。
次の各項では、これについてさらに詳しく説明しています。
15.6.2 bulkdeleteツールの実行
bulkdelete
ツールはデータベースからエントリを削除するために使用します。
bulkdelete
ツールの構文は、次のとおりです。
bulkdelete connect=connect_string {[basedn=Base_DN] | [file=file_name]} [filter="LDAP_search_filter"] [encode=character_set] [debug="TRUE"|"FALSE"] [cleandb="TRUE"|"FALSE"] [skipcheck="TRUE"|"FALSE"] [size=transaction_size] [threads=num_of_threads] [verbose="TRUE"|"FALSE"]
basedn
またはfile
オプションのいずれかを選択します。cleandb
がTRUE
の場合、bulkdelete
はエントリをデータベースから完全に削除します。デフォルトでは、cleandb
はTRUE
に設定されています。オプションcleandb
FALSE
を使用すると、bulkdelete
はすべてのエントリを完全に削除するかわりに、ツームストン・エントリに変えます。CPU数の1から6倍のスレッド数が必要です。
15.6.3 bulkdeleteを使用した指定ネーミング・コンテキストの下の全エントリの削除
bulkdelete
コマンドを使用して、指定ネーミング・コンテキストの下の全エントリを削除できます。
この例では、"c=us"
の下のすべてのエントリを削除します。
bulkdelete connect="connect_str" basedn="c=us" cleandb="TRUE"
15.6.4 ネーミング・コンテキストの下のエントリの削除とツームストン・エントリとしての設定
ネーミング・コンテキストの下のエントリを削除し、ツームストン・エントリとして設定できます。
この例では、"c=us"
の下のすべてのエントリを削除し、それらをツームストン・エントリとして残します。
bulkdelete connect="connect_str" basedn="c=us" cleandb=FALSE
この例では、ファイルで指定された特定のベース識別名の下のすべてのエントリを削除し、それらをツームストン・エントリとして残します。
bulkdelete connect="connect_str" file="file" cleandb=FALSE
15.6.5 filterオプションの適用による指定されたサブツリー配下のすべてのエントリの削除
bulkdelete
コマンドでfilter
オプションを指定して、指定されたサブツリー配下のすべてのエントリを削除できます。このオプションでは、長時間かけることなく大量のデータを削除できます。
この例では、modifyTimestamp
と照合してすべての"c=us
"エントリを削除します。
bulkdelete connect=”connect_str” basedn="c=us" filter="(&(cn=user*)(modifytimestamp>=20180123101234z))" cleandb="TRUE" verbose="TRUE" threads=5 size=10000 skipcheck="TRUE"
15.7 ldifwriteを使用したOracle Internet Directoryからファイルへのデータのダンプ
ldifwrite
ツールは、Oracle Internet Directoryストアから1つのファイルにデータをダンプするために使用します。データを1ファイルにまとめると、レプリケーションまたはバックアップ・ストレージ用に別のノードへデータをロードすることが容易になります。出力ファイルへの書込みの際に、ldifwrite
ツールは、指定した識別名の下のすべてのエントリと識別名自体を含むサブツリーの検索を実行します。データをLDIF形式でダンプします。指定したレプリケーション承諾識別名の下のエントリもダンプできます。
ldifwrite
ツールは、指定したフィルタを使用して検出されたエントリをダンプできます。
関連項目:
『Oracle Identity Managementリファレンス』のldifwrite
コマンド行ツールのリファレンス。
ノート:
ldifwrite
を使用する前に、環境変数DOMAIN_HOME
がOracleインスタンスのフルパス名に設定されていることを確認してください。
次の各項では、これについてさらに詳しく説明しています。
15.7.2 ldifwriteツールの実行
ldifwrite
はバックエンドで実行できます。
ldifwrite
ツールの構文は、次のとおりです。
ldifwrite connect=connect_string basedn=Base_DN ldiffile=LDIF_Filename [filter=LDAP_Filter] [threads=num_of_threads] [debug="TRUE"|"FALSE"] [encode=character_set] [verbose="TRUE"|"FALSE"]
basedn
オプションを使用して、ベース識別名またはレプリケーション承諾識別名を指定します。
CPU数の1から6倍のスレッド数が必要です。
15.7.3 一部の指定ネーミング・コンテキストのLDIFファイルへのダンプ
コマンドを実行して、ネーミング・コンテキスト・オブジェクトをLDIFファイルにダンプできます。
この例では、部分レプリケーションで定義した次のネーミング・コンテキスト・オブジェクトを使用します。
dn: cn=includednamingcontext000001, cn=replication namecontext, orclagreementid=000001, orclreplicaid=node replica identifier, cn=replication configuration orclincludednamingcontexts: c=us orclexcludednamingcontexts: ou=Americas, c=us orclexcludedattributes: userpassword objectclass: top objectclass: orclreplnamectxconfig
この例では、c=us
の下のエントリは、ou=Americas,c=us
を除いてすべてバックアップが取られます。userpassword
属性も除外されます。コマンドは次のとおりです。
ldifwrite connect="conn_str" \ basedn="cn=includednamingcontext000001, cn=replication namecontext, \ orclagreementid=000001,orclreplicaid=node replica identifier,\ cn=replication configuration" ldiffile="ldif_file_name"
15.8 catalogを使用した既存の属性の索引の作成および削除
Oracle Internet Directory 11g リリース1(11.1.1.6.0)では、新規インストールで新しい自動カタログ機能がデフォルトで有効化されます。以前のリリースからアップグレードした場合も、これを有効にできます。この機能を有効にすると、属性を検索したときに、Oracle Internet Directoryで自動的にcatalog
コマンドが起動され、属性が索引付けされます。自動カタログ機能を有効化しないで、カタログ化されていない以前の属性を検索フィルタで使用する場合は、以前のリリースと同様に、その属性をカタログ・エントリに追加する必要があります。
ldapmodify
を使用して、索引を作成および削除できるようになりました。「ldapmodifyを使用した属性の索引付け」を参照してください。ldapmodify
コマンドによりcatalog
が起動し、操作が実行されます。この目的のために引き続きcatalogを使用できます。
catalog
ツールは、既存の属性の索引を作成する場合や、既存の属性から索引を削除する場合に役立ちます。catalogツールで、属性が検索可能になります。
ノート:
-
Oracle Internet Directory 11g リリース1(11.1.1.6.0)では、LDAPツール
ldapmodify
を使用して、属性に索引を作成したり、属性から索引を削除することができます。「ldapmodifyを使用した属性の索引付け」を参照してください。ldapmodify
ツールは、実際にはcatalog
を起動しますが、この用途にはcatalog
を使用できます。 -
catalog
を使用する前に、環境変数DOMAIN_HOME
がOracleインスタンスのフルパス名に設定されていることを確認してください。 -
catalog
コマンドは、一度に1000を超える属性の索引を作成できません。1000を超える属性がファイル内に存在すると、ツールによりエラーがスローされます。1000を超える属性の索引を作成する必要がある場合は、複数のファイルを使用します。 -
Oracle Internet Directory 11gリリース1(11.1.1.7.0)では、パフォーマンス向上のためにIOTオプションを指定できます。詳細は、『Oracle Identity Managementリファレンス』の「Oracle Internet Directoryデータ管理ツール」を参照してください。
次の各項では、これについてさらに詳しく説明しています。
15.8.2 catalogツールの実行
catalogツールには、値add
、attribute
およびlogging
が含まれています。
catalogの構文は、次のとおりです。
catalog connect=connect_string {[add="TRUE"|"FALSE"]|[delete="TRUE"|"FALSE"]} {[attribute=attribute_name]|[file=file_name]} [logging="TRUE"|"FALSE"] [threads=num_of_threads] [debug="TRUE"|"FALSE"] [iot="TRUE"|"FALSE"] [verbose="TRUE"|"FALSE"]
add
またはdelete
オプションのいずれかを選択します。デフォルトでは、どちらもFALSE
に設定されています。
CPU数の1から6倍のスレッド数が必要です。
logging
がTRUE
の場合、catalog
はREDOログを生成します。
コマンド行では、一度に1つしかattribute
引数を指定できません。1つのコマンドの起動で複数の属性を追加または削除するには、file
オプションを使用し、ファイル内の属性のリストを指定します。次のように、属性を1行ずつ指定します。
description sn title
15.8.3 検索可能属性の検索不可能属性への変更
検索可能属性を検索不可能属性に変更できます。
この例では、title
属性から索引を削除します。
catalog connect="connect_str" delete="TRUE" attribute="title"
ノート:
Oracle Internet Directoryでインストールされたベース・スキーマによって作成された索引ではないことが確信できない場合は、catalog delete=T
オプションを使用して属性から索引を削除しないように注意してください。ベース・スキーマ属性から索引を削除すると、Oracle Internet Directoryの操作に悪影響を及ぼす場合があります。