在运营的过程中索引损坏或以前没有创建索引的属性希望加上索引,在数据量过大的情况下(超过40万)建议用如下方式。
步骤一、关闭OpenDs服务。
步骤二、更改${OpenDs_Home}/bin/rebuild-index文件
在“export OPENDS_INVOKE_CLASS“下加入:
export OPENDS_JAVA_ARGS="-server -Xms2048m -Xmx2560m"
echo"Jvm args--> ${OPENDS_JAVA_ARGS} , add by UM at 2012/4"
步骤三、执行重建索引命令
rebuild-index --baseDN <指定基于哪个DN创建索引> –index<需要重建的属性>
特别说明:
1、如果是第一次创建某个属性的索引,需要先启动OpenDs服务,执行如下命令新建一个索引,再关闭OpenDs服务,执行上面的重建索引命令。
dsconfig "create-local-db-index""--backend-name" "userRoot" "--type""generic" "--index-name" "uid""--set" "index-type:equality" "--set""index-entry-limit:4000" "--hostname" "localhost" "--port" "14001""--bindDN" "cn=um" "--bindPassword" "aaaaa888""--trustAll" "--noPropertiesFile" "--no-prompt"
(红色部分根据实际情况填入相应的值)
2 、重建索引是非常消耗内存的操作,理论上堆内存设置越大可以提高执行效率,Linux环境 JDK 32 位,最大可以使用 2.6G 堆内存。