2
<!--Copyright 1997-2002 by Sleepycat Software, Inc.-->
3
<!--All rights reserved.-->
4
<!--See the file LICENSE for redistribution information.-->
7
<title>Berkeley DB Reference Guide: Database close</title>
8
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
9
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
12
<a name="2"><!--meow--></a>
13
<table width="100%"><tr valign=top>
14
<td><h3><dl><dt>Berkeley DB Reference Guide:<dd>Access Methods</dl></h3></td>
15
<td align=right><a href="../../ref/am/sync.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../reftoc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/am/second.html"><img src="../../images/next.gif" alt="Next"></a>
18
<h1 align=center>Database close</h1>
19
<p>The <a href="../../api_c/db_close.html">DB->close</a> method is the standard interface for closing the database.
20
By default, <a href="../../api_c/db_close.html">DB->close</a> also flushes all modified records from the
21
database cache to disk.
22
<p>There is one flag that you can set to customize <a href="../../api_c/db_close.html">DB->close</a>:
24
<p><dt><a href="../../api_c/db_close.html#DB_NOSYNC">DB_NOSYNC</a><dd>Do not flush cached information to disk.
26
<b>It is important to understand that flushing cached information
27
to disk only minimizes the window of opportunity for corrupted data, it
28
does not eliminate the possibility.</b>
29
<p>While unlikely, it is possible for database corruption to happen if a
30
system or application crash occurs while writing data to the database. To
31
ensure that database corruption never occurs, applications must either:
33
<li>Use transactions and logging with automatic recovery.
34
<li>Use logging and application-specific recovery.
35
<li>Edit a copy of the database, and, once all applications
36
using the database have successfully called <a href="../../api_c/db_close.html">DB->close</a>, use
37
system operations (for example, the POSIX rename system call) to
38
atomically replace the original database with the updated copy.
40
<table width="100%"><tr><td><br></td><td align=right><a href="../../ref/am/sync.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../reftoc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/am/second.html"><img src="../../images/next.gif" alt="Next"></a>
42
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>