Oracle Internet Directory Administrator's Guide Release 9.0.2 Part Number A95192-01 |
|
In "Distributed Directories", you saw an overview of replication. This chapter provides a closer look. It contains these topics:
See Also:
The set of directory servers that participate in replication of a given naming context is called a directory replication group (DRG). A special directory entry, called a replication agreement, represents the replication relationship among the directory servers in a DRG.
It is possible for a directory server to be both a supplier and a consumer of change log information. Oracle Internet Directory uses this feature to support multimaster replication.
Figure 22-1 illustrates a directory replication group in which three nodes share updates with each other in a replication agreement.
In Figure 22-1, each bullet represents a node of Oracle Internet Directory. The agreement is identical on each node except for local options such as partitioned naming contexts on the local directory server. The replication agreement on each node lists all the other nodes to which it delivers, and from which it receives, changes.
See Also:
"Managing Replication" for information about how to configure replication agreements |
Transport of update information between nodes in a replication agreement is managed by Oracle9i Replication, a store-and-forward transport feature available in Oracle9i. It allows database tables to be kept synchronized across two Oracle databases.
Oracle9i Replication stores local changes and periodically propagates them in batches to consumer servers. The consumer replication servers apply the remote changes to the local directory server and then purge the applied remote changes from their local stores.
Oracle9i Replication environments allow read and update access to directory tables anywhere in the Oracle9i replication group. Typical Oracle9i Replication configurations use row-level replication with asynchronous data propagation.
Oracle9i Replication provides proven network tolerance and its data transfer can be controlled and monitored by Oracle Enterprise Manager. Such manageability allows a high degree of flexibility in how the data transfer is scheduled.
Supplier servers write their changes to change logs, and then regularly send batched directory changes to other consumer servers. Consumer servers receive the change log data, then reproduce the changes locally.
When you configure replication, you specify which nodes in a replication group share changes. Regardless of the number of nodes you introduce into the replication environment, the basic architecture for replication remains the same. Local changes are distributed to remote nodes and applied by replication server processing. To apply the changes on a remote node, the replication server, acting as a client, sends commands to the directory server that implements them.
The rest of this section discusses, in general terms, the replication process, both from the standpoint of the supplier, and from that of the consumer.
The following graphic and its accompanying text explain what happens on the supplier side during the replication process.
The following graphic and its accompanying text explain the replication process on the consumer side.
Although, in the previous figures, the roles of supplier and consumer have been separated, in an actual multimaster replication environment, each directory server is both a supplier and a consumer. In such an environment, purging occurs regularly, removing entries that are already applied and entries that have been dropped as candidate changes. Remote change records in the local Changelog table are purged by the garbage collection thread if they have been applied locally. Local change records in the local Changelog table are purged by the garbage collection thread if they have been distributed to all the consumers.
See Also:
"Managing Replication" for information on configuring replication |
Change log purging takes place in Oracle Internet Directory in two ways:
This is the default method. The replication server purges those changes that have already been applied to all the nodes in a DRG.
You can run this method to augment change number-based purging. To use this additional method, you set a parameter specifying in hours the lifespan of change log objects. For example, you can set this parameter to purge all change log objects that are 24 hours old. Use this method to prevent the change log from becoming too large.
Multimaster replication enables updates to multiple directory servers. Conflicts occur whenever the directory replication server attempts to apply remote changes from a supplier to a consumer and fails for some reason.
The following kinds of LDAP operations can lead to conflicts:
This section contains these topics:
There are two types of conflicts:
An entry-level conflicts is caused when the directory replication server attempts to apply a change to the consumer. Such a change could be one of the following types of changes to the consumer:
These conflicts can be difficult to resolve. For instance, it may be impossible to resolve a conflict because:
If an entry exists and it should not, then it may be because it was added earlier, or that it recently underwent a modifydn operation.
An attribute-level conflict is caused when two directories are updating the same attribute with different values at different times. If the attribute is single-valued, then the replication process resolves the conflict by examining the timestamps of the changes involved in the conflict.
Conflicts usually stem from the timing of changes arising from the occasional slowness or transmission failure over wide-area networks. Also, an earlier inconsistency might continue to cause conflicts if it is not resolved in a timely manner.
The directory replication server attempts to resolve all conflicts that it encounters by following this process:
orclHIQSchedule
parameter in the replication agreement. Before it moves the change, the directory replication server writes the conflict into a log file for the system administrator.
See Also:
This section describes how the automated replication process adds, deletes, and modifies entries, and how it modifies DNs and RDNs. It contains these topics:
When directory replication server successfully adds a new entry to a consumer, it follows this change application process:
If the change entry is not successfully applied on the first try:
The directory replication server places the new change entry in the retry queue, sets the number of retries to the configured maximum, and repeats the change application process.
If the change entry is not successfully applied on all but the last retry:
The directory replication server keeps the change entry in the retry queue, decrements the number of retries, and repeats the change application process.
If the change entry is not successfully applied on the last retry:
The directory replication server checks to see if the new entry is a duplicate of an existing entry.
If the change entry is a duplicate entry:
The directory replication server applies the following conflict resolution rules:
If the change entry is used, then the target entry is removed, the change is applied, and the change entry is placed in the purge queue.
If the target entry is used, then the change entry is placed in the purge queue.
If the change entry is not a duplicate entry:
The directory replication server places the change entry in the human intervention queue, and repeats the change application process at the interval you specified in the orclHIQSchedule
parameter.
If the change entry is not successfully applied after it has been placed in the human intervention queue:
The directory replication server keeps the change in this queue, and repeats the change application process at specified intervals while awaiting action by the administrator. The administrator can use the OID reconciliation tool and the human intervention queue manipulation tool to resolve the conflict.
When the directory replication server deletes an entry from a consumer, it follows this change application process:
If the change entry is not successfully applied on the first try:
The directory replication server places the change entry in the retry queue, sets the number of retries to the configured maximum, and repeats the change application process.
If the change entry is not successfully applied on all but the last retry:
The directory replication server keeps the change entry in the retry queue, decrements the number of retries, and repeats the change application process.
If the change entry is not successfully applied on the last retry:
The directory replication server places the change entry in the human intervention queue and repeats the change application process at specified intervals.
If the change entry is not successfully applied after it has been placed in the human intervention queue:
The directory replication server keeps the change entry in this queue, and repeats the change application process at specified intervals while awaiting action by the administrator. The administrator can use the OID reconciliation tool and the human intervention queue manipulation tool to resolve the conflict.
When the directory replication server modifies an entry in a consumer, it follows this change application process:
If the change entry is not successfully applied on the first try:
The directory replication server places the change entry in the retry queue, sets the number of retries to the configured maximum, and repeats the change application process.
If the change entry is not successfully applied on all but the last retry:
The directory replication server keeps the change entry in the retry queue, decrements the number of retries, and repeats the change application process.
If the change entry is not successfully applied by the last retry:
The directory replication server places the change entry in the human intervention queue and repeats the change application process at specified intervals.
If the change entry is not successfully applied after it has been placed in the human intervention queue:
The directory replication server keeps the change entry in this queue, and repeats the change application process at specified intervals while awaiting action by the administrator. The administrator can use the OID reconciliation tool and the human intervention queue manipulation tool to resolve the conflict.
When the directory replication server modifies the RDN of an entry in a consumer, it follows this change application process:
If the change entry is not successfully applied on the first try:
The directory replication server places the change entry in the retry queue, sets the number of retries to the configured maximum, and repeats the change application process.
If the change entry is not successfully applied on all but the last retry:
The directory replication server keeps the change entry in the retry queue, decrements the number of retries, and repeats the change application process.
If the change entry is not successfully applied on the last retry:
The directory replication server places the change entry in the human intervention queue and checks to see if it is a duplicate of the target entry.
If the change entry is a duplicate entry:
The directory replication server applies the following conflict resolution rules:
If the change entry is used, then the target entry is removed, the change entry is applied, and then placed in the purge queue.
If the target entry is used, then the change entry is placed in the purge queue.
If the change entry is not a duplicate entry:
The directory replication server places the change entry in the human intervention queue, and repeats the change application process at specified intervals.
If the change entry is not successfully applied after it has been placed in the human intervention queue:
The directory replication server keeps the change entry in this queue, and repeats the change application process at specified intervals while awaiting action by the administrator. The administrator can use the OID reconciliation tool and the human intervention queue manipulation tool to resolve the conflict.
When the directory replication server modifies the DN of an entry in a consumer, it follows this change application process:
The directory replication server also looks in the consumer for the parent DN with a GUID that matches the GUID of the new parent specified in the change entry.
If the change entry is not successfully applied on the first try:
The directory replication server places the change entry in the retry queue, sets the number of retries to the configured maximum, and repeats the change application process.
If the change entry is not successfully applied on all but the last retry:
The directory replication server keeps the change entry in the retry queue, decrements the number of retries, and repeats the change application process.
If the change entry is not successfully applied by the last retry:
The directory replication server places the change entry in the human intervention queue and checks to see if it is a duplicate of the target entry.
If the change entry is a duplicate entry:
The directory replication server applies the following conflict resolution rules:
If the change entry is used, then the target entry is removed, the change entry is applied, and then placed in the purge queue.
If the target entry is used, then the change entry is placed in the purge queue.
If the change entry is not a duplicate entry:
The directory replication server places the change entry in the human intervention queue, and repeats the change application process at specified intervals.
If the change entry is not successfully applied after it has been placed in the human intervention queue:
The directory replication server keeps the change entry in this queue, and repeats the change application process at specified intervals while awaiting action by the administrator. The administrator can use the OID reconciliation tool and the human intervention queue manipulation tool to resolve the conflict.
|
Copyright © 1999, 2002 Oracle Corporation. All Rights Reserved. |
|