1
<!--$Id: close.so,v 10.17 2001/03/10 19:05:21 bostic Exp $-->
2
<!--Copyright 1997-2001 by Sleepycat Software, Inc.-->
3
<!--All rights reserved.-->
6
<title>Berkeley DB Reference Guide: Database close</title>
7
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
8
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
11
<a name="2"><!--meow--></a>
12
<table width="100%"><tr valign=top>
13
<td><h3><dl><dt>Berkeley DB Reference Guide:<dd>Access Methods</dl></h3></td>
14
<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>
17
<h1 align=center>Database close</h1>
18
<p>The <a href="../../api_c/db_close.html">DB->close</a> function is the standard interface for closing the database.
19
By default, <a href="../../api_c/db_close.html">DB->close</a> also flushes all modified records from the
20
database cache to disk.
21
<p>There is one flag that you can set to customize <a href="../../api_c/db_close.html">DB->close</a>:
23
<p><dt><a href="../../api_c/db_close.html#DB_NOSYNC">DB_NOSYNC</a><dd>Do not flush cached information to disk.
25
<b>It is important to understand that flushing cached information
26
to disk only minimizes the window of opportunity for corrupted data, it
27
does not eliminate the possibility.</b>
28
<p>While unlikely, it is possible for database corruption to happen if a
29
system or application crash occurs while writing data to the database. To
30
ensure that database corruption never occurs, applications must either:
32
<li>Use transactions and logging with automatic recovery.
33
<li>Use logging and application-specific recovery.
34
<li>Edit a copy of the database, and, once all applications
35
using the database have successfully called <a href="../../api_c/db_close.html">DB->close</a>, use
36
system operations (for example, the POSIX rename system call) to
37
atomically replace the original database with the updated copy.
39
<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>
41
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>