<?xml version="1.0" encoding="UTF-8"?>
<!--
! CCPL HEADER START
!
! This work is licensed under the Creative Commons
! Attribution-NonCommercial-NoDerivs 3.0 Unported License.
! To view a copy of this license, visit
! http://creativecommons.org/licenses/by-nc-nd/3.0/
! or send a letter to Creative Commons, 444 Castro Street,
! Suite 900, Mountain View, California, 94041, USA.
!
! You can also obtain a copy of the license at
! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt.
! See the License for the specific language governing permissions
! and limitations under the License.
!
! If applicable, add the following below this CCPL HEADER, with the fields
! enclosed by brackets "[]" replaced with your own identifying information:
! Portions Copyright [yyyy] [name of copyright owner]
!
! CCPL HEADER END
!
! Copyright 2011-2012 ForgeRock AS
! Portions Copyright 2013 Jens Elkner
!
-->
<refentry xml:id="verify-index-1" xmlns="http://docbook.org/ns/docbook"
version="5.0" xml:lang="en"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://docbook.org/ns/docbook http://docbook.org/xml/5.0/xsd/docbook.xsd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="common.xml" xpointer='xpointer(//info[@name="info"])'/>
<refmeta>
<refentrytitle><application>verify-index</application></refentrytitle>
<xi:include href="common.xml" xpointer='xpointer(//manvolnum[@name="v1m"])'/>
</refmeta>
<refnamediv>
<refname><application>verify-index</application></refname>
<refpurpose>check index for consistency or errors</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>verify-index</command>
<arg>-b <replaceable class="parameter">baseDN</replaceable></arg>
<arg rep="repeat">-i <replaceable class="parameter">index</replaceable></arg>
<arg>-c</arg>
<arg>--countErrors</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsection>
<title>Description</title>
<para>
This utility can be used to ensure that index data is consistent within a
backend based on the Berkeley DB Java Edition.
</para>
</refsection>
<refsection xml:id="verify-index-1-options">
<title>Options</title>
<para>
The following options are supported.
</para>
<variablelist>
<varlistentry>
<term><option>-b, --baseDN</option> <replaceable class="parameter"
>baseDN</replaceable></term>
<listitem>
<para>
Base DN of a backend supporting indexing. Verification is performed on indexes
within the scope of the given base DN.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-c, --clean</option></term>
<listitem>
<para>
Specifies that a single index should be verified to ensure it is clean. An index
is clean if each index value references only entries containing that value. Only
one index at a time may be verified in this way.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--countErrors</option></term>
<listitem>
<para>
Count the number of errors found during the verification and return that value
as the exit code (values &gt; 255 will be reduced to 255 due to exit code
restrictions).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-i, --index</option> <replaceable class="parameter"
>index</replaceable></term>
<listitem>
<para>
Name of an index to be verified. For an attribute index this is simply an
attribute name. Multiple indexes may be verified for completeness, or all
indexes if no indexes are specified. An index is complete if each index value
references all entries containing that value.
</para>
</listitem>
</varlistentry>
</variablelist>
<refsection>
<title>General Options</title>
<variablelist>
<xi:include href="common.xml"
xpointer='xpointer(//para[@name="l-general"]/*)'/>
</variablelist>
</refsection>
</refsection>
<refsection>
<title>Examples</title>
<informalexample>
<para>
The following example verifies the <literal>cn</literal> (common name) index for
completeness and for errors.
</para>
<literallayout><prompt
>$ </prompt><command>verify-index -b dc=example,dc=com -i cn --clean --countErrors</command></literallayout>
<screen>
[07/Jun/2011:16:06:50 +0200] category=BACKEND severity=INFORMATION msgID=9437595 msg=Local DB backend userRoot does not specify the number of lock tables: defaulting to 97
[07/Jun/2011:16:06:50 +0200] category=BACKEND severity=INFORMATION msgID=9437594 msg=Local DB backend userRoot does not specify the number of cleaner threads: defaulting to 24 threads
[07/Jun/2011:16:06:51 +0200] category=JEB severity=NOTICE msgID=8847461 msg=Checked 1316 records and found 0 error(s) in 0 seconds (average rate 2506.7/sec)
[07/Jun/2011:16:06:51 +0200] category=JEB severity=INFORMATION msgID=8388710 msg=Number of records referencing more than one entry: 315
[07/Jun/2011:16:06:51 +0200] category=JEB severity=INFORMATION msgID=8388711 msg=Number of records that exceed the entry limit: 0
[07/Jun/2011:16:06:51 +0200] category=JEB severity=INFORMATION msgID=8388712 msg=Average number of entries referenced is 1.58/record
[07/Jun/2011:16:06:51 +0200] category=JEB severity=INFORMATION msgID=8388713 msg=Maximum number of entries referenced by any record is 32
</screen>
</informalexample>
</refsection>
<xi:include href="common.xml" xpointer='xpointer(//refsection[@name="env"])'/>
<refsection>
<title>Exit Status</title>
<variablelist>
<varlistentry>
<term><errorcode>0</errorcode></term>
<listitem>
<para>
The command completed successfully.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><errorcode>1</errorcode></term>
<listitem>
<para>
An error occurred while parsing the command-line arguments.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><errorcode>0-255</errorcode></term>
<listitem>
<para>
The number of errors in the index, as indicated for the <option
>--countErrors</option> option.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
<xi:include href="common.xml" xpointer='xpointer(//refsection[@name="seeAlso"])'/>
</refentry>