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
|
<!--$Id: intro.html,v 1.1.1.1 2003/11/20 22:14:14 toshok Exp $-->
<!--Copyright 1997-2002 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<!--See the file LICENSE for redistribution information.-->
<html>
<head>
<title>Berkeley DB Reference Guide: Berkeley DB and logging</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>
<a name="2"><!--meow--></a>
<table width="100%"><tr valign=top>
<td><h3><dl><dt>Berkeley DB Reference Guide:<dd>Logging Subsystem</dl></h3></td>
<td align=right><a href="../../ref/lock/nondb.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../reftoc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/log/config.html"><img src="../../images/next.gif" alt="Next"></a>
</td></tr></table>
<p>
<h1 align=center>Berkeley DB and logging</h1>
<p>The Logging subsystem is the logging facility used by Berkeley DB. It is
largely Berkeley DB-specific, although it is potentially useful outside of
the Berkeley DB package for applications wanting write-ahead logging support.
Applications wanting to use the log for purposes other than logging file
modifications based on a set of open file descriptors will almost
certainly need to make source code modifications to the Berkeley DB code
base.
<p>A log can be shared by any number of threads of control. The
<a href="../../api_c/env_open.html">DB_ENV->open</a> interface is used to open a log. When the log is no
longer in use, it should be closed using the <a href="../../api_c/env_close.html">DB_ENV->close</a>
interface.
<p>Individual log entries are identified by log sequence numbers. Log
sequence numbers are stored in an opaque object, a <a href="../../api_c/lsn_class.html">DB_LSN</a>.
<p>The <a href="../../api_c/log_cursor.html">DB_ENV->log_cursor</a> method is used to allocate a log cursor. Log cursors
have two methods: <a href="../../api_c/logc_get.html">DB_LOGC->get</a> method to retrieve log records from the
log, and <a href="../../api_c/logc_close.html">DB_LOGC->close</a> method to destroy the cursor.
<p>There are additional interfaces for integrating the log subsystem with a
transaction processing system:
<p><dl compact>
<p><dt><a href="../../api_c/log_flush.html">DB_ENV->log_flush</a><dd>Flushes the log up to a particular log sequence number.
<p><dt><a href="../../api_c/log_compare.html">log_compare</a><dd>Allows applications to compare any two log sequence numbers.
<p><dt><a href="../../api_c/log_file.html">DB_ENV->log_file</a> <dd>Maps a log sequence number to the specific log file that contains it.
<p><dt><a href="../../api_c/log_archive.html">DB_ENV->log_archive</a><dd>Returns various sets of log filenames. These interfaces are used for
database administration; for example, to determine if log files may
safely be removed from the system.
<p><dt><a href="../../api_c/log_stat.html">DB_ENV->log_stat</a> <dd>The display <a href="../../utility/db_stat.html">db_stat</a> utility uses the <a href="../../api_c/log_stat.html">DB_ENV->log_stat</a> interface
to display statistics about the log.
<p><dt><a href="../../api_c/env_remove.html">DB_ENV->remove</a><dd>The log meta-information (but not the log files themselves) may be
removed using the <a href="../../api_c/env_remove.html">DB_ENV->remove</a> interface.
</dl>
<!--$Id: intro.html,v 1.1.1.1 2003/11/20 22:14:14 toshok Exp $-->
<p><table border=1 align=center>
<tr><th>Logging Subsystem and Related Methods</th><th>Description</th></tr>
<tr><td><a href="../../api_c/log_archive.html">DB_ENV->log_archive</a></td><td>List log and database files</td></tr>
<tr><td><a href="../../api_c/log_cursor.html">DB_ENV->log_cursor</a></td><td>Create a log cursor handle</td></tr>
<tr><td><a href="../../api_c/log_file.html">DB_ENV->log_file</a></td><td>Map Log Sequence Numbers to log files</td></tr>
<tr><td><a href="../../api_c/log_flush.html">DB_ENV->log_flush</a></td><td>Flush log records</td></tr>
<tr><td><a href="../../api_c/log_put.html">DB_ENV->log_put</a></td><td>Write a log record</td></tr>
<tr><td><a href="../../api_c/env_set_lg_bsize.html">DB_ENV->set_lg_bsize</a></td><td>Set log buffer size</td></tr>
<tr><td><a href="../../api_c/env_set_lg_dir.html">DB_ENV->set_lg_dir</a></td><td>Set the environment logging directory</td></tr>
<tr><td><a href="../../api_c/env_set_lg_max.html">DB_ENV->set_lg_max</a></td><td>Set log file size</td></tr>
<tr><td><a href="../../api_c/env_set_lg_regionmax.html">DB_ENV->set_lg_regionmax</a></td><td>Set logging region size</td></tr>
<tr><td><a href="../../api_c/log_compare.html">log_compare</a></td><td>Compare two Log Sequence Numbers</td></tr>
<tr><td><a href="../../api_c/log_stat.html">DB_ENV->log_stat</a></td><td>Return log subsystem statistics</td></tr>
<tr><td><a href="../../api_c/logc_close.html">DB_LOGC->close</a></td><td>Close a log cursor</td></tr>
<tr><td><a href="../../api_c/logc_get.html">DB_LOGC->get</a></td><td>Retrieve a log record</td></tr>
</table>
<table width="100%"><tr><td><br></td><td align=right><a href="../../ref/lock/nondb.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../reftoc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/log/config.html"><img src="../../images/next.gif" alt="Next"></a>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>
|