OVDB_INIT(8) InterNetNews Documentation OVDB_INIT(8)NAME
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 over‐
view 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:
· You upgrade the BerkeleyDB library to a newer version, for example
from 2.7.7 to 3.1.17. In this case, the BerkeleyDB 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 Berke‐
leyDB 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 ALSOovdb(5), makehistory(8)INN 2.4.0 2002-02-02 OVDB_INIT(8)