Provided by: inn2_2.6.3-2build1_amd64
ovdb_init - Prepare ovdb database for use
This command must be run before any other process can access the overview database. ovdb_init is normally invoked automatically by rc.news when starting the news system. ovdb_init 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 database housekeeping processes (ovdb_monitor) if they are not already running. (Unless the -r option is specified). 5. Starts the ovdb readserver processes (ovdb_server) 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 failed, the database may be damaged beyond repair, requiring a rebuild with makehistory. This command can be run 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 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 (shipped with INN 2.3.0 up to INN 2.3.5) to ovdb-2.0 (since INN 2.4.0). In both of these cases, the database is upgraded in-place; and the upgrade cannot 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 version; 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 the "rc.news" command. Note that the -u option can be used even if no upgrades are needed.
Written by Heath Kehoe <firstname.lastname@example.org> for InterNetNews. $Id: ovdb_init.pod 10241 2018-02-04 15:38:19Z iulius $
ovdb(5), makehistory(8), rc.news(8).