db5.3_archive - Find unused log files for archiving purposes
[-adlsVv] [-h home] [-P password]
The db5.3_archive utility writes the pathnames of log files that are no longer
in use (for example, no longer involved in active transactions), to the
standard output, one pathname per line. These log files should be written to
backup media to provide for recovery in the case of catastrophic failure
(which also requires a snapshot of the database files), but they may then be
deleted from the system to reclaim disk space.
- Write all pathnames as absolute pathnames, instead of
relative to the database home directories.
- Remove log files that are no longer needed; no filenames
are written. Automatic log file removal is likely to make catastrophic
- Specify a home directory for the database environment; by
default, the current working directory is used.
- Write out the pathnames of all the database log files,
whether or not they are involved in active transactions.
- 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.
- Write the pathnames of all the database files that need to
be archived in order to recover the database from catastrophic failure. If
any of the database files have not been accessed during the lifetime of
the current log files, db5.3_archive will not include them in this output.
It is possible that some of the files to which the log refers have since
been deleted from the system. In this case, db5.3_archive will ignore
them. When db5.3_recover is run, any files to which the log refers that
are not present during recovery are assumed to have been deleted and will
not be recovered.
- Write the library version number to the standard output,
- Run in verbose mode, listing the checkpoints in the log
files as they are reviewed.
Log cursor handles (returned by the DB_ENV->log_cursor method) may have open
file descriptors for log files in the database environment. Also, the Berkeley
DB interfaces to the database environment logging subsystem (for example,
DB_ENV->log_put and DB_TXN->abort) may allocate log cursors and have
open file descriptors for log files as well. On operating systems where
filesystem related system calls (for example, rename and unlink on Windows/NT)
can fail if a process has an open file descriptor for the affected file,
attempting to move or remove the log files listed by db5.3_archive may fail.
All Berkeley DB internal use of log cursors operates on active log files only
and furthermore, is short-lived in nature. So, an application seeing such a
failure should be restructured to close any open log cursors it may have, and
otherwise to retry the operation until it succeeds. (Although the latter is
not likely to be necessary; it is hard to imagine a reason to move or rename a
log file in which transactions are being logged or aborted.)
The db5.3_archive utility uses a Berkeley DB environment (as described for the
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,
db5.3_archive should always be given the chance to detach from the environment
and exit gracefully. To cause db5.3_archive to release all environment
resources and exit cleanly, send it an interrupt signal (SIGINT).
The DB_ENV->log_archive method is the underlying method used by the
db5.3_archive utility. See the db5.3_archive utility source code for an
example of using DB_ENV->log_archive in a IEEE/ANSI Std 1003.1 (POSIX)
The db5.3_archive utility exits 0 on success, and >0 if an error occurs.
- 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.
Sleepycat Software, Inc. This manual page was created based on the HTML
documentation for db_archive from Sleepycat, by Thijs Kinkhorst
<firstname.lastname@example.org>, for the Debian system (but may be used by