6.3. 维护特定数据库的索引


目录服务器中的每个数据库都有自己的索引。您可以使用 dsconf 实用程序或 Web 控制台创建、更新和删除索引。

6.3.1. 使用命令行维护特定数据库的索引

您可以使用 dsconf 工具来使用命令行维护索引设置。

流程

  • 例如,要将 roomNumber 属性添加到带有索引类型 eqsubuserRoot 数据库的索引中,请输入:

    # dsconf <instance_name> backend index add --attr roomNumber --index-type eq --index-type sub --reindex userRoot
    Copy to Clipboard Toggle word wrap

    --reindex 选项会导致目录服务器自动重新索引数据库。

  • 例如,要将 pres 索引类型添加到 userRoot 数据库中 roomNumber 属性的索引设置中,请输入:

    # dsconf <instance_name> backend index set --attr roomNumber --add-type pres userRoot
    Copy to Clipboard Toggle word wrap
  • 例如,要从 userRoot 数据库中 roomNumber 属性的索引设置中删除 pres 索引类型,请输入:

    # dsconf <instance_name> backend index set --attr roomNumber --del-type pres userRoot
    Copy to Clipboard Toggle word wrap
  • 例如,要从 userRoot 数据库中的索引中删除 roomNumber 属性,请输入:

    # dsconf <instance_name> backend index delete --attr roomNumber userRoot
    Copy to Clipboard Toggle word wrap

验证

  • 列出 userRoot 数据库的索引设置:

    # dsconf <instance_name> backend index list userRoot
    Copy to Clipboard Toggle word wrap

6.3.2. 在实例离线时重新创建索引

您可以使用 dsctl db2index 实用程序在实例离线时重新索引整个数据库。

先决条件

  • 您创建了索引条目,或向现有的 userRoot 数据库添加了额外的索引类型。

流程

  1. 关闭实例:

    # dsctl <instance_name> stop
    Copy to Clipboard Toggle word wrap
  2. 重新创建索引:

    1. 对于数据库中的所有索引,请运行:

      # 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
      Copy to Clipboard Toggle word wrap
    2. 对于特定属性索引,请运行:

      # dsctl <instance_name> db2index userRoot --attr aci cn givenname
      Copy to Clipboard Toggle word wrap

      以下命令为 acicngivenname 属性重新创建索引。

      请注意,如果没有指定数据库,命令会为所有属性重新创建索引。

    3. 有关 dsctl (离线)命令的更多信息,请运行:

      # dsctl <instance_name> db2index --help
      Copy to Clipboard Toggle word wrap
  3. 启动实例:

    # dsctl <instance_name> start
    Copy to Clipboard Toggle word wrap

验证

  • 列出 userRoot 数据库的索引设置:

    # dsconf <instance_name> backend index list userRoot
    Copy to Clipboard Toggle word wrap

6.3.3. 使用 Web 控制台维护特定数据库的索引

您可以使用 Web 控制台在 Directory Server 中维护索引设置。

先决条件

  • 在 web 控制台中登录到实例。

流程

  • 导航到 Database suffix _name Indexes Database Indexes

    • 在索引中添加属性:

      • Add Index
      • Select An Attribute 字段中输入属性名称。
      • 选择索引类型。
      • 在创建后选择 Index 属性
      • Create Index
    • 更新属性的索引设置:

      • 单击属性旁边的溢出菜单,然后选择 Edit Index
      • 根据您的需要更新索引设置。
      • 在创建后选择 Index 属性
      • Save Index
    • 从索引中删除属性:

      • 单击属性旁边的溢出菜单,然后选择 Delete Index
      • 选择 Yes, I am sure,然后点 Delete
      • Suffix Tasks 菜单中,选择 Reindex Suffix

验证

  • 导航到 Database Suffixes suffix_name Indexes Database Indexes,再验证索引设置是否反映了您所做的更改。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat