ovdb_init

(Prepare ovdb database for use)

SYNOPSYS

ovdb_init [-u|-r]

DESCRIPTION

This command must be run before any other process can access the overview database. It 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 DB housekeeping processes (ovdb_monitor) if they're not already running. (Unless the -r option is specified).

  5. Starts the ovdb readserver (ovdb_server) processes if readserver in ovdb.conf is true, and if they're 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 it failed, the database may be damaged beyond repair, requiring a rebuild with makehistory(8).

This command is normally invoked automatically by rc.news(8).

It is OK to run this command 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:

In both of these cases, the database is upgraded in-place; and the upgrade can not 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 BerkeleyDB 2.7.7 to use BerkeleyDB 3.1.17:

  1. Build and install the BerkeleyDB 3.1.17

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

  3. Do a make

  4. Shut down INN (e.g., with rc.news stop). Be sure to kill all nnrpds 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 rc.news

It is OK to specify -u even if no upgrades are needed.

HISTORY

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

SEE ALSO

ovdb(5), makehistory(8)

Last modified and spun 2022-12-12