GNU/Linux |
CentOS 5.1 |
|
![]() |
ovdb_init(8) |
![]() |
ovdb_init − Prepare ovdb database for use
ovdb_init ["−u"⎪"−r"]
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.
"−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.
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 "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.
Written by Heath Kehoe <hakehoe@avalon.net> for InterNetNews.
ovdb(5), makehistory(8)
![]() |
ovdb_init(8) | ![]() |