logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

ovdb_init - Prepare ovdb database for use

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.

History

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

Name

       ovdb_init - Prepare ovdb database for use

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.

See Also

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

INN 2.7.3                                          2025-05-19                                       OVDB_INIT(8)

Synopsis

ovdb_init [-r|-u]

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.

See Also