Provided by: inn2_2.6.4-2build4_amd64 bug

NAME

       ovdb_init - Prepare ovdb database for use

SYNOPSIS

       ovdb_init [-r|-u]

DESCRIPTION

       This command must be run before any other process can access the overview database.
       ovdb_init is normally invoked automatically by rc.news when starting the news system.

       ovdb_init performs the following steps:

       1.  Creates the database environment, if necessary.

       2.  If the database is idle (and if the -u option is not specified), it performs a normal
           recovery.  The recovery will remove stale locks, recreate the memory pool cache, and
           repair any damage caused by a system crash or improper shutdown.

       3.  If the -u option is specified, it performs any necessary upgrades to the database.
           See the UPGRADING section below.

       4.  Starts the database housekeeping processes (ovdb_monitor) if they are not already
           running.  (Unless the -r option is specified).

       5.  Starts the ovdb readserver processes (ovdb_server) if readserver in ovdb.conf is true,
           and if they are not already running.  (Unless the -r option is specified).

       Returns exit status of 0 if all steps were completed successfully.  In the event of an
       error, messages are written to syslog and/or stderr.

       If a recovery was attempted but failed, the database may be damaged beyond repair,
       requiring a rebuild with makehistory.

       This command can be run multiple times.

OPTIONS

       -r  Perform recovery only.  ovdb_monitor is not started.

       -u  Perform any needed upgrades.  Recovery is not attempted.  ovdb_monitor is started if
           the upgrade succeeded.

UPGRADING

       There are two situations in which the database will need to be upgraded:

       •   You upgrade the Berkeley DB library to a newer version, for example from 2.7.7 to
           3.1.17.  In this case, the Berkeley DB db->upgrade() method is used.

       •   You upgrade ovdb to a newer major version; i.e., ovdb-1.0 (shipped with INN 2.3.0 up
           to INN 2.3.5) to ovdb-2.0 (since INN 2.4.0).

       In both of these cases, the database is upgraded in-place; and the upgrade cannot be
       undone.  Do not interrupt the upgrade process once it has started, because there is a risk
       of irrepairable corruption.  The upgrade may take several minutes to complete.  If an
       upgrade does get interrupted, try running the upgrade again.

       Here's an example procedure to upgrade a database created with Berkeley DB 2.7.7 to use
       Berkeley DB 3.1.17:

       1.  Build and install the Berkeley DB 3.1.17 version;

       2.  Run configure in the INN source tree and make sure it picks up the right Berkeley DB
           directory (e.g., /usr/local/BerkeleyDB.3.1);

       3.  Do a "make";

       4.  Shut down INN (e.g., with "rc.news stop") and be sure to kill all instances of nnrpd
           as well;

       5.  Do a "make update" to install the new binaries;

       6.  Run "ovdb_init -u" as the news user;

       7.  Start INN with the "rc.news" command.

       Note that the -u option can be used even if no upgrades are needed.

HISTORY

       Written by Heath Kehoe <hakehoe@avalon.net> for InterNetNews.

       $Id: ovdb_init.pod 10241 2018-02-04 15:38:19Z iulius $

SEE ALSO

       ovdb(5), makehistory(8), rc.news(8).