1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253
|
<?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_deadlock</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_checkpoint.html" title="db_checkpoint" />
<link rel="next" href="db_dump.html" title="db_dump" />
</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_deadlock</th>
</tr>
<tr>
<td width="20%" align="left"><a accesskey="p" href="db_checkpoint.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_dump.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_deadlock"></a>db_deadlock</h2>
</div>
</div>
</div>
<pre class="programlisting">db_deadlock [-Vv]
[-a e | m | n | o | W | w | y] [-h home] [-L file] [-t sec.usec] </pre>
<p>
The <span class="command"><strong>db_deadlock</strong></span> utility traverses the database environment lock
region, and aborts a lock request each time it detects a deadlock or a
lock request that has timed out. By default, in the case of a
deadlock, a random lock request is chosen to be aborted.
</p>
<p>
This utility should be run as a background daemon, or the underlying
Berkeley DB deadlock detection interfaces should be called in some
other way, whenever there are multiple threads or processes accessing
a database and at least one of them is modifying it.
</p>
<p>
The options are as follows:
</p>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>
<span class="bold"><strong>-a</strong></span>
</p>
<p>
When a deadlock is detected, abort the locker:
</p>
<div class="itemizedlist">
<ul type="circle">
<li>
<p>
<span class="bold"><strong>m</strong></span>
</p>
<p>
with the most locks
</p>
</li>
<li>
<p>
<span class="bold"><strong>n</strong></span>
</p>
<p>
with the fewest locks
</p>
</li>
<li>
<p>
<span class="bold"><strong>o</strong></span>
</p>
<p>
with the oldest locks
</p>
</li>
<li>
<p>
<span class="bold"><strong>W</strong></span>
</p>
<p>
with the most write locks
</p>
</li>
<li>
<p>
<span class="bold"><strong>w</strong></span>
</p>
<p>
with the fewest write locks
</p>
</li>
<li>
<p>
<span class="bold"><strong>y</strong></span>
</p>
<p>
with the youngest locks
</p>
</li>
<li>
<p>
<span class="bold"><strong>e</strong></span>
</p>
<p>
When lock or transaction timeouts have been specified, abort any lock
request that has timed out. Note that this option
does not perform the entire deadlock detection
algorithm, but instead only checks for timeouts.
</p>
</li>
</ul>
</div>
</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>-L</strong></span>
</p>
<p>
Log the execution of the <span class="command"><strong>db_deadlock</strong></span> utility to the specified file in
the following format, where <span class="emphasis"><em>###</em></span> is the process
ID, and the date is the time the utility was started.
</p>
<pre class="programlisting"> db_deadlock: ### Wed Jun 15 01:23:45 EDT 1995 </pre>
<p>
This file will be removed if the <span class="command"><strong>db_deadlock</strong></span>
utility exits gracefully.
</p>
</li>
<li>
<p>
<span class="bold"><strong>-t</strong></span>
</p>
<p>
Check the database environment every <span class="bold"><strong>sec</strong></span> seconds plus <span class="bold"><strong>usec</strong></span> microseconds to see if a process has been
forced to wait for a lock; if one has, review the database environment
lock structures.
</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, generating messages each time the detector runs.
</p>
</li>
</ul>
</div>
<p>
If the <span class="bold"><strong>-t</strong></span> option is not specified,
<span class="command"><strong>db_deadlock</strong></span> will run once and exit.
</p>
<p>
The <span class="command"><strong>db_deadlock</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_deadlock</strong></span> should always be given the chance to detach
from the environment and exit gracefully. To cause <span class="command"><strong>db_deadlock</strong></span> to
release all environment resources and exit cleanly, send it an
interrupt signal (SIGINT).
</p>
<p>
The <span class="command"><strong>db_deadlock</strong></span> utility does not attempt to create the Berkeley DB
shared memory regions if they do not already exist. The application
which creates the region should be started first, and then, once the
region is created, the <span class="command"><strong>db_deadlock</strong></span> utility should be started.
</p>
<p>
The <span class="command"><strong>db_deadlock</strong></span> utility exits 0 on success, and >0 if an error
occurs.
</p>
<div class="sect2" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="idp10612936"></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="idp10613128"></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="DbEnv::open()">DbEnv::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_checkpoint.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_dump.html">Next</a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top">db_checkpoint </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">Home</a>
</td>
<td width="40%" align="right" valign="top"> db_dump</td>
</tr>
</table>
</div>
</body>
</html>
|