| |
 |
|
Oracle Replication Conflict Resolution
Oracle Tips by Burleson Consulting |
Oracle
replication (multimaster and Streams) offers manual conflict
resolution mechanisms.
Establishing conflict resolution is a process of
defining rules for Oracle to apply when a
conflict is detected. If the conflict is
resolved, the transaction does not end up in the
deferred error column group that the resolution
method applies to.
You can have multiple column groups on a table
and define a priority for each group. A column
group can consist of all the columns in the
table or any subset of those columns. Once you
have created a column group, you can assign one
or more conflict resolution methods to it.
Oracle has defined a number of standard conflict
resolution methods that will usually meet your
needs. The following table provides a list of
the different conflict resolution methods Oracle
makes available:
|
METHOD NAME |
DESCRIPTION |
|
Latest Timestamp
Value |
With the latest
timestamp value method, you define a
column that contains a date data type to
use in comparing multiple transactions.
|
|
|
|
|
Earliest
Timestamp Value |
This is the
opposite of the above method. The
method is available but rarely used. |
|
Minimum
Value, Maximum Value |
When a
column group has a conflict between two
transactions, the minimum value method
evaluates the current and new values of
a defined column and selects the lower
(or higher for maximum) values to
determine if the new columns are
applied. |
|
Group
Priority Value |
In this
case, column groups are assigned a
priority and conflicts are adjudicated
to the highest priority group. |
|
Site
Priority Value |
In this
instance, sites are assigned a
priority. When two transactions
conflict, the transaction from the
master site with the highest priority
will be applied. This is actually a
special case of the Group Priority Value
method above. |
|
Conflict Resolution never performs a rollback of
a transaction. Since all master sites will
contain the same resolution methods, each site
should apply the same transactions. If
transaction A overwrites transaction B, the site
that originally creates transaction B will
eventually overwrite it with transaction A.
|
 |
For more details, see my new book "Oracle
Tuning: The Definitive Reference".
You can buy it direct from the publisher for 30%-off and get
instant access to the code depot of Oracle tuning scripts. |
|