libdb/docs/api_reference/C/db_recover.html
2012-11-14 16:35:20 -05:00

324 lines
13 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>db_recover</title>
<link rel="stylesheet" href="apiReference.css" type="text/css" />
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
<link rel="start" href="index.html" title="Berkeley DB C API Reference" />
<link rel="up" href="utilities.html" title="Appendix A.  Berkeley DB Command Line Utilities" />
<link rel="prev" href="db_printlog.html" title="db_printlog" />
<link rel="next" href="db_replicate.html" title="db_replicate" />
</head>
<body>
<div xmlns="" class="navheader">
<div class="libver">
<p>Library Version 11.2.5.3</p>
</div>
<table width="100%" summary="Navigation header">
<tr>
<th colspan="3" align="center">db_recover</th>
</tr>
<tr>
<td width="20%" align="left"><a accesskey="p" href="db_printlog.html">Prev</a> </td>
<th width="60%" align="center">Appendix A. 
Berkeley DB Command Line Utilities
</th>
<td width="20%" align="right"> <a accesskey="n" href="db_replicate.html">Next</a></td>
</tr>
</table>
<hr />
</div>
<div class="sect1" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both"><a id="db_recover"></a>db_recover</h2>
</div>
</div>
</div>
<pre class="programlisting">db_recover [-cefVv] [-h home] [-P password] [-t [[CC]YY]MMDDhhmm[.SS]]] </pre>
<p>
The <span class="command"><strong>db_recover</strong></span> utility must be run after an unexpected application,
Berkeley DB, or system failure to restore the database to a consistent
state. All committed transactions are guaranteed to appear after
<span class="command"><strong>db_recover</strong></span> has run, and all uncommitted transactions will be
completely undone.
</p>
<p>
Note that this utility performs the same action as if the
environment is opened with the
<a class="link" href="envopen.html#envopen_DB_RECOVER">DB_RECOVER</a>
flag. If <code class="literal">DB_RECOVER</code> is specified on environment open,
then use of this utility is not necessary.
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>
If the application(s) that use the environment make use of
any of the following methods:
</p>
<table class="simplelist" border="0" summary="Simple list">
<tr>
<td>
<a class="xref" href="envadd_data_dir.html" title="DB_ENV-&gt;add_data_dir()">DB_ENV-&gt;add_data_dir()</a>
</td>
</tr>
<tr>
<td>
<a class="xref" href="envset_data_dir.html" title="DB_ENV-&gt;set_data_dir()">DB_ENV-&gt;set_data_dir()</a>
</td>
</tr>
<tr>
<td>
<a class="xref" href="envset_lg_dir.html" title="DB_ENV-&gt;set_lg_dir()">DB_ENV-&gt;set_lg_dir()</a>
</td>
</tr>
</table>
<p>
then in order for this utility to run correctly, you need a
<a href="../../programmer_reference/env_db_config.html#env_db_config.DB_CONFIG" class="olink">DB_CONFIG</a>
file which sets the proper paths using the
<a class="xref" href="add_data_dir_parameter.html" title="add_data_dir">add_data_dir</a>, or
<a class="xref" href="set_lg_dir_parameter.html" title="set_lg_dir">set_lg_dir</a>
configuration parameters.
</p>
</div>
<p>
The options are as follows:
</p>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>
<span class="bold"><strong>-c</strong></span>
</p>
<p>
Perform catastrophic recovery instead of normal recovery.
</p>
</li>
<li>
<p>
<span class="bold"><strong>-e</strong></span>
</p>
<p>
Retain the environment after running recovery. This
option will rarely be used unless a <a href="../../programmer_reference/env_db_config.html#env_db_config.DB_CONFIG" class="olink">DB_CONFIG</a> file is
present in the home directory. If a <a href="../../programmer_reference/env_db_config.html#env_db_config.DB_CONFIG" class="olink">DB_CONFIG</a> file is
not present, then the regions will be created with default
parameter values.
</p>
</li>
<li>
<p>
<span class="bold"><strong>-f</strong></span>
</p>
<p>
Display a message on the standard output showing the percent of
recovery completed.
</p>
</li>
<li>
<p>
<span class="bold"><strong>-h</strong></span>
</p>
<p>
Specify a home directory for the database environment; by default, the
current working directory is used.
</p>
</li>
<li>
<p>
<span class="bold"><strong>-P</strong></span>
</p>
<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.
</p>
</li>
<li>
<p>
<span class="bold"><strong>-t</strong></span>
</p>
<p>
Recover to the time specified rather than to the most current possible
date. The timestamp argument should be in the form
<code class="literal">[[CC]YY]MMDDhhmm[.SS]</code> where each pair of letters represents the
following:
</p>
<div class="itemizedlist">
<ul type="circle">
<li>
<p>
<span class="bold"><strong>CC</strong></span>
</p>
<p>
The first two digits of the year (the century).
</p>
</li>
<li>
<p>
<span class="bold"><strong>YY</strong></span>
</p>
<p>
The second two digits of the year. If "YY" is specified, but "CC" is not, a
value for "YY" between 69 and 99 results in a "CC" value of 19. Otherwise, a
"CC" value of 20 is used.
</p>
</li>
<li>
<p>
<span class="bold"><strong>MM</strong></span>
</p>
<p>
The month of the year, from 1 to 12.
</p>
</li>
<li>
<p>
<span class="bold"><strong>DD</strong></span>
</p>
<p>
The day of the month, from 1 to 31.
</p>
</li>
<li>
<p>
<span class="bold"><strong>hh</strong></span>
</p>
<p>
The hour of the day, from 0 to 23.
</p>
</li>
<li>
<p>
<span class="bold"><strong>mm</strong></span>
</p>
<p>
The minute of the hour, from 0 to 59.
</p>
</li>
<li>
<p>
<span class="bold"><strong>SS</strong></span>
</p>
<p>
The second of the minute, from 0 to 61.
</p>
</li>
</ul>
</div>
<p>
If the "CC" and "YY" letter pairs are not specified, the values
default to the current year. If the "SS" letter pair is not
specified, the value defaults to 0.
</p>
</li>
<li>
<p>
<span class="bold"><strong>-V</strong></span>
</p>
<p>
Write the library version number to the standard output, and exit.
</p>
</li>
<li>
<p>
<span class="bold"><strong>-v</strong></span>
</p>
<p>
Run in verbose mode.
</p>
</li>
</ul>
</div>
<p>
In the case of catastrophic recovery, an archival copy — or
<span class="emphasis"><em>snapshot</em></span> — of all database files must be
restored along with all of the log files written since the database
file snapshot was made. (If disk space is a problem, log files may be
referenced by symbolic links).
<span>
For further information on creating a database snapshot, see
<a href="../../programmer_reference/transapp_archival.html" class="olink">Archival Procedures</a>.
For further information on performing recovery, see
<a href="../../programmer_reference/transapp_recovery.html" class="olink">Recovery Procedures</a>.
</span>
</p>
<p>
If the failure was not catastrophic, the files present on the system
at the time of failure are sufficient to perform recovery.
</p>
<p>
If log files are missing, <span class="command"><strong>db_recover</strong></span> will identify the missing log
file(s) and fail, in which case the missing log files need to be
restored and recovery performed again.
</p>
<p>
The <span class="command"><strong>db_recover</strong></span> utility uses a Berkeley DB
environment (as described for the <span class="bold"><strong>-h</strong></span>
option, the environment variable
<span class="bold"><strong>DB_HOME</strong></span>, 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, <span class="command"><strong>db_recover</strong></span> should always be given the chance to detach
from the environment and exit gracefully. To cause <span class="command"><strong>db_recover</strong></span> to
release all environment resources and exit cleanly, send it an
interrupt signal (SIGINT).
</p>
<p>
The <span class="command"><strong>db_recover</strong></span> utility exits 0 on success, and &gt;0 if an error
occurs.
</p>
<div class="sect2" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="idp63173952"></a>Environment Variables</h3>
</div>
</div>
</div>
<div class="sect3" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h4 class="title"><a id="idp63257224"></a>DB_HOME</h4>
</div>
</div>
</div>
<p>
If the <span class="bold"><strong>-h</strong></span> 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 the
<a class="xref" href="envopen.html" title="DB_ENV-&gt;open()">DB_ENV-&gt;open()</a>
method.
</p>
</div>
</div>
</div>
<div class="navfooter">
<hr />
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left"><a accesskey="p" href="db_printlog.html">Prev</a> </td>
<td width="20%" align="center">
<a accesskey="u" href="utilities.html">Up</a>
</td>
<td width="40%" align="right"> <a accesskey="n" href="db_replicate.html">Next</a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top">db_printlog </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">Home</a>
</td>
<td width="40%" align="right" valign="top"> db_replicate</td>
</tr>
</table>
</div>
</body>
</html>