Go to main content

man pages section 8: System Administration Commands

Exit Print View

Updated: Wednesday, July 27, 2022

slapschema (8oldap)


slapschema - database schema checking utility


/usr/sbin/slapschema   [-afilter]   [-bsuffix]   [-c]   [-ddebug-level]
[-fslapd.conf] [-Fconfdir] [-g] [-HURI] [-lerror-file] [-ndbnum] [-oop-
tion[=value]] [-ssubtree-dn] [-v]


SLAPSCHEMA(8oldap)                                          SLAPSCHEMA(8oldap)

       slapschema - SLAPD in-database schema checking utility

       /usr/sbin/slapschema   [-afilter]   [-bsuffix]   [-c]   [-ddebug-level]
       [-fslapd.conf] [-Fconfdir] [-g] [-HURI] [-lerror-file] [-ndbnum] [-oop-
       tion[=value]] [-ssubtree-dn] [-v]

       Slapschema  is  used  to  check  schema compliance of the contents of a
       slapd(8) database.  It opens the given database determined by the data-
       base  number  or  suffix and checks the compliance of its contents with
       the corresponding schema. Errors are written to standard output or  the
       specified  file.   Databases  configured as subordinate of this one are
       also output, unless -g is specified.

       Administrators may need to  modify  existing  schema  items,  including
       adding  new  required  attributes  to  objectClasses, removing existing
       required or allowed attributes from  objectClasses,  entirely  removing
       objectClasses,  or any other change that may result in making perfectly
       valid entries no longer compliant with the modified schema.  The execu-
       tion  of  the  slapschema tool after modifying the schema can point out
       inconsistencies that would otherwise  surface  only  when  inconsistent
       entries need to be modified.

       The  entry  records  are  checked in database order, not superior first
       order.  The entry records will be checked  considering  all  (user  and
       operational)  attributes stored in the database.  Dynamically generated
       attributes (such as subschemaSubentry) will not be considered.

       -a filter
              Only check entries matching the asserted filter.  For example

              slapschema -a \

              will check all but the "ou=People,dc=example,dc=com" subtree  of
              the    "dc=example,dc=com"   database.    Deprecated;   use   -H
              ldap:///???(filter) instead.

       -b suffix
              Use the specified suffix to determine which database  to  check.
              The -b cannot be used in conjunction with the -n option.

       -c     Enable continue (ignore errors) mode.

       -d debug-level
              Enable  debugging  messages  as  defined by the specified debug-
              level; see slapd(8) for details.

       -f slapd.conf
              Specify an alternative slapd.conf(5) file.

       -F confdir
              specify a config directory.  If both -f and  -F  are  specified,
              the  config  file will be read and converted to config directory
              format and written  to  the  specified  directory.   If  neither
              option  is  specified,  an  attempt  to  read the default config
              directory will be made before trying to use the  default  config
              file. If a valid config directory exists then the default config
              file is ignored.

       -g     disable subordinate gluing.  Only the specified database will be
              processed, and not its glued subordinates (if any).

       -H  URI
              use  dn,  scope  and  filter  from  URI  to only handle matching

       -l error-file
              Write errors to specified file instead of standard output.

       -n dbnum
              Check the dbnum-th database listed in  the  configuration  file.
              The  config  database slapd-config(5), is always the first data-
              base, so use -n 0

              The -n cannot be used in conjunction with the -b option.

       -o option[=value]
              Specify an option with a(n optional)  value.   Possible  generic
              options/values are:

                     syslog=<subsystems>  (see `-s' in slapd(8))
                     syslog-level=<level> (see `-S' in slapd(8))
                     syslog-user=<user>   (see `-l' in slapd(8))

       -s subtree-dn
              Only check entries in the subtree specified by this DN.  Implies
              -b subtree-dn if no -b nor -n option is given.  Deprecated;  use
              -H ldap:///subtree-dn instead.

       -v     Enable verbose mode.

       For  some backend types, your slapd(8) should not be running (at least,
       not in read-write mode) when you do this to ensure consistency  of  the
       database.  It  is  always safe to run slapschema with the slapd-bdb(5),
       slapd-hdb(5), and slapd-null(5) backends.

       To check the schema compliance of your SLAPD database  after  modifica-
       tions  to  the  schema, and put any error in a file called errors.ldif,
       give the command:

            /usr/sbin/slapschema -l errors.ldif

       See attributes(7) for descriptions of the following attributes:

       |ATTRIBUTE TYPE |       ATTRIBUTE VALUE         |
       |Availability   | service/network/ldap/openldap |
       |Stability      | Pass-through uncommitted      |

       ldap(3), ldif(5), slapd(8)

       "OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)

       OpenLDAP Software is developed and maintained by The  OpenLDAP  Project
       <http://www.openldap.org/>.  OpenLDAP Software is derived from the Uni-
       versity of Michigan LDAP 3.3 Release.

       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source was downloaded from   ftp://ftp.openldap.org/pub/OpenLDAP/openl-

       Further information about this software can be found on the open source
       community website at http://www.openldap.org/.

OpenLDAP 2.4.59                   2021/06/03                SLAPSCHEMA(8oldap)