=head1 NAME

vldb_check - Checks the integrity of the VLDB

=head1 SYNOPSIS

=for html
<div class="synopsis">

B<vldb_check> S<<< B<-database> <I<vldb file>> >>> [B<-uheader>] [B<-vheader>]
    [B<-servers>] [B<-entries>] [B<-quiet> | B<-verbose>] [B<-fix>]
    [B<-help>]

B<vldb_check> S<<< B<-d> <I<vldb file>> >>> [B<-u>] [B<-vh>] [B<-s>] [B<-e>]
    [B<-ve>] [B<-f>] [B<-h>]

=for html
</div>

=head1 DESCRIPTION

The B<vldb_check> command checks the integrity of the Volume Location
Database (VLDB), reporting any errors or corruption it finds.  If there
are problems, do not issue any B<vos> commands until the database is
repaired.

=head1 CAUTIONS

The results can be unpredictable if the Volume Location (VL) Server makes
changes to the VLDB while this command is running. Use the B<bos shutdown>
command to shutdown the local B<vlserver> process before running this
command, or before creating a second copy of the F<vldb.DB0> file (with a
different name) on which to run the command.

=head1 OPTIONS

=over 4

=item B<-database> <I<vldb file>>

Names the VLDB (copy of the F<vldb.DB0> file) to check. If the current
working directory is not the location of the file, provide a pathname,
either full or relative to the current working directory.

=item B<-uheader>

Displays information which Ubik maintains in the database's header.

=item B<-vheader>

Displays information which the VL Server maintains in the database's
header.

=item B<-servers> <I<authentication servers>>+

Outputs the server entries from the VLDB, which list the IP addresses
registered for each file server machine in the cell.

=item B<-entries>

Outputs every volume entry in the database. The information includes the
volume's name and the volume ID number for each of its versions.

=item B<-quiet>

Blocks output from going to stdout. Output to stderr is not blocked. Cannot
be used with -verbose, -uheader, -servers or -entries.

=item B<-verbose>

Reports additional information about the database, including the number of
entries for each type of volume. Cannot be used with -quiet.

=item B<-fix>

Try to fix errors in the database. If this option is given, B<vldb_check> will
open the given database file read-write, and will update the database file
in-place. It is recommended that you backup the database file before running
with this option, in case B<vldb_check> removes data in order to fix the
database.

=item B<-help>

Prints the online help for this command. All other valid options are
ignored.

=back

=head1 OUTPUT

If there are errors in the database, the output always reports them on the
standard error stream. If any options other than B<-database> or B<-help>
are provided, the output written to the standard output stream includes
additional information as described for each option in L</OPTIONS>.  The
output is intended for debugging purposes and is meaningful to someone
familiar with the internal structure of the VLDB.

The B<-quiet> option can be used to suppress the standard output stream
so that the command can be used more easily inside scripts. 

The command exits with one of the following completion codes:

0: No errors or warnings have been encountered.
1: One or more warnings encountered.
2: One or more warnings and/or errors encountered.
4: A fatal or internal error has occurred and the program cannot proceed.

=head1 PRIVILEGE REQUIRED

The issuer must be logged in as the local superuser C<root>.

=head1 SEE ALSO

L<vldb.DB0(5)>,
L<bos_shutdown(8)>,
L<vlserver(8)>

=head1 COPYRIGHT

IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.

This documentation is covered by the IBM Public License Version 1.0.  It was
converted from HTML to POD by software written by Chas Williams and Russ
Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
