je/docs/ReplicationGuide/index.html
2021-06-06 13:46:45 -04:00

679 lines
25 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Getting Started with Berkeley DB, Java Edition High Availability Applications</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="Getting Started with Berkeley DB, Java Edition High Availability Applications" />
<link rel="next" href="preface.html" title="Preface" />
</head>
<body>
<div xmlns="" class="navheader">
<div class="libver">
<p>Library Version 12.2.7.5</p>
</div>
<table width="100%" summary="Navigation header">
<tr>
<th colspan="3" align="center">Getting Started with Berkeley DB, Java Edition High Availability Applications</th>
</tr>
<tr>
<td width="20%" align="left"> </td>
<th width="60%" align="center"> </th>
<td width="20%" align="right"> <a accesskey="n" href="preface.html">Next</a></td>
</tr>
</table>
<hr />
</div>
<div class="book" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h1 class="title"><a id="idp977440"></a>Getting Started with Berkeley DB, Java Edition High Availability Applications</h1>
</div>
<div>
<div class="legalnotice">
<a id="idp1057488"></a>
<p class="legalnotice-title">
<b>Legal Notice</b>
</p>
<p>
Copyright © 2002 - 2017 Oracle and/or its affiliates. All rights
reserved.
</p>
<p>
This software and related documentation are provided under a
license agreement containing restrictions on use and disclosure
and are protected by intellectual property laws. Except as
expressly permitted in your license agreement or allowed by
law, you may not use, copy, reproduce, translate, broadcast,
modify, license, transmit, distribute, exhibit, perform,
publish, or display any part, in any form, or by any means.
Reverse engineering, disassembly, or decompilation of this
software, unless required by law for interoperability, is
prohibited.
</p>
<p>
The information contained herein is subject to change without
notice and is not warranted to be error-free. If you find any
errors, please report them to us in writing.
</p>
<p>
Berkeley DB,
<span>Berkeley DB Java Edition</span>
and
Sleepycat are trademarks or registered trademarks of
Oracle. All rights to these marks are reserved.
No third-party use is permitted without the
express prior written consent of Oracle.
</p>
<p>
Other names may be trademarks of their respective owners.
</p>
<p>
If this is software or related documentation that is delivered
to the U.S. Government or anyone licensing it on behalf of the
U.S. Government, the following notice is applicable:
</p>
<p>
U.S. GOVERNMENT END USERS: Oracle programs, including any
operating system, integrated software, any programs installed
on the hardware, and/or documentation, delivered to U.S.
Government end users are "commercial computer software"
pursuant to the applicable Federal Acquisition Regulation and
agency-specific supplemental regulations. As such, use,
duplication, disclosure, modification, and adaptation of the
programs, including any operating system, integrated software,
any programs installed on the hardware, and/or documentation,
shall be subject to license terms and license restrictions
applicable to the programs. No other rights are granted to the
U.S. Government.
</p>
<p>
This software or hardware is developed for general use in a
variety of information management applications. It is not
developed or intended for use in any inherently dangerous
applications, including applications that may create a risk of
personal injury. If you use this software or hardware in
dangerous applications, then you shall be responsible to take
all appropriate fail-safe, backup, redundancy, and other
measures to ensure its safe use. Oracle Corporation and its
affiliates disclaim any liability for any damages caused by use
of this software or hardware in dangerous applications.
</p>
<p>
Oracle and Java are registered trademarks of Oracle and/or its
affiliates. Other names may be trademarks of their respective
owners.
</p>
<p>
Intel and Intel Xeon are trademarks or registered trademarks of
Intel Corporation. All SPARC trademarks are used under license
and are trademarks or registered trademarks of SPARC
International, Inc. AMD, Opteron, the AMD logo, and the AMD
Opteron logo are trademarks or registered trademarks of
Advanced Micro Devices. UNIX is a registered trademark of The
Open Group.
</p>
<p>
This software or hardware and documentation may provide access
to or information on content, products, and services from third
parties. Oracle Corporation and its affiliates are not
responsible for and expressly disclaim all warranties of any
kind with respect to third-party content, products, and
services. Oracle Corporation and its affiliates will not be
responsible for any loss, costs, or damages incurred due to
your access to or use of third-party content, products, or
services.
</p>
</div>
</div>
<div>
<p class="pubdate">31-Oct-2017</p>
</div>
</div>
<hr />
</div>
<div class="toc">
<p>
<b>Table of Contents</b>
</p>
<dl>
<dt>
<span class="preface">
<a href="preface.html">Preface</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect1">
<a href="preface.html#conventions">Conventions Used in this Book</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
<a href="preface.html#moreinfo">For More Information</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="preface.html#contact_us">Contact Us</a>
</span>
</dt>
</dl>
</dd>
</dl>
</dd>
<dt>
<span class="chapter">
<a href="introduction.html">1. Introduction</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect1">
<a href="introduction.html#overview">Overview</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
<a href="introduction.html#intro_repgroup">Replication Group Members</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="introduction.html#repenvirons">Replicated Environments</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="introduction.html#masterselect">Selecting a Master</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="introduction.html#replicationstreams">Replication Streams</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="sect1">
<a href="datamanagement.html">Managing Data Guarantees</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
<a href="datamanagement.html#durability-intro">Durability</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="datamanagement.html#consistency-intro">Managing Data Consistency</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="sect1">
<a href="lifecycle.html">Replication Group Life Cycle</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
<a href="lifecycle.html#lifecycle-terms">Terminology</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="lifecycle.html#nodestates">Node States</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="lifecycle.html#lifecycle-new">New Replication Group Startup</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="lifecycle.html#lifecycle-established">Subsequent Startups</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="lifecycle.html#lifecycle-nodestartup">Replica Startup</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="lifecycle.html#lifecycle-masterfailover">Master Failover</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="lifecycle.html#twonode">Two Node Groups</a>
</span>
</dt>
</dl>
</dd>
</dl>
</dd>
<dt>
<span class="chapter">
<a href="progoverview.html">2. Replication API First Steps</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect1">
<a href="progoverview.html#repenv">Using Replicated Environments</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
<a href="progoverview.html#configrepenv">Configuring Replicated Environments</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="sect1">
<a href="exceptions.html">HA Exceptions</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
<a href="exceptions.html#master-exceptions">Master-Specific HA Exceptions</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="exceptions.html#replica-exceptions">Replica-Specific HA Exceptions</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="exceptions.html#handleexception">Replicated Environment Handle-Specific Exceptions</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="sect1">
<a href="repenvironmentopen.html">Opening a Replicated Environment</a>
</span>
</dt>
<dt>
<span class="sect1">
<a href="replicawrites.html">Managing Write Requests at a Replica</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
<a href="replicawrites.html#using-statechangelistener">Using the StateChangeListener</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="replicawrites.html#repwriteexception">Catching ReplicaWriteException</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="sect1">
<a href="secondary.html">Secondary Nodes</a>
</span>
</dt>
<dt>
<span class="sect1">
<a href="timesync.html">Time Synchronization</a>
</span>
</dt>
<dt>
<span class="sect1">
<a href="two-node.html">Configuring Two-Node Groups</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="chapter">
<a href="txn-management.html">3. Transaction Management</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect1">
<a href="txn-management.html#durability">Managing Durability</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
<a href="txn-management.html#durabilitycontrols">Durability Controls</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="txn-management.html#commitsync">Commit File Synchronization</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="txn-management.html#managingacks">Managing Acknowledgements</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="sect1">
<a href="consistency.html">Managing Consistency</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
<a href="consistency.html#setconsistencypolicy">Setting Consistency Policies</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="consistency.html#timeconsistency">Time Consistency Policies</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="consistency.html#commitpointconsistency">Commit Point Consistency Policies</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="sect1">
<a href="availability.html">Availability</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
<a href="availability.html#writeavailability">Write Availability</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="availability.html#readavailability">Read Availability</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="sect1">
<a href="cons_and_dur.html">Consistency and Durability Use Cases</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
<a href="cons_and_dur.html#outonthetown">Out on the Town</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="cons_and_dur.html#biolabs">Bio Labs, Inc</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="sect1">
<a href="txnrollback.html">Managing Transaction Rollbacks</a>
</span>
</dt>
<dt>
<span class="sect1">
<a href="runtransaction.html">Example Run Transaction Class</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
<a href="runtransaction.html#exruntransaction">RunTransaction Class</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="runtransaction.html#usingruntransaction">Using RunTransaction</a>
</span>
</dt>
</dl>
</dd>
</dl>
</dd>
<dt>
<span class="chapter">
<a href="utilities.html">4. Utilities</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect1">
<a href="utilities.html#groupadmin">Administering the Replication Group</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
<a href="utilities.html#listmembers">Listing Group Members</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="utilities.html#locate-master">Locating the Current Master</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="utilities.html#node-addremove">Adding and Removing Nodes from the Group</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="sect1">
<a href="logfile-restore.html">Restoring Log Files</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
<a href="logfile-restore.html#logfilereclaim">Reclaiming Log Files</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="logfile-restore.html#repdiskthresh">Suspending Writes Due to Disk Thresholds</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="sect1">
<a href="dbbackup.html">Backing up a Replicated Application</a>
</span>
</dt>
<dt>
<span class="sect1">
<a href="enablerep.html">Converting Existing Environments for Replication</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="chapter">
<a href="monitors.html">5. Writing Monitor Nodes</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect1">
<a href="monitors.html#monitorclass">Monitor Class</a>
</span>
</dt>
<dt>
<span class="sect1">
<a href="events.html">Listening for Events</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="chapter">
<a href="repexample.html">6. Replication Examples</a>
</span>
</dt>
<dt>
<span class="chapter">
<a href="administration.html">7. Administration</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect1">
<a href="administration.html#hardware">Hardware</a>
</span>
</dt>
<dt>
<span class="sect1">
<a href="admintimesync.html">Time Synchronization</a>
</span>
</dt>
<dt>
<span class="sect1">
<a href="nodeconfig.html">Node Configuration</a>
</span>
</dt>
<dt>
<span class="sect1">
<a href="backups.html">Running Backups</a>
</span>
</dt>
<dt>
<span class="sect1">
<a href="addremovenodes.html">Adding and Removing Nodes</a>
</span>
</dt>
<dt>
<span class="sect1">
<a href="hotupgrade.html">Upgrading a JE Replication Group</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
<a href="hotupgrade.html#idp1912848">Upgrade Process</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="hotupgrade.html#idp1949392">Things To Remember While Upgrading</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="hotupgrade.html#idp1959392">Handling Problems While Upgrading</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="sect1">
<a href="groupreset.html">Resetting a Replication Group</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="appendix">
<a href="election-override.html">A. Managing a Failure of the Majority</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect1">
<a href="election-override.html#override-groupsize">Overriding the Electable Group Size</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
<a href="election-override.html#set-gsize-override">Setting the Override</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="election-override.html#gsize-override-restore">Restoring the Default State</a>
</span>
</dt>
<dt>
<span class="sect2">
<a href="election-override.html#override-example">Override Example</a>
</span>
</dt>
</dl>
</dd>
</dl>
</dd>
</dl>
</div>
</div>
<div class="navfooter">
<hr />
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left"> </td>
<td width="20%" align="center"> </td>
<td width="40%" align="right"> <a accesskey="n" href="preface.html">Next</a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top"> </td>
<td width="20%" align="center"> </td>
<td width="40%" align="right" valign="top"> Preface</td>
</tr>
</table>
</div>
</body>
</html>