Provided by: inn2_2.7.2~20240212-1build3_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.

           This option can be used even if no upgrades are needed.

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 irreparable 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.

HISTORY

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

SEE ALSO

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

INN 2.7.2                                          2024-03-31                                       OVDB_INIT(8)