Petit rappel pour l'ajout d'index sur Sun DSEE
Machine très lente. Dans le log errors :
[23/Mar/2018:09:52:00 +0100] - WARNING<20805> - Backend Database - conn=1636653 op=1286 msgId=1287 - search is not indexed base='dc=exampel,dc=com' filter='(|(&(objectclass=ocCustomPerson)(state=0)(!(contracttype=F1))(computersite=sid=RES441*)(contractlastdate<=20180322)(!(contractlastdate=00000000)))(&(objectclass=ocExtendedPerson)(!(state=2)(contracttype=F1)(computersite=sid=RES441*)(hrcontractlastdate<=20180322)(!(hrcontractlastdate=00000000))))' scope='sub'
La gestion des index se fait avec l'utilitaire dsconf :
bin/dsconf create-index -h host -p port baseDN index
Exemple
bin/dsconf create-index -h localhost -p 389 dc=example,dco=com state
Ceci va uniquement créer la définition de l'index. Si les données exsstent déjà, il faut passer par une phase de génération (calcul) de l'index.
Note : si on a plusieurs instances actives avec les mêmes données (par exemple dans le cas d'une réplication), il faut lancer les commandes sur chaque instance.
On utilise l'option reindex
bin/dsconf reindex -h host -p port-t index baseDN
Exemple
bin/dsconf reindex -h localhost -p 389 -t state dc=example,dc=com
Pour vérifier la liste des indexes créés, on utilise l'option list-indexes :
bin/dsconf list-indexes -h localhost -p 389
On peut avoir le détail d'un index (type, limites) avec l'option get-index-prop en précisant le BaseDN et le nom de l'attribut :
bin/dsconf get-index-prop -h localhost -p 389 dc=example,dc=com state
Enter "cn=Directory Manager" password:
eq-enabled : on
pres-enabled : on
sub-enabled : off
approx-enabled : off
matching-rule : -
system : no
all-ids-threshold-eq : 4000
all-ids-threshold-pres : 4000
all-ids-threshold-sub : N/A
all-ids-threshold : inherited (4000)
desc : -