summaryrefslogtreecommitdiff
path: root/docs/programmer_reference/rep_filename.html
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2015-02-17 17:25:57 +0000
committer <>2015-03-17 16:26:24 +0000
commit780b92ada9afcf1d58085a83a0b9e6bc982203d1 (patch)
tree598f8b9fa431b228d29897e798de4ac0c1d3d970 /docs/programmer_reference/rep_filename.html
parent7a2660ba9cc2dc03a69ddfcfd95369395cc87444 (diff)
downloadberkeleydb-master.tar.gz
Imported from /home/lorry/working-area/delta_berkeleydb/db-6.1.23.tar.gz.HEADdb-6.1.23master
Diffstat (limited to 'docs/programmer_reference/rep_filename.html')
-rw-r--r--docs/programmer_reference/rep_filename.html288
1 files changed, 180 insertions, 108 deletions
diff --git a/docs/programmer_reference/rep_filename.html b/docs/programmer_reference/rep_filename.html
index b528ee6d..8b4e07ae 100644
--- a/docs/programmer_reference/rep_filename.html
+++ b/docs/programmer_reference/rep_filename.html
@@ -3,28 +3,26 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <title>Managing Replication Files</title>
+ <title>Managing replication directories and files</title>
<link rel="stylesheet" href="gettingStarted.css" type="text/css" />
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
<link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" />
<link rel="up" href="rep.html" title="Chapter 12.  Berkeley DB Replication" />
- <link rel="prev" href="group_membership.html" title="Managing Replication Manager Group Membership" />
+ <link rel="prev" href="rep_partview.html" title="Replication views" />
<link rel="next" href="rep_mgrmulti.html" title="Running Replication Manager in multiple processes" />
</head>
<body>
<div xmlns="" class="navheader">
<div class="libver">
- <p>Library Version 11.2.5.3</p>
+ <p>Library Version 12.1.6.1</p>
</div>
<table width="100%" summary="Navigation header">
<tr>
- <th colspan="3" align="center">Managing Replication Files</th>
+ <th colspan="3" align="center">Managing replication directories and files</th>
</tr>
<tr>
- <td width="20%" align="left"><a accesskey="p" href="group_membership.html">Prev</a> </td>
- <th width="60%" align="center">Chapter 12. 
- Berkeley DB Replication
- </th>
+ <td width="20%" align="left"><a accesskey="p" href="rep_partview.html">Prev</a> </td>
+ <th width="60%" align="center">Chapter 12.  Berkeley DB Replication </th>
<td width="20%" align="right"> <a accesskey="n" href="rep_mgrmulti.html">Next</a></td>
</tr>
</table>
@@ -34,125 +32,199 @@
<div class="titlepage">
<div>
<div>
- <h2 class="title" style="clear: both"><a id="rep_filename"></a>Managing Replication Files</h2>
+ <h2 class="title" style="clear: both"><a id="rep_filename"></a>Managing replication directories and files</h2>
</div>
</div>
</div>
- <p>
- Whether you use the Base API or the Replication Manager,
- replication creates a set of internal files that are normally stored
- on-disk in your environment home directory. These files contain
- metadata which is necessary for replication operations, and so you
- should never delete these files.
- </p>
- <p>
- You can cause these files to not be stored on disk, but instead to
- be held entirely in-memory, by specifying the <a href="../api_reference/C/repconfig.html#config_DB_REP_CONF_INMEM" class="olink">DB_REP_CONF_INMEM</a>
- flag to the <a href="../api_reference/C/repconfig.html" class="olink">DB_ENV-&gt;rep_set_config()</a> method. Doing this can improve your
- application's data throughput by avoiding the disk I/O associated
- with these metadata files. However, in the event that your
- application is shut down, the contents of these files are lost. This
- results in some loss of functionality, including an increased
- chance that elections will fail, or that the wrong site will win an
- election. See the <a href="../api_reference/C/repconfig.html#config_DB_REP_CONF_INMEM" class="olink">DB_REP_CONF_INMEM</a> flag description for more
- information.
- </p>
- <p>
- Note that turning on <a href="../api_reference/C/repconfig.html#config_DB_REP_CONF_INMEM" class="olink">DB_REP_CONF_INMEM</a> means that Replication
- Manager cannot store group membership changes persistently. This is
- because Replication Manager stores group membership information in
- an internal database, which is held in memory when
- <a href="../api_reference/C/repconfig.html#config_DB_REP_CONF_INMEM" class="olink">DB_REP_CONF_INMEM</a> is turned on. For this reason, if your
- Replication Manager application requires replication metadata to be
- stored in memory, then you must manually identify all the sites in
- your replication group using the <code class="literal">DB_LEGACY</code> site
- configuration attribute. Be aware that this configuration needs to
- be made permanent. (Normally, <code class="literal">DB_LEGACY</code> is used
- only on a temporary basis for the purpose of upgrading old
- Replication Manager applications.)
- </p>
- <p>
- Do the following:
- </p>
- <div class="orderedlist">
- <ol type="1">
- <li>
- <p>
- Shut down all the sites in your replication group.
- </p>
- </li>
- <li>
- <p>
- For every site in your replication group:
- </p>
- <div class="orderedlist">
- <ol type="a">
- <li>
- <p>
- Configure a <a href="../api_reference/C/db_site.html" class="olink">DB_SITE</a> handle for the local site.
- Use <a href="../api_reference/C/dbsite_set_config.html" class="olink">DB_SITE-&gt;set_config()</a> to indicate that this
- is a legacy site by setting the
- <code class="literal">DB_LEGACY</code> parameter.
- </p>
- </li>
- <li>
- <p>
- Configure a <a href="../api_reference/C/db_site.html" class="olink">DB_SITE</a> handle for <span class="emphasis"><em>every
- other site</em></span> in the replication
- group. Set the <code class="literal">DB_LEGACY</code>
- parameter for each of these handles.
- </p>
- <p>
- Please pay careful attention to this step. To
- repeat: a <a href="../api_reference/C/db_site.html" class="olink">DB_SITE</a> handle MUST be configured
- for EVERY site in the replication group.
- </p>
- </li>
- </ol>
+ <div class="toc">
+ <dl>
+ <dt>
+ <span class="sect2">
+ <a href="rep_filename.html#rep_dir">Replication database directory
+ considerations</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="sect2">
+ <a href="rep_filename.html#rep_files">Managing replication internal
+ files</a>
+ </span>
+ </dt>
+ </dl>
+ </div>
+ <div class="sect2" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title"><a id="rep_dir"></a>Replication database directory
+ considerations</h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ If your application is going to locate databases in any
+ directory other than the environment home directory, you
+ need to consider the directory structure for all sites.
+ There are several recommendations to make in this area.
+ </p>
+ <p>
+ The use of absolute pathnames is strongly discouraged
+ when replication is in use. Absolute pathnames will not
+ work if there is more than one site on a single machine.
+ Replication with absolute pathnames is unlikely to work
+ across different machines unless great care is taken to
+ make sure the entire path is exactly the same on every
+ machine.
+ </p>
+ <p>
+ If the master uses a data directory, as specified via
+ <a href="../api_reference/C/envadd_data_dir.html" class="olink">DB_ENV-&gt;add_data_dir()</a> or <a href="../api_reference/C/envset_create_dir.html" class="olink">DB_ENV-&gt;set_create_dir()</a>, it is
+ recommended that you create the same directory structure
+ on all client sites. When the same directory structure
+ appears on a master and the client, replication creates
+ the client databases in the same directory as the master
+ regardless of the local client directory settings. If a
+ master directory is missing on a client, replication
+ decides where to create the client databases by using the
+ client's local directory settings and the Berkeley DB file
+ naming rules as described in <a class="xref" href="env_naming.html" title="File naming">File naming</a>.
+ </p>
+ </div>
+ <div class="sect2" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title"><a id="rep_files"></a>Managing replication internal
+ files</h3>
</div>
- </li>
- <li>
- <p>
- Restart all the sites in the replication group.
- </p>
- </li>
- </ol>
+ </div>
+ </div>
+ <p>
+ Whether you use the Base API or the Replication
+ Manager, replication creates a set of internal files that
+ are normally stored on-disk in your environment home
+ directory. These files contain metadata which is necessary
+ for replication operations, and so you should never delete
+ these files.
+ </p>
+ <p>
+ You can cause these files to not be stored on disk, but
+ instead to be held entirely in-memory, by specifying the
+ <a href="../api_reference/C/repconfig.html#config_DB_REP_CONF_INMEM" class="olink">DB_REP_CONF_INMEM</a> flag to the <a href="../api_reference/C/repconfig.html" class="olink">DB_ENV-&gt;rep_set_config()</a> method. Doing
+ this can improve your application's data throughput by
+ avoiding the disk I/O associated with these metadata
+ files. However, in the event that your application is shut
+ down, the contents of these files are lost. This results
+ in some loss of functionality, including an increased
+ chance that elections will fail, or that the wrong site
+ will win an election. See the <a href="../api_reference/C/repconfig.html#config_DB_REP_CONF_INMEM" class="olink">DB_REP_CONF_INMEM</a> flag
+ description for more information.
+ </p>
+ <p>
+ Note that turning on <a href="../api_reference/C/repconfig.html#config_DB_REP_CONF_INMEM" class="olink">DB_REP_CONF_INMEM</a> means that
+ Replication Manager cannot store group membership changes
+ persistently. This is because Replication Manager stores
+ group membership information in an internal database,
+ which is held in memory when <a href="../api_reference/C/repconfig.html#config_DB_REP_CONF_INMEM" class="olink">DB_REP_CONF_INMEM</a> is turned
+ on. For this reason, if your Replication Manager
+ application requires replication metadata to be stored in
+ memory, then you must manually identify all the sites in
+ your replication group using the
+ <code class="literal">DB_LEGACY</code> site configuration
+ attribute. Be aware that this configuration needs to be
+ made permanent. (Normally, <code class="literal">DB_LEGACY</code> is
+ used only on a temporary basis for the purpose of
+ upgrading old Replication Manager applications.)
+ </p>
+ <p> Do the following:
+ </p>
+ <div class="orderedlist">
+ <ol type="1">
+ <li>
+ <p>
+ Shut down all the sites in your replication
+ group.
+ </p>
+ </li>
+ <li>
+ <p>
+ For every site in your replication group:
+ </p>
+ <div class="orderedlist">
+ <ol type="a">
+ <li>
+ <p>
+ Configure a <a href="../api_reference/C/db_site.html" class="olink">DB_SITE</a> handle for the
+ local site. Use <a href="../api_reference/C/dbsite_set_config.html" class="olink">DB_SITE-&gt;set_config()</a> to
+ indicate that this is a legacy site by
+ setting the <code class="literal">DB_LEGACY</code>
+ parameter.
+ </p>
+ </li>
+ <li>
+ <p>
+ Configure a <a href="../api_reference/C/db_site.html" class="olink">DB_SITE</a> handle for
+ <span class="emphasis"><em>every other site</em></span>
+ in the replication group. Set the
+ <code class="literal">DB_LEGACY</code> parameter
+ for each of these handles.
+ </p>
+ <p>
+ Please pay careful attention to this
+ step. To repeat: a <a href="../api_reference/C/db_site.html" class="olink">DB_SITE</a> handle MUST be
+ configured for EVERY site in the
+ replication group.
+ </p>
+ </li>
+ </ol>
+ </div>
+ </li>
+ <li>
+ <p>
+ Restart all the sites in the replication group.
+ </p>
+ </li>
+ </ol>
+ </div>
+ <p>
+ Alternatively, you can store persistent environment
+ metadata files, including those required by replication,
+ in a location other than your environment home directory.
+ This is necessary if your environment home directory is on
+ a device that is unstable, because the persistent metadata
+ files cannot be lost or deleted. You do this using the
+ <a href="../api_reference/C/envset_metadata_dir.html" class="olink">DB_ENV-&gt;set_metadata_dir()</a> method.
+ </p>
+ <p>
+ Note that you must configure the handling of your
+ environment metadata consistently across your entire
+ replication group. That is, if you place your replication
+ metadata in-memory on one site, then it must be placed
+ in-memory on all the sites in the group. Similarly, if you
+ place your replication metadata files in a non-standard
+ directory location on one site, then they must be placed
+ in the exact same directory location on all the sites in
+ your group.
+ </p>
</div>
- <p>
- Alternatively, you can store persistent environment metadata files,
- including those required by replication, in a location other than
- your environment home directory. Doing so can help improve I/O
- throughput by placing these files on a spindle that is not being
- used for other environment data I/O. You do this using the
- <a href="../api_reference/C/envset_metadata_dir.html" class="olink">DB_ENV-&gt;set_metadata_dir()</a> method.
- </p>
- <p>
- Note that you must configure the handling of your environment
- metadata consistently across your entire replication group. That
- is, if you place your replication metadata in-memory on one
- site, then it must be placed in-memory on all the sites in the
- group. Similarly, if you place your replication metadata files in a
- non-standard directory location on one site, then they must be
- placed in the exact same directory location on all the sites in
- your group.
- </p>
</div>
<div class="navfooter">
<hr />
<table width="100%" summary="Navigation footer">
<tr>
- <td width="40%" align="left"><a accesskey="p" href="group_membership.html">Prev</a> </td>
+ <td width="40%" align="left"><a accesskey="p" href="rep_partview.html">Prev</a> </td>
<td width="20%" align="center">
<a accesskey="u" href="rep.html">Up</a>
</td>
<td width="40%" align="right"> <a accesskey="n" href="rep_mgrmulti.html">Next</a></td>
</tr>
<tr>
- <td width="40%" align="left" valign="top">Managing Replication Manager Group Membership </td>
+ <td width="40%" align="left" valign="top">Replication views </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">Home</a>
</td>
- <td width="40%" align="right" valign="top"> Running Replication Manager in multiple processes</td>
+ <td width="40%" align="right" valign="top"> Running Replication Manager in
+ multiple processes</td>
</tr>
</table>
</div>