sourCEntral - mobile manpages

pdf

OVDB_INIT

NAME

ovdb_init − Prepare ovdb database for use

SYNOPSIS

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 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 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:

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 to ovdb−2.0.

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 Berkeley  DB  2.7.7 to use Berkeley  DB  3.1.17:

1.

Build and install the Berkeley  DB  3.1.17;

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 "rc.news".

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

HISTORY

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

$Id: ovdb_init.pod 9765 2014−12−07 21:07:34Z iulius $

SEE ALSO

ovdb(5), makehistory(8)

pdf