Provided by: slapd_2.2.26-5ubuntu2_i386 bug


       slapd-bdb, slapd-hdb - BDB backends to slapd




       The  BDB  backend  to  slapd(8) is the recommended backend for a normal
       slapd database.  However, it takes more care than with the LDBM backend
       to  configure  it  properly.   It  uses the Sleepycat Berkeley DB (BDB)
       package to store data.  It makes extensive use of indexing and  caching
       to speed data access.

       "hdb" is a variant of the BDB backend that uses a hierarchical database
       layout which supports subtree renames.  It is  otherwise  identical  to
       the "bdb" behavior, and all the same configuration options apply.

       It  is  noted that these options are intended to complement Berkeley DB
       configuration options set in the  environment’s  DB_CONFIG  file.   See
       Berkeley  DB  documentation  for  details  on  DB_CONFIG  configuration
       options.   Where  there  is  overlap,  settings   in   DB_CONFIG   take


       These  slapd.conf  options apply to the BDB backend database.  That is,
       they must follow a "database bdb"  or  "database  hdb"  line  and  come
       before  any  subsequent  "backend" or "database" lines.  Other database
       options are described in the slapd.conf(5) manual page.

       cachesize <integer>
              Specify the  size  in  entries  of  the  in-memory  entry  cache
              maintained by the BDB backend database instance.  The default is
              1000 entries.

       checkpoint <kbyte> <min>
              Specify the frequency for checkpointing the database transaction
              log  upon  updating  of  the database.  A checkpoint flushes the
              database buffers to disk and writes a checkpoint record  in  the
              log.   Upon a database update, a checkpoint will occur if either
              <kbyte> data has been written or <min> minutes have passed since
              the  last  checkpoint.  Both arguments default to zero, in which
              case they are ignored.  Note: checkpointing  by  this  directive
              occurs only upon execution of a database update.  If one desires
              checkpointing to occur otherwise, db_checkpoint(1) or some other
              external  process  should be used to cause a database checkpoint
              to be taken.  See the  Berkeley  DB  reference  guide  for  more

              Specify that on-disk database contents should not be immediately
              synchronized with in memory changes.  Enabling this  option  may
              improve performance at the expense of data security.

       directory <directory>
              Specify  the  directory  where  the  BDB  files  containing this
              database and associated indexes live.  A separate directory must
              be  specified  for each database.  The default is /var/openldap-

              Allow reads of modified but not  yet  committed  data.   Usually
              transactions  are  isolated  to  prevent  other  operations from
              accessing   uncommitted   data.    This   option   may   improve
              performance,  but  may  also  return inconsistent results if the
              data comes from a transaction that is later  aborted.   In  this
              case,  the  modified  data  is discarded and a subsequent search
              will return a different result.

       idlcachesize <integer>
              Specify the size of the in-memory index cache, in  index  slots.
              The  default  is  zero.  A  larger  value will speed up frequent
              searches of indexed entries.  An  hdb  database  needs  a  large
              idlcachesize  for good search performance, typically three times
              the entry cache size or larger.

       index {<attrlist>|default} [pres,eq,approx,sub,<special>]
              Specify the indexes to maintain for the given attribute (or list
              of  attributes).   Some  attributes  only  support  a  subset of
              indexes.  If only an <attr> is given, the indices specified  for
              default  are  maintained.   Note that setting a default does not
              imply that all  attributes  will  be  indexed.  Also,  for  best
              performance,  an  eq  index  should always be configured for the
              objectClass attribute.

              A number of special index  parameters  may  be  specified.   The
              index  type  sub  can be decomposed into subinitial, subany, and
              subfinal indices.  The special type nolang may be  specified  to
              disallow  use  of  this index by language subtypes.  The special
              type nosubtypes may be specified to disallow use of  this  index
              by  named  subtypes.   Note:  changing  index  settings requires
              rebuilding indices, see slapindex(8).

       lockdetect {oldest|youngest|fewest|random|default}
              Specify which transaction to abort when a deadlock is  detected.
              The default is the same as random.

       mode <integer>
              Specify  the  file  protection  mode that newly created database
              index files should have.  The default is 0600.

       searchstack <depth>
              Specify  the  depth  of  the  stack  used  for   search   filter
              evaluation.    Search  filters  are  evaluated  on  a  stack  to
              accommodate nested AND / OR  clauses.  An  individual  stack  is
              assigned  to  each  server  thread.   The  depth  of  the  stack
              determines  how  complex  a  filter  can  be  evaluated  without
              requiring  any  additional  memory  allocation. Filters that are
              nested deeper than the search stack depth will cause a  separate
              stack  to  be  allocated  for  that particular search operation.
              These allocations can have a major  negative  impact  on  server
              performance,  but  specifying too much stack will also consume a
              great deal of memory.  Each search stack  uses  512K  bytes  per
              level.  The  default  stack  depth is 16, thus 8MB per thread is

       shm_key <integer>
              Specify a key for a shared memory BDB  environment.  By  default
              the  BDB  environment  uses  memory  mapped files. If a non-zero
              value is specified, it will be used as the  key  to  identify  a
              shared memory region that will house the environment.

       sessionlog <sid> <limit>
              Specify  a  session  log  store  for  the  syncrepl  replication
              provider server. The session log store contains  information  on
              the   entries   that  have  been  scoped  out  of  the  provider
              replication content identified by <sid>.  The number of  entries
              in  the  session  log  store  is  limited by <limit>.  Excessive
              entries are removed from the store  in  the  FIFO  order.   Both
              <sid>  and <limit> are non-negative integers.  <sid> has no more
              than   three   decimal   digits.    Refer   to   the   "OpenLDAP
              Administrator’s  Guide" for detailed information on setting up a
              replicated  slapd   directory   service   using   the   syncrepl
              replication engine and the session log store.


              default slapd configuration file

              Berkeley DB configuration file


       slapd.conf(5), slapd(8), slapadd(8), slapcat(8), slapindex(8), Berkeley
       DB documentation.