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 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@avalon.net> for InterNetNews.
$Id: ovdb_init.pod 7851 2008-05-26 19:33:08Z iulius $
SEE ALSO¶
ovdb(5),
makehistory(8)