Russ Allbery > Software > INN > INN 2.5 Documentation | ovdb_monitor > |
(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:
Creates the database environment, if necessary
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.
If the -u
option is specified, it performs any necessary upgrades
to the database. See the UPGRADING section below.
Starts the DB housekeeping processes (ovdb_monitor) if they're not
already running. (Unless the -r
option is specified).
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.
-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 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:
Build and install the Berkeley DB 3.1.17;
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);
Do a make
;
Shut down INN (e.g., with rc.news stop
) and be sure to kill all
instances of nnrpd as well;
Do a make update
to install the new binaries;
Run ovdb_init -u
as the news user;
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.
$Id$
ovdb(5), makehistory(8)
Russ Allbery > Software > INN > INN 2.5 Documentation | ovdb_monitor > |