man ovdb_init (Administration système) - Prepare ovdb database for use
NAME
ovdb_init - Prepare ovdb database for use
SYNOPSYS
ovdb_init [CW-u|CW-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 CW-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 CW-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 CW-r option is specified).
- 5
- Starts the ovdb readserver (ovdb_server) processes if CWreadserver in ovdb.conf is CWtrue, and if they're not already running. (Unless the CW-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
Perform recovery only. CWovdb_monitor is not started. Perform any needed upgrades. Recovery is not attempted. CWovdb_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 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 CWmake
- 4
- Shut down INN (e.g., with CWrc.news stop). Be sure to kill all nnrpds as well.
- 5
- Do a CWmake update to install the new binaries.
- 6
- Run CWovdb_init -u as the news user.
- 7
- Start INN with CWrc.news
It is OK to specify CW-u even if no upgrades are needed.
HISTORY
Written by Heath Kehoe <hakehoe@avalon.net> for InterNetNews.
SEE ALSO
ovdb(5), makehistory(8)