6.3. 特定のデータベースのインデックスを維持する
Directory Server の各データベースには、それぞれインデックスがあります。インデックスの作成、更新、削除は、dsconf ユーティリティーや Web コンソールを使用して行うことができます。
6.3.1. コマンドラインを使用した特定のデータベースのインデックスの維持 リンクのコピーリンクがクリップボードにコピーされました!
dsconf ユーティリティーを使用して、コマンドラインでインデックスの設定を維持できます。
手順
たとえば、
userRootデータベースのインデックスにroomNumber属性を追加するには、インデックスタイプがeqとsubの場合、次のように入力します。# dsconf <instance_name> backend index add --attr roomNumber --index-type eq --index-type sub --reindex userRoot--reindexオプションを付けると、Directory Server が自動的にデータベースのインデックスを再作成します。たとえば、
userRootデータベースのroomNumber属性のインデックス設定にpresインデックスタイプを追加するには、次のように入力します。# dsconf <instance_name> backend index set --attr roomNumber --add-type pres userRootたとえば、
userRootデータベースのroomNumber属性のインデックス設定からpresインデックスタイプを削除するには、次のように入力します。# dsconf <instance_name> backend index set --attr roomNumber --del-type pres userRootたとえば、
userRootデータベースのインデックスからroomNumber属性を削除するには、次のように入力します。# dsconf <instance_name> backend index delete --attr roomNumber userRoot
検証
userRootデータベースのインデックス設定をリスト表示します。# dsconf <instance_name> backend index list userRoot
6.3.2. インスタンスがオフラインのときにインデックスを再作成する リンクのコピーリンクがクリップボードにコピーされました!
インスタンスのオフライン時に、dsctl db2index ユーティリティーを使用してデータベース全体のインデックスを再作成できます。
前提条件
-
インデックスエントリーを作成しているか、既存の
userRootデータベースに追加のインデックスタイプを追加している。
手順
インスタンスをシャットダウンします。
# dsctl <instance_name> stopインデックスを再作成します。
データベース内のすべてのインデックスに対して、以下を実行します。
# dsctl <instance_name> db2index [23/Feb/2023:05:38:28.034826108 -0500] - INFO - check_and_set_import_cache - pagesize: 4096, available bytes 1384095744, process usage 27467776 [23/Feb/2023:05:38:28.037952026 -0500] - INFO - check_and_set_import_cache - Import allocates 540662KB import cache. [23/Feb/2023:05:38:28.055104135 -0500] - INFO - bdb_db2index - userroot: Indexing attribute: aci ... [23/Feb/2023:05:38:28.134350191 -0500] - INFO - bdb_db2index - userroot: Finished indexing. [23/Feb/2023:05:38:28.151907852 -0500] - INFO - bdb_pre_close - All database threads now stopped db2index successful特定の属性インデックスの場合は、以下を実行します。
# dsctl <instance_name> db2index userRoot --attr aci cn givenname次のコマンドは、
aci、cn、およびgivenname属性のインデックスを再作成します。データベースが指定されていない場合、コマンドはすべての属性のインデックスを再作成することに注意してください。
dsctl(オフライン) コマンドの詳細は、次を実行してください。# dsctl <instance_name> db2index --help
インスタンスを起動します。
# dsctl <instance_name> start
検証
userRootデータベースのインデックス設定をリスト表示します。# dsconf <instance_name> backend index list userRoot
6.3.3. Web コンソールを使用した特定のデータベースのインデックスの維持 リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールを使用して、Directory Server のインデックス設定を維持することができます。
前提条件
- Web コンソールでインスタンスにログインしている。
手順
に移動します。 インデックスに属性を追加するには、以下を行います。
- をクリックします。
-
Select An Attributeフィールドに属性名を入力します。 - インデックスタイプを選択します。
- Index attribute after creation を選択します。
- をクリックします。
属性のインデックス設定を更新するには、以下を行います。
- 属性の横にあるオーバーフローメニューをクリックし、Edit Index を選択します。
- インデックスの設定を必要に応じて変更してください。
- Index attribute after creation を選択します。
- をクリックします。
インデックスから属性を削除するには、以下を行います。
- 属性の横にあるオーバーフローメニューをクリックし、Delete Index を選択します。
- Yes, I am sure を選択して、 をクリックします。
- メニューで Reindex Suffix を選択します。
検証
-
に移動し、インデックスの設定に変更が反映されていることを確認します。