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インスタンスのフルパス名に設定されていることを確認してください。 -
bulkloadload操作を実行すると、サーバー・モードが読取り/書込みに設定されます。別のモードが必要な場合は、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で自動的にcatalogコマンドが起動され、属性が索引付けされます。自動カタログ機能を有効化しないで、カタログ化されていない以前の属性を検索フィルタで使用する場合は、以前のリリースと同様に、その属性をカタログ・エントリに追加する必要があります。
ldapmodifyを使用して、索引を作成および削除できるようになりました。「ldapmodifyを使用した属性の索引付け」を参照してください。ldapmodifyコマンドによりcatalogが起動し、操作が実行されます。この目的のために引き続きcatalogを使用できます。
catalogツールは、既存の属性の索引を作成する場合や、既存の属性から索引を削除する場合に役立ちます。catalogツールで、属性が検索可能になります。
ノート:
-
LDAPツール
ldapmodifyを使用して、属性に対して索引を作成および削除できます。「ldapmodifyを使用した属性の索引付け」を参照してください。ldapmodifyツールは、実際にはcatalogを起動しますが、この用途にはcatalogを使用できます。 -
catalogを使用する前に、環境変数DOMAIN_HOMEがOracleインスタンスのフルパス名に設定されていることを確認してください。 -
catalogコマンドは、一度に1000を超える属性の索引を作成できません。1000を超える属性がファイル内に存在すると、ツールによりエラーがスローされます。1000を超える属性の索引を作成する必要がある場合は、複数のファイルを使用します。 -
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の操作に悪影響を及ぼす場合があります。