db_upgrade(1) BSD General Commands Manual db_upgrade(1)
NAME
db_upgrade
SYNOPSIS
db_upgrade [-NsV] [-h home] [-P password] file ...
DESCRIPTION
The db_upgrade utility upgrades the Berkeley DB version of one or more files and the databases they
contain to the current release version.
The options are as follows:
-h
Specify a home directory for the database environment; by default, the current working directory is
used.
-N
Do not acquire shared region mutexes while running. Other problems, such as potentially fatal errors
in Berkeley DB, will be ignored as well. This option is intended only for debugging errors, and
should not be used under any other circumstances.
-P
Specify an environment password. Although Berkeley DB utilities overwrite password strings as soon
as possible, be aware there may be a window of vulnerability on systems where unprivileged users can
see command-line arguments or where utilities are not able to overwrite the memory containing the
command-line arguments.
-s
This flag is only meaningful when upgrading databases from releases before the Berkeley DB 3.1
release.
As part of the upgrade from the Berkeley DB 3.0 release to the 3.1 release, the on-disk format of
duplicate data items changed. To correctly upgrade the format requires that applications specify
whether duplicate data items in the database are sorted or not. Specifying the -s flag means that
the duplicates are sorted; otherwise, they are assumed to be unsorted. Incorrectly specifying the
value of this flag may lead to database corruption.
Because the db_upgrade utility upgrades a physical file (including all the databases it contains),
it is not possible to use db_upgrade to upgrade files where some of the databases it includes have
sorted duplicate data items, and some of the databases it includes have unsorted duplicate data
items. If the file does not have more than a single database, if the databases do not support dupli-cate duplicate
cate data items, or if all the databases that support duplicate data items support the same style of
duplicates (either sorted or unsorted), db_upgrade will work correctly as long as the -s flag is
correctly specified. Otherwise, the file cannot be upgraded using db_upgrade, and must be upgraded
manually using the db_dump and db_load utilities.
-V
Write the library version number to the standard output, and exit.
It is important to realize that Berkeley DB database upgrades are done in place, and so are potentially
destructive. This means that if the system crashes during the upgrade procedure, or if the upgrade pro-cedure procedure
cedure runs out of disk space, the databases may be left in an inconsistent and unrecoverable state.
See Upgrading databases for more information.
The db_upgrade utility may be used with a Berkeley DB environment (as described for the -h option, the
environment variable DB_HOME, or because the utility was run in a directory containing a Berkeley DB
environment). In order to avoid environment corruption when using a Berkeley DB environment, db_upgrade
should always be given the chance to detach from the environment and exit gracefully. To cause
db_upgrade to release all environment resources and exit cleanly, send it an interrupt signal (SIGINT).
The db_upgrade utility exits 0 on success, and >0 if an error occurs.
ENVIRONMENT
DB_HOME If the -h option is not specified and the environment variable DB_HOME is set, it is used as
the path of the database home, as described in DB_ENV->open.
SEE ALSO
db_archive(1), db_checkpoint(1), db_deadlock(1), db_dump(1), db_load(1), db_printlog(1), db_recover(1),
db_stat(1), db_verify(1)
Darwin December 3, 2003 Darwin
|