diff options
Diffstat (limited to 'bdb/docs/ref/program/copy.html')
-rw-r--r-- | bdb/docs/ref/program/copy.html | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/bdb/docs/ref/program/copy.html b/bdb/docs/ref/program/copy.html deleted file mode 100644 index 80b6f942a78..00000000000 --- a/bdb/docs/ref/program/copy.html +++ /dev/null @@ -1,63 +0,0 @@ -<!--$Id: copy.so,v 10.4 2000/03/18 21:43:15 bostic Exp $--> -<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.--> -<!--All rights reserved.--> -<html> -<head> -<title>Berkeley DB Reference Guide: Copying databases</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> -<table><tr valign=top> -<td><h3><dl><dt>Berkeley DB Reference Guide:<dd>Programmer Notes</dl></h3></td> -<td width="1%"><a href="../../ref/program/namespace.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/program/version.html"><img src="../../images/next.gif" alt="Next"></a> -</td></tr></table> -<p> -<h1 align=center>Copying databases</h1> -<p>Because file identification cookies (e.g., file names, device and inode -numbers, volume and file IDs, etc.) are not necessarily unique or -maintained across system reboots, each Berkeley DB database file contains a -20-byte file identification bytestring that is stored in the first page -of the database at a page byte offset of 36 bytes. When multiple -processes or threads open the same database file in Berkeley DB, it is this -bytestring that is used to ensure that the same underlying pages are -updated in the shared memory buffer pool no matter which Berkeley DB handle is -used for the operation. -<p>It is usually a bad idea to physically copy a database to a new name. In -the few cases where copying is the best solution for your application, -you must guarantee there are never two different databases with the same -file identification bytestring in the memory pool at the same time. -Copying databases is further complicated by the fact that the shared -memory buffer pool does not discard all cached copies of pages for a -database when the database is logically closed, that is, when -<a href="../../api_c/db_close.html">DB->close</a> is called. Nor is there a Berkeley DB interface to explicitly -discard pages from the shared memory buffer pool for any particular -database. -<p>Before copying a database, you must ensure that all modified pages have -been written from the memory pool cache to the backing database file. -This is done using the <a href="../../api_c/db_sync.html">DB->sync</a> or <a href="../../api_c/db_close.html">DB->close</a> interfaces. -<p>Before using a copy of a database from Berkeley DB, you must ensure that all -pages from any database with the same bytestring have been removed from -the memory pool cache. If the environment in which you intend to open -the copy of the database potentially has pages from files with identical -bytestrings to the copied database (which is likely to be the case), there -are a few possible solutions: -<p><ol> -<p><li>Remove the environment, either explicitly or by calling <a href="../../api_c/env_remove.html">DBENV->remove</a>. -Note, this will not allow you to access both the original and copy of the -database at the same time. -<p><li>Overwrite the bytestring in the copied database with a new bytestring. -This allows you to access both the original and copy of the database at -the same time. -<p><li>Create a new file that will have a new bytestring. The simplest -way to create a new file that will have a new bytestring is to call the -<a href="../../utility/db_dump.html">db_dump</a> utility to dump out the contents of the database, and then -use the <a href="../../utility/db_load.html">db_load</a> utility to load the dumped output into a new file -name. This allows you to access both the original and copy of the -database at the same time. -</ol> -<table><tr><td><br></td><td width="1%"><a href="../../ref/program/namespace.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/program/version.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> |